SAMLauthentification pour Amazon OpenSearch Serverless - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

SAMLauthentification pour Amazon OpenSearch Serverless

Avec SAML l'authentification pour Amazon OpenSearch Serverless, vous pouvez utiliser votre fournisseur d'identité existant pour proposer l'authentification unique (SSO) pour les points de terminaison des OpenSearch tableaux de bord des collections sans serveur.

SAMLL'authentification vous permet d'utiliser des fournisseurs d'identité tiers pour vous connecter aux OpenSearch tableaux de bord afin d'indexer et de rechercher des données. OpenSearch Serverless prend en charge les fournisseurs qui utilisent la norme SAML 2.0, tels qu'IAMIdentity Center, Okta, Keycloak, Active Directory Federation Services (AD FS) et Auth0. Vous pouvez configurer IAM Identity Center pour synchroniser les utilisateurs et les groupes provenant d'autres sources d'identité telles qu'Okta et Microsoft Entra ID. OneLogin Pour obtenir la liste des sources d'identité prises en charge par IAM Identity Center et les étapes à suivre pour les configurer, consultez les didacticiels de mise en route du guide de l'utilisateur d'IAMIdentity Center.

Note

SAMLl'authentification sert uniquement à accéder aux OpenSearch tableaux de bord via un navigateur Web. Les utilisateurs authentifiés peuvent uniquement adresser des demandes aux OpenSearch API opérations via les outils de développement dans les OpenSearch tableaux de bord. Vos SAML informations d'identification ne vous permettent pas de faire des HTTP demandes directes aux OpenSearch API opérations.

Pour configurer SAML l'authentification, vous devez d'abord configurer un fournisseur SAML d'identité (IdP). Vous incluez ensuite un ou plusieurs utilisateurs de cet IdP dans une stratégie d'accès aux données. Cette stratégie lui accorde certaines autorisations d'accès aux collections et/ou aux index. Un utilisateur peut ensuite se connecter aux OpenSearch tableaux de bord et effectuer les actions autorisées dans la politique d'accès aux données.

SAML authentication flow with data access policy, OpenSearch interface, and JSON configuration.

Considérations

Tenez compte des points suivants lors de la configuration de SAML l'authentification :

  • Les requêtes signées et chiffrées ne sont pas prises en charge.

  • Les assertions chiffrées ne sont pas prises en charge.

  • L'authentification et la déconnexion initiées par l'IdP ne sont pas prises en charge.

  • Les politiques de contrôle des services (SCP) ne seront pas applicables ni évaluées en cas de IAM non-identité (comme SAML dans Amazon OpenSearch Serverless SAML et dans les autorisations utilisateur internes de base pour Amazon OpenSearch Service).

Autorisations nécessaires

SAMLl'authentification pour OpenSearch Serverless utilise les éléments suivants AWS Identity and Access Management (IAM) autorisations :

  • aoss:CreateSecurityConfig— Créez un SAML fournisseur.

  • aoss:ListSecurityConfig— SAML Répertoriez tous les fournisseurs du compte courant.

  • aoss:GetSecurityConfig— Afficher les informations du SAML fournisseur.

  • aoss:UpdateSecurityConfig— Modifiez la configuration d'un SAML fournisseur donné, y compris les XML métadonnées.

  • aoss:DeleteSecurityConfig— Supprime un SAML fournisseur.

La stratégie d'accès basée sur l'identité suivante permet à un utilisateur de gérer toutes les configurations IdP :

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:CreateSecurityConfig", "aoss:DeleteSecurityConfig", "aoss:GetSecurityConfig", "aoss:UpdateSecurityConfig", "aoss:ListSecurityConfigs" ], "Effect": "Allow", "Resource": "*" } ] }

Veuillez noter que l'élément Resource doit être un caractère générique.

Création SAML de fournisseurs (console)

Ces étapes expliquent comment créer des SAML fournisseurs. Cela permet SAML l'authentification avec l'authentification initiée par le fournisseur de services (SP) pour les OpenSearch tableaux de bord. L'authentification initiée par l'IdP n'est pas prise en charge.

