Authentification SAML dans la recherche avec OpenSearch

Découvrez comment utiliser la recherche OCI pour l'authentification SAML avec OpenSearch.

La fonction de recherche OCI avec OpenSearch prend en charge l'utilisation d'un fournisseur d'identités pour l'accès et le contrôle aux grappes OpenSearch et aux tableaux de bord OpenSearch. Cette fonction est disponible au moyen de la prise en charge de l'authentification unique SAML dans le plugiciel de sécurité OpenSearch.

Avec l'intégration SAML, vous pouvez configurer une grappe afin qu'OCI OpenSearch, en tant que fournisseur de services SAML, se connecte à votre fournisseur d'identités pour authentifier les utilisateurs et renvoyer un jeton d'authentification à OCI OpenSearch pour l'accès aux grappes OpenSearch et aux tableaux de bord OpenSearch. Vous pouvez également configurer le tableau de bord OpenSearch pour que les utilisateurs soient redirigés vers la page de connexion du fournisseur d'identités aux fins d'authentification lors de l'accès au tableau de bord OpenSearch.

Le tableau suivant décrit les paramètres de configuration SAML applicables à la recherche avec OpenSearch.

Configuration SAML Description Nom du champ ou de l'attribut
Métadonnées SAML Fichier de métadonnées décrivant les capacités et la configuration du fournisseur d'identités. Obligatoire.
  • Console : Contenu des métadonnées
  • Interface de ligne de commande : idp-metadata-content
  • API : idpMetadataContent
ID identité Nom du fournisseur d'identités. Obligatoire.
  • Console : ID identité
  • Interface de ligne de commande : ipd-identity-id
  • API : ipdIdentityId
URL du tableau de bord OpenSearch URL du tableau de bord OpenSearch de la grappe. Facultative.
  • Console : URL du tableau de bord
  • Interface de ligne de commande : opendashboard-url
  • API : opendashboardUrl
Rôle d'administrateur de serveurs dorsaux Rôle dorsal du fournisseur d'identités pour les utilisateurs disposant d'autorisations d'administrateur complètes pour la grappe. Facultative.
  • Console : Rôle d'administrateur de serveurs dorsaux
  • Interface de ligne de commande : admin-backend-role
  • API : adminBackendRole
Clé d'objet Si le fournisseur d'identités utilise le nom d'élément par défaut pour les utilisateurs, NameID, vous n'avez rien à spécifier ici. Sinon, utilisez cet élément pour spécifier l'élément dans la réponse SAML qui contient les utilisateurs. Facultative.
  • Console : Clé d'objet
  • Interface de ligne de commande : clé d'objet
  • API : subjectKey
Clé de rôles Si vous utilisez des rôles dorsaux, cela spécifie le nom de l'élément dans la réponse SAML qui contient les rôles d'utilisateur. Facultatif
  • Console : Clé de rôles
  • Interface de ligne de commande : clé de rôle
  • API : rolesKey

Limites et points à considérer

  • La recherche avec OpenSearch prend uniquement en charge l'activation de l'authentification SAML dans la console pour les grappes existantes. Vous ne pouvez pas activer l'authentification SAML lorsque vous créez une grappe dans la console. Vous pouvez activer l'authentification SAML lors de la création d'une grappe OpenSearch à l'aide de l'interface de ligne de commande ou de l'API.
  • Lorsque vous créez une grappe et activez l'authentification SAML à l'aide de l'interface de ligne de commande ou de l'API, vous devez également activer le contrôle d'accès basé sur le rôle pour la grappe, le mode de sécurité étant réglé à Application.

