Authentification SAML dans la recherche avec OpenSearch

Découvrez comment utiliser l'authentification SAML OCI Search avec OpenSearch.

OCI Search avec OpenSearch prend en charge l'utilisation d'un fournisseur d'identités pour l'accès et le contrôle aux clusters OpenSearch et aux tableaux de bord OpenSearch. Cette fonctionnalité est disponible via la prise en charge de l'authentification unique SAML dans le module d'extension de sécurité OpenSearch.

Avec l'intégration SAML, vous pouvez configurer un cluster de sorte qu'OCI OpenSearch, en tant que fournisseur de service SAML, se connecte à votre fournisseur d'identités pour authentifier les utilisateurs et transmettre un jeton d'authentification à OCI OpenSearch pour accéder aux clusters OpenSearch et aux tableaux de bord OpenSearch. Vous pouvez également configurer le tableau de bord OpenSearch afin que les utilisateurs soient redirigés vers la page de connexion du fournisseur d'identités pour 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 de champ ou d'attribut
Métadonnées SAML Fichier de métadonnées décrivant les fonctionnalités et la configuration du fournisseur d'identités. Obligatoire.
  • Console : contenu des métadonnées
  • CLI : idp-metadata-content
  • API : idpMetadataContent
ID d'identité Nom du fournisseur d'identités. Obligatoire.
  • Console : ID d'identité
  • CLI : ipd-identity-id
  • API : ipdIdentityId
OpenSearch URL du tableau de bord URL du tableau de bord OpenSearch du cluster. Facultatif.
  • Console : URL du tableau de bord
  • CLI : opendashboard-url
  • API : opendashboardUrl
Rôle de back-end d'administrateur Rôle de back-end dans le fournisseur d'identités pour les utilisateurs disposant de droits d'accès administrateur complets pour le cluster. Facultatif.
  • Console : rôle de back-end d'administrateur
  • CLI : admin-backend-role
  • API : adminBackendRole
Clé de sujet Si le fournisseur d'identités utilise le nom d'élément par défaut pour les utilisateurs, NameID, vous n'avez rien à indiquer ici. Sinon, utilisez cet élément pour indiquer l'élément dans la réponse SAML qui contient les utilisateurs. Facultatif.
  • Console : clé de sujet
  • CLI : subject-key
  • API : subjectKey
Clé de rôles Si vous utilisez des rôles back-end, cela indique le nom de l'élément dans la réponse SAML qui contient les rôles utilisateur. Facultatif
  • Console : clé des rôles
  • CLI : roles-key
  • API : rolesKey

Limites et remarques

  • La recherche avec OpenSearch prend uniquement en charge l'activation de l'authentification SAML dans la console pour les clusters existants. Vous ne pouvez pas activer l'authentification SAML lorsque vous créez un cluster dans la console. Vous pouvez activer l'authentification SAML lors de la création d'un cluster OpenSearch à l'aide de la CLI ou de l'API.
  • Lorsque vous créez un cluster et activez l'authentification SAML à l'aide de la CLI ou de l'API, vous devez également activer le contrôle d'accès basé sur les rôles pour le cluster, le mode de sécurité étant défini sur Enforcement.

Prérequis

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

    1. Sur la page de liste Clusters, recherchez le cluster avec lequel vous voulez travailler. Si vous avez besoin d'aide pour trouver la page de liste ou le cluster, reportez-vous à Liste des clusters OpenSearch.
    2. Dans la liste Clusters, cliquez sur le nom du cluster pour lequel vous voulez activer SAML.
    3. Sur la page de détails du cluster, 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 fonctionnalités et la configuration du fournisseur d'identités. Cela inclut le certificat du fournisseur d'identités.
    5. Indiquez le nom du fournisseur d'identités dans Identité.
    6. Vous pouvez éventuellement indiquer les détails de configuration suivants :
      • URL du tableau de bord : URL OpenSearch.Dashboard du cluster.
      • Rôle back-end d'administration : rôle back-end dans le fournisseur d'identités pour les utilisateurs disposant de privilèges d'administrateur pour le cluster OpenSearch.
      • Clé de rôles : indique l'attribut dans la réponse SAML qui contient les rôles utilisateur.
      • Clé de l'objet : indique l'attribut dans la réponse SAML qui contient les utilisateurs.
    7. Sélectionnez Enregistrer les modifications.
  • Pour plus d'informations sur l'utilisation de l'interface de ligne de commande, reportez-vous à Interface de ligne de commande (CLI). Afin d'obtenir la liste complète des indicateurs et options disponibles pour ces commandes, reportez-vous à la Référence de commandes de la CLI.

    Activation de SAML lors de la création d'un cluster

    Vous pouvez activer l'authentification SAML lorsque vous utilisez la commande create pour l'objet cluster dans la CLI afin de créer un cluster. Outre les paramètres requis pour la commande de création, vous devez également 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 défini sur ENFORCING.
    • Paramètre securitySamlConfig qui contient la configuration SAML. L'exemple suivant présente un exemple JSON avec la 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'un cluster

    Vous pouvez activer l'authentification SAML pour un cluster existant lorsque vous utilisez la commande update pour l'objet cluster dans la CLI afin de mettre à jour un cluster. Vous devez inclure le paramètre securitySamlConfig dans la commande update. Reportez-vous au fichier JSON de configuration SAML dans la section précédente pour obtenir un exemple des éléments à indiquer 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 le cluster, 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 défini sur ENFORCING.

  • Pour plus d'informations sur l'utilisation de l'API et la signature des demandes, reportez-vous à API REST et à Informations d'identification de sécurité. Pour plus d'informations sur les kits SDK, reportez-vous à Kits SDK et interface de ligne de commande.

    Activation de SAML lors de la création d'un cluster

    Vous pouvez activer l'authentification SAML lorsque vous utilisez l'opération CreateOpensearchCluster pour créer un cluster. Transmettez les détails de configuration SAML dans CreateOpensearchClusterDetails, à l'aide du nouvel attribut securitySamlConfig, comme indiqué 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'un cluster

    Vous pouvez activer l'authentification SAML pour un cluster existant lorsque vous utilisez l'opération UpdateOpensearchCluster pour mettre à jour un cluster. Transmettez les détails de configuration SAML dans UpdateOpensearchClusterDetails, à l'aide du nouvel attribut securitySamlConfig, comme indiqué 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>"
      },
      ...
    }