Pour activer l'SAMLauthentification pour les OpenSearch tableaux de bord
  1. Connectez-vous à la console Amazon OpenSearch Service à la https://console.aws.amazon.com/aos/maison.

  2. Dans le panneau de navigation de gauche, développez Serverless et choisissez SAMLAuthentication.

  3. Choisissez Ajouter un SAML fournisseur.

  4. Saisissez un nom et une description pour le fournisseur.

    Note

    Le nom que vous spécifiez est accessible au public et apparaît dans un menu déroulant lorsque les utilisateurs se connectent à OpenSearch Dashboards. Assurez-vous que le nom est facilement reconnaissable et qu'il ne révèle pas d'informations sensibles sur votre fournisseur d'identité.

  5. Sous Configurer votre IdP, copiez l'assertion consumer service ()ACS. URL

  6. Utilisez celui ACS URL que vous venez de copier pour configurer votre fournisseur d'identité. La terminologie et les étapes varient selon le fournisseur. Consultez la documentation de votre fournisseur.

    Dans Okta, par exemple, vous créez une « application Web SAML 2.0 » et vous la spécifiez ACS URL comme identifiant unique URLURL, destinataire et destination URL. Pour Auth0, vous le spécifiez dans Allowed URLs Callback.

  7. Indiquez la restriction d'audience si votre IdP dispose d'un champ à cet effet. La restriction d'audience est une valeur au sein de l'SAMLassertion qui indique à qui l'assertion est destinée. Pour OpenSearch Serverless, spécifiezaws:opensearch:<aws account id>. Par exemple, aws:opensearch:123456789012.

    Le nom du champ de restriction d'audience varie selon le fournisseur. Pour Okta, il s'agit d'Audience URI (SP Entity ID). Pour IAM Identity Center, il s'agit de l'SAMLaudience des applications.

  8. Si vous utilisez IAM Identity Center, vous devez également spécifier le mappage d'attributs suivant :Subject=${user:name}, avec un format deunspecified.

  9. Une fois votre fournisseur d'identité configuré, il génère un fichier de métadonnées de fournisseur d'identité. Ce XML fichier contient des informations sur le fournisseur, telles qu'un TLS certificat, des points de terminaison d'authentification unique et l'ID d'entité du fournisseur d'identité.

    Copiez le texte dans le fichier de métadonnées IdP et collez-le sous le champ Provide metadata from your IdP (Fournir les métadonnées de votre IdP). Vous pouvez également choisir Importer depuis un XML fichier et charger le fichier. Le fichier de métadonnées doit se présenter comme suit :

    <?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor entityID="entity-id" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:KeyDescriptor use="signing"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate>tls-certificate</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo>s </md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="idp-sso-url"/> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="idp-sso-url"/> </md:IDPSSODescriptor> </md:EntityDescriptor>
  10. Laissez le champ d'attribut d'ID utilisateur personnalisé vide pour utiliser l'NameIDélément de l'SAMLassertion comme nom d'utilisateur. Si votre assertion n'utilise pas cet élément standard et inclut plutôt le nom d'utilisateur comme attribut personnalisé, spécifiez cet attribut ici. Les attributs sont sensibles à la casse. Seul un attribut d'utilisateur unique est pris en charge.

    L'exemple suivant montre un attribut de remplacement pour NameID dans l'SAMLassertion :

    <saml2:Attribute Name="UserId" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">annie</saml2:AttributeValue> </saml2:Attribute>
  11. (Facultatif) Spécifiez un attribut personnalisé dans le champ Group attribute (Attribut de groupe), tel que role ou group. Seul un attribut de groupe unique est pris en charge. Il n'existe aucun attribut de groupe par défaut. Si vous n'en spécifiez pas, vos stratégies d'accès aux données ne peuvent contenir que des principaux d'utilisateur.

    L'exemple suivant montre un attribut de groupe dans l'SAMLassertion :

    <saml2:Attribute Name="department" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">finance</saml2:AttributeValue> </saml2:Attribute>
  12. Par défaut, OpenSearch Dashboards déconnecte les utilisateurs au bout de 24 heures. Vous pouvez configurer cette valeur sur un nombre compris entre 1 et 12 heures (15 et 720 minutes) en spécifiant le délai d'expiration OpenSearch des tableaux de bord. Si vous essayez de régler le délai d'attente égal ou inférieur à 15 minutes, votre session sera réinitialisée à une heure.

  13. Choisissez Créer un SAML fournisseur.

Accès aux OpenSearch tableaux de bord

Après avoir configuré un SAML fournisseur, tous les utilisateurs et groupes associés à ce fournisseur peuvent accéder au point de terminaison OpenSearch Dashboards. Le format des tableaux de bord URL s'applique collection-endpoint/_dashboards/ à toutes les collections.

Si vous l'avez SAML activé, sélectionnez le lien dans le AWS Management Console vous dirige vers la page de sélection de l'IdP, où vous pouvez vous connecter à l'aide de vos SAML informations d'identification. Tout d'abord, utilisez la liste déroulante pour sélectionner un fournisseur d'identité :

OpenSearch login page with dropdown menu for selecting SAML Identity Provider options.

Connectez-vous ensuite à l'aide de vos informations d'identification d'IdP.

Si vous ne l'avez pas SAML activé, sélectionnez le lien dans le AWS Management Console vous invite à vous connecter en tant qu'IAMutilisateur ou en tant que rôle, sans option pourSAML.

Accorder aux SAML identités l'accès aux données de collecte

Après avoir créé un SAML fournisseur, vous devez toujours autoriser les utilisateurs et les groupes sous-jacents à accéder aux données de vos collections. Vous octroyez l'accès par le biais de stratégies d'accès aux données. Tant que vous n'aurez pas octroyé l'accès aux utilisateurs, ils ne pourront pas lire, écrire ou supprimer les données de vos collections.