Préalables

  • Fournisseur d'identités existant.
  • Pour la console uniquement, une grappe OpenSearch existante doit être créée.
  • Vous ne pouvez activer SAML que pour une grappe existante dans la console.

    1. Dans la page de liste Grappes, recherchez la grappe OpenSearch avec laquelle vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou la grappe, voir Liste des grappes OpenSearch.
    2. Dans la liste Grappes, cliquez sur le nom de la grappe pour laquelle vous voulez activer SAML.
    3. Dans la page des détails de la grappe, cliquez sur Actions supplémentaires, puis sélectionnez Ajouter une authentification SAML.
    4. Dans le champ Contenu des métadonnées, collez le contenu du fichier de métadonnées SAML pour le fournisseur d'identités.
      Le fichier de métadonnées SAML décrit les capacités et la configuration du fournisseur d'identités. Cela inclut le certificat du fournisseur d'identités.
    5. Spécifiez le nom du fournisseur d'identités dans ID identité.
    6. Vous pouvez éventuellement spécifier les détails de configuration suivants :
      • URL du tableau de bord : URL OpenSearch.Dashboard de la grappe.
      • Rôle dorsal d'administrateur : Rôle dorsal dans le fournisseur d'identités pour les utilisateurs disposant des privilèges d'administrateur pour la grappe OpenSearch.
      • Clé des rôles : Spécifie l'attribut dans la réponse SAML qui contient les rôles d'utilisateur.
      • Clé d'objet : Spécifie l'attribut dans la réponse SAML qui contient les utilisateurs.
    7. Sélectionnez Enregistrer les modifications.
  • Pour des informations sur l'utilisation de l'interface de ligne de commande, voir Interface de ligne de commande. Pour la liste complète des indicateurs et options disponibles pour les commandes de l'interface de ligne de commande, voir Informations de référence sur les commandes de l'interface de ligne de commande.

    Activer SAML lors de la création d'une grappe

    Vous pouvez activer l'authentification SAML lorsque vous utilisez la commande create de l'objet cluster dans l'interface de ligne de commande pour créer une grappe. En plus des paramètres requis pour la commande create, vous devez inclure les paramètres suivants :

    • Paramètres de contrôle d'accès basé sur les rôles, notamment security-mode, security-master-user-name et security-master-user-password-hash. Le paramètre security-mode doit être réglé à ENFORCING.
    • Paramètre securitySamlConfig qui contient la configuration SAML. Voici un exemple JSON avec configuration SAML pour ce paramètre :
      {
          "isEnabled": true,
          "idpEntityId": "<identity_provider_name>",
          "idpMetadataContent": "xml content"
          "opendashboardUrl": "https://localhost:5601",
          "adminBackendRole": "<admin_role_name>",
          "subjectKey": "<NameID>",
          "rolesKey": "<group_name>"
          }

      Alors que l'exemple précédent inclut tous les champs de configuration SAML disponibles, seuls les champs isEnabled, idpEntityId et idpMetadataContent sont requis.

    Exemple de commande create :

    oci opensearch cluster create --compartment-id <compartment_ocid> --securitySamlConfig <SAML_Config_JSON> --security-mode ENFORCING --security-master-user-name <username> --security-master-user-password-hash <password> ...remaining required fields
                            

    Activation de SAML lors de la mise à jour d'une grappe

    Vous pouvez activer l'authentification SAML pour une grappe existante lorsque vous utilisez la commande update pour l'objet de grappe dans l'interface de ligne de commande afin de mettre à jour une grappe. Vous devez inclure le paramètre securitySamlConfig dans la commande de mise à jour. Voir le fichier JSON de configuration SAML dans la section précédente pour un exemple de ce que vous devez spécifier pour ce paramètre.

    Exemple de commande update :

    oci opensearch cluster update --display-name<cluster_name> --opensearch-cluster-id <cluster_ocid --securitySamlConfig <SAML_Config_JSON>
                            

    Si le contrôle d'accès basé sur les rôles n'est pas activé pour la grappe, vous devez l'activer en incluant également les paramètres security-mode, security-master-user-name et security-master-user-password-hash. Le paramètre security-mode doit être réglé à ENFORCING.

  • Pour plus d'informations sur l'utilisation de l'API et sur les demandes de signature, voir API REST et Données d'identification de sécurité. Pour plus d'informations sur les trousses SDK, voir Trousses SDK et interface de ligne de commande.

    Activer SAML lors de la création d'une grappe

    Vous pouvez activer l'authentification SAML lorsque vous utilisez l'opération CreateOpensearchCluster pour créer une grappe. Transmettez les détails de la configuration SAML dans CreateOpensearchClusterDetails, à l'aide du nouvel attribut securitySamlConfig, comme illustré dans l'exemple suivant :

    POST https://opensearch.us-ashburn-1.oci.oraclecloud.com/20180828/opensearchClusters/
    {
      ...
      "securitySamlConfig": {
        "isEnabled": true,
        "idpEntityId": "<identity_provider_name>",
        "idpMetadataContent": "xml content"
        "opendashboardUrl": "https://localhost:5601",
        "adminBackendRole": "<admin_role_name>",
        "subjectKey": "<NameID>",
        "rolesKey": "<group_name>"
      },
      ...
    }

    Activation de SAML lors de la mise à jour d'une grappe

    Vous pouvez activer l'authentification SAML pour une grappe existante lorsque vous utilisez l'opération UpdateOpensearchCluster pour mettre à jour une grappe. Transmettez les détails de la configuration SAML dans UpdateOpensearchClusterDetails, à l'aide du nouvel attribut securitySamlConfig, comme illustré dans l'exemple suivant :

    PUT https://opensearch.us-ashburn-1.oci.oraclecloud.com/20180828/opensearchClusters/ocid1.opensearchcluster.oc1.<unique_ID>
    {
      ...
      "securitySamlConfig": {
        "isEnabled": true,
        "idpEntityId": "<identity_provider_name>",
        "idpMetadataContent": "xml content"
        "opendashboardUrl": "https://localhost:5601",
        "adminBackendRole": "<admin_role_name>",
        "subjectKey": "<NameID>",
        "rolesKey": "<group_name>"
      },
      ...
    }