Pour accorder l'accès, créez une politique d'accès aux données et spécifiez votre SAML utilisateur et/ou votre groupe IDs dans la Principal déclaration :

[ { "Rules":[ ... ], "Principal":[ "saml/987654321098/myprovider/user/Shaheen", "saml/987654321098/myprovider/group/finance" ] } ]

Vous pouvez octroyer l'accès aux collections, aux index ou aux deux. Si vous souhaitez que différents utilisateurs aient des autorisations différentes, créez plusieurs règles. Pour obtenir la liste des autorisations disponibles, veuillez consulter la rubrique Autorisations de stratégie prises en charge. Pour plus d'informations sur le formatage d'une stratégie d'accès, veuillez consulter la rubrique Policy syntax (Syntaxe de stratégie).

Création SAML de fournisseurs (AWS CLI)

Pour créer un SAML fournisseur à l'aide du OpenSearch ServerlessAPI, envoyez une CreateSecurityConfigdemande :

aws opensearchserverless create-security-config \ --name myprovider \ --type saml \ --saml-options file://saml-auth0.json

Spécifiezsaml-options, y compris les métadonnéesXML, sous forme de carte clé-valeur dans un fichier .json. Les métadonnées XML doivent être codées sous forme de chaîne JSON échappée.

{ "sessionTimeout": 70, "groupAttribute": "department", "userAttribute": "userid", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>" }

Affichage des SAML fournisseurs

La ListSecurityConfigsdemande suivante répertorie tous les SAML fournisseurs de votre compte :

aws opensearchserverless list-security-configs --type saml

La demande renvoie des informations sur tous les SAML fournisseurs existants, y compris les métadonnées IdP complètes générées par votre fournisseur d'identité :

{ "securityConfigDetails": [ { "configVersion": "MTY2NDA1MjY4NDQ5M18x", "createdDate": 1664054180858, "description": "Example SAML provider", "id": "saml/123456789012/myprovider", "lastModifiedDate": 1664054180858, "samlOptions": { "groupAttribute": "department", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>", "sessionTimeout": 120, "userAttribute": "userid" } } ] }

Pour consulter les détails d'un fournisseur spécifique, y compris la configVersion des mises à jour futures, envoyez une requête GetSecurityConfig.

Mise à jour SAML des fournisseurs

Pour mettre à jour un SAML fournisseur à l'aide de la console OpenSearch Serverless, choisissez SAMLl'authentification, sélectionnez votre fournisseur d'identité, puis choisissez Modifier. Vous pouvez modifier tous les champs, y compris les métadonnées et les attributs personnalisés.

Pour mettre à jour un fournisseur via le OpenSearch ServerlessAPI, envoyez une UpdateSecurityConfigdemande et incluez l'identifiant de la politique à mettre à jour. Vous devez également inclure une version de configuration, que vous pouvez récupérer à l'aide des commandes ListSecurityConfigs ou GetSecurityConfig. En incluant la version la plus récente, vous vous assurez de ne pas annuler par inadvertance une modification apportée par quelqu'un d'autre.

La demande suivante met à jour les SAML options d'un fournisseur :

aws opensearchserverless update-security-config \ --id saml/123456789012/myprovider \ --type saml \ --saml-options file://saml-auth0.json \ --config-version MTY2NDA1MjY4NDQ5M18x

Spécifiez vos options SAML de configuration sous la forme d'une carte clé-valeur dans un fichier .json.

Important

Les mises à jour SAML des options ne sont pas incrémentielles. Si vous ne spécifiez aucune valeur pour un paramètre de l'objet SAMLOptions lorsque vous effectuez une mise à jour, les valeurs existantes seront remplacées par des valeurs vides. Par exemple, si la configuration actuelle contient une valeur pour userAttribute, puis que vous effectuez une mise à jour sans inclure cette valeur, la valeur est supprimée de la configuration. Assurez-vous de connaître les valeurs existantes avant de procéder à une mise à jour en appelant l'opération GetSecurityConfig.

Supprimer des SAML fournisseurs

Lorsque vous supprimez un SAML fournisseur, les références aux utilisateurs et aux groupes associés dans vos politiques d'accès aux données ne sont plus fonctionnelles. Pour éviter toute confusion, nous vous suggérons de supprimer toutes les références au point de terminaison dans vos stratégies d'accès avant de supprimer le point de terminaison.

Pour supprimer un SAML fournisseur à l'aide de la console OpenSearch Serverless, choisissez Authentification, sélectionnez le fournisseur, puis choisissez Supprimer.

Pour supprimer un fournisseur via le OpenSearch ServerlessAPI, envoyez une DeleteSecurityConfigdemande :

aws opensearchserverless delete-security-config --id saml/123456789012/myprovider