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.
Activation de la fédération SAML avec Gestion des identités et des accès AWS
OpenSearch L'interface utilisateur prend en charge le langage SAML (Security Assertion Markup Language 2.0), une norme ouverte utilisée par de nombreux fournisseurs d'identité. Cela permet la fédération d'identité avec Gestion des identités et des accès AWS (IAM). Grâce à cette prise en charge, les utilisateurs de votre compte ou de votre organisation peuvent accéder directement à l' OpenSearch interface utilisateur en assumant des rôles IAM. Vous pouvez créer une expérience d'authentification unique initiée par le fournisseur d'identité (IdP) pour vos utilisateurs finaux, leur permettant de s'authentifier auprès du fournisseur d'identité externe et d'être redirigés directement vers la page que vous avez définie dans l'interface utilisateur. OpenSearch Vous pouvez également mettre en œuvre un contrôle d'accès précis en configurant vos utilisateurs finaux ou vos groupes pour qu'ils assument différents rôles IAM avec des autorisations différentes pour accéder à l' OpenSearch interface utilisateur et aux sources de données associées.
Cette rubrique présente des instructions détaillées pour configurer l'utilisation de SAML avec l' OpenSearch interface utilisateur. Dans ces procédures, nous utilisons les étapes de configuration de l'application de gestion des identités et des accès Okta à titre d'exemple. Les étapes de configuration pour les autres fournisseurs d'identité, tels qu'Azure Active Directory et Ping, sont similaires.
Note
Si vous utilisez AWS IAM Identity Center, il n'est pas nécessaire de configurer la fédération SAML comme décrit dans cette rubrique. OpenSearch L'interface utilisateur prend en charge IAM Identity Center de manière native, ce qui fournit un accès SSO sans configuration SAML supplémentaire. IAM Identity Center prend également en charge la gestion des utilisateurs et des groupes au niveau de l'organisation. L'intégration SAML décrite ici est destinée aux fournisseurs d'identité tiers (tels qu'Okta, Azure Active Directory et Ping) qui ne sont pas IAM Identity Center.
Rubriques
Étape 1 : configurer l'application du fournisseur d'identité (Okta)
Pour utiliser SAML avec OpenSearch interface utilisateur, la première étape consiste à configurer votre fournisseur d'identité.
Tâche 1 : Création d'utilisateurs Okta
-
Connectez-vous à votre organisation Okta en https://login.okta.com/
tant qu'utilisateur doté de privilèges administratifs. -
Sur la console d'administration, sous Répertoire dans le volet de navigation, choisissez Personnes.
-
Choisissez Add person (Ajouter une personne).
-
Dans le champ Prénom, saisissez le prénom de l'utilisateur.
-
Pour Nom de famille, entrez le nom de famille de l'utilisateur.
-
Dans le champ Nom d'utilisateur, entrez le nom d'utilisateur de l'utilisateur au format e-mail.
-
Choisissez Je vais définir le mot de passe et entrez un mot de passe
-
(Facultatif) Décochez la case L'utilisateur doit changer le mot de passe lors de la première connexion si vous ne souhaitez pas que l'utilisateur change le mot de passe lors de sa première connexion.
-
Choisissez Enregistrer.
Tâche 2 : Création et attribution de groupes
-
Connectez-vous à votre organisation Okta en https://login.okta.com/
tant qu'utilisateur doté de privilèges administratifs. -
Sur la console d'administration, sous Répertoire dans le volet de navigation, choisissez Groupes.
-
Choisissez Add Group (Ajouter un groupe).
-
Entrez un nom de groupe et choisissez Enregistrer.
-
Choisissez le groupe que vous venez de créer, puis choisissez Attribuer des personnes.
-
Choisissez le signe plus (+), puis choisissez OK.
-
(Facultatif) Répétez les étapes 1 à 6 pour ajouter d'autres groupes.
Tâche 3 : Création d'applications Okta
-
Connectez-vous à votre organisation Okta en https://login.okta.com/
tant qu'utilisateur doté de privilèges administratifs. -
Sur la console d'administration, sous Applications dans le volet de navigation, sélectionnez Applications.
-
Choisissez Create App Integration (Créer une intégration d'appli).
-
Choisissez SAML 2.0 comme méthode de connexion, puis choisissez Next.
-
Entrez un nom pour l'intégration de votre application (par exemple,
OpenSearch_UI), puis choisissez Suivant. -
Entrez les valeurs suivantes dans l'application ; vous n'avez pas besoin de modifier les autres valeurs :
-
1. Pour l'URL d'authentification unique, entrez
https://signin.aws.amazon.com/samlpour les AWS régions commerciales ou l'URL spécifique à votre région. -
2. Pour l'URI de l'audience (ID d'entité SP), entrez
urn:amazon:webservices. -
3. Dans le champ Format d'identification du nom, entrez
EmailAddress.
-
-
Choisissez Suivant.
-
Choisissez Je suis un client Okta qui ajoute une application interne, puis choisissez Il s'agit d'une application interne que nous avons créée.
-
Choisissez Finish (Terminer).
-
Choisissez Assignations, puis choisissez Attribuer.
-
Choisissez Attribuer aux groupes, puis sélectionnez Attribuer à côté des groupes que vous souhaitez ajouter.
-
Sélectionnez Exécuté.
Tâche 4 : configurer la configuration avancée d'Okta
Après avoir créé l'application SAML personnalisée, procédez comme suit :
-
Connectez-vous à votre organisation Okta en https://login.okta.com/
tant qu'utilisateur doté de privilèges administratifs. Sur la console de l'administrateur, dans la zone Général, choisissez Modifier dans les paramètres SAML.
-
Choisissez Suivant.
-
Définissez l'état du relais par défaut sur le point de terminaison de l' OpenSearch interface utilisateur, en utilisant le format suivant :
https://.region.console.aws.amazon.com/aos/home?region=region#opensearch/applications/application-id/redirectToDashboardURLVoici un exemple :
https://us-east-2.console.aws.amazon.com/aos/home?region=us-east-2#opensearch/applications/abc123def4567EXAMPLE/redirectToDashboardURL -
Sous Déclarations d'attributs (facultatif), ajoutez les propriétés suivantes :
-
Fournissez le rôle IAM et le fournisseur d'identité dans un format séparé par des virgules à l'aide de l'attribut Role. Vous utiliserez ce même rôle IAM et ce même fournisseur d'identité ultérieurement lors de la AWS configuration.
-
Définissez user.login pour. RoleSessionName Il est utilisé comme identifiant pour les informations d'identification temporaires qui sont émises lorsque le rôle est assumé.
Pour référence :
Nom Format du nom Format Exemple https://aws.amazon.com/SAML/Attributes/RoleNon spécifié
arn:aws:iam::aws-account-id:role/role-name,arn:aws:iam::aws-account-id:saml-provider/provider-namearn:aws:iam::111222333444:role/oktarole,arn:aws:iam::111222333444:saml-provider/oktaidphttps://aws.amazon.com/SAML/Attributes/RoleSessionNameNon spécifié
user.loginuser.login -
-
Après avoir ajouté les propriétés de l'attribut, cliquez sur Suivant, puis sur Terminer.
Le format de vos attributs doit être similaire à celui de l'image suivante. La valeur Default Relay State est l'URL permettant de définir la page de destination pour les utilisateurs finaux de votre compte ou de votre organisation une fois qu'ils ont terminé la validation de l'authentification unique auprès d'Okta. Vous pouvez la définir sur n'importe quelle page de l' OpenSearch interface utilisateur, puis fournir cette URL aux utilisateurs finaux auxquels elle est destinée.
Étape 2 : Configuration AWS configuration pour Okta
Effectuez les tâches suivantes pour configurer votre AWS configuration pour Okta.
Tâche 1 : Collecter les informations d'Okta
Pour cette étape, vous devrez collecter vos informations Okta afin de pouvoir les configurer ultérieurement. AWS
-
Connectez-vous à votre organisation Okta en https://login.okta.com/
tant qu'utilisateur doté de privilèges administratifs. -
Dans l'onglet Connexion, dans le coin inférieur droit de la page, choisissez Afficher les instructions de configuration SAML.
-
Prenez note de la valeur de l' Sign-onURL unique du fournisseur d'identité. Vous pouvez utiliser cette URL lorsque vous vous connectez à un client SQL tiers tel que SQL Workbench/J
. -
Utilisez les métadonnées du fournisseur d'identité dans le bloc 4, puis enregistrez le fichier de métadonnées au format .xml (par exemple,
metadata.xml).
Tâche 2 : créer le fournisseur IAM
Pour créer votre fournisseur IAM, procédez comme suit :
Connectez-vous au Console de gestion AWS et ouvrez la console IAM à https://console.aws.amazon.com/iam/
l'adresse. -
Dans le volet de navigation, sous Gestion des accès, sélectionnez Identity providers.
-
Choisissez Ajouter un fournisseur.
-
Pour Type de fournisseur, sélectionnez SAML.
-
Pour Nom du fournisseur, entrez un nom.
-
Pour le document de métadonnées, choisissez Choisir un fichier et chargez le fichier de métadonnées (.xml) que vous avez téléchargé précédemment.
-
Choisissez Ajouter un fournisseur.
Tâche 3 : Création d'un rôle IAM
Pour créer votre Gestion des identités et des accès AWS rôle, procédez comme suit :
Connectez-vous au Console de gestion AWS et ouvrez la console IAM à https://console.aws.amazon.com/iam/
l'adresse. -
Dans le volet de navigation, sous Gestion des accès, choisissez Rôles.
-
Choisissez Créer un rôle.
-
Pour Type d'entité sécurisée, sélectionnez Fédération SAML 2.0.
-
Pour le fournisseur basé sur SAML 2.0, choisissez le fournisseur d'identité que vous avez créé précédemment.
-
Sélectionnez Autoriser la programmation et l' Console de gestion AWS accès.
-
Note
Sous Sign-in Points de terminaison, sélectionnez sans identifiant unique. Si vous sélectionnez avec des identifiants uniques, la
SAML:audcondition de la politique de confiance ne correspondra pas à l'audience d'assertion SAML, ce qui entraînera uneAccessDeniederreur lorsque les utilisateurs tenteront de se connecter. -
Choisissez Suivant.
-
Dans la liste Politiques d'autorisations, cochez les cases correspondant aux politiques qui accordent des autorisations de OpenSearch service, par exemple une politique AWS gérée AmazonOpenSearchServiceFullAccess.
-
Choisissez Suivant.
-
Dans la zone Révision, pour Nom du rôle, entrez le nom de votre rôle ; par exemple,
oktarole. -
(Facultatif) Dans Description, entrez une brève description de l'objectif du rôle.
-
Choisissez Créer un rôle.
-
Accédez au rôle que vous venez de créer, choisissez l'onglet Relations de confiance, puis choisissez Modifier la politique de confiance.
-
Dans le volet Modifier la déclaration, sous Ajouter des actions pour STS, cochez la case pour TagSession.
-
Choisissez Mettre à jour une politique.
Étape 3 : Création de la politique d'accès à Amazon OpenSearch Service dans IAM
Apprenez à configurer vos rôles IAM pour le contrôle OpenSearch d'accès. Grâce aux rôles IAM, vous pouvez mettre en œuvre un contrôle d'accès précis pour permettre à vos groupes d'utilisateurs Okta d'accéder aux ressources. OpenSearch Cette rubrique présente la configuration basée sur les rôles IAM à l'aide de deux exemples de groupes.
Vous pouvez mapper les rôles de domaine Amazon OpenSearch Service aux rôles IAM à l'aide du mappage des rôles principaux, comme illustré dans l'exemple suivant :
{ "bob-group": { "hosts": [], "users": [], "reserved": false, "hidden": false, "backend_roles": [ "arn:aws:iam::111222333444:role/bob-group" ], "and_backend_roles": [] }, "alice-group": { "hosts": [], "users": [], "reserved": false, "hidden": false, "backend_roles": [ "arn:aws:iam::111222333444:role/alice-group" ], "and_backend_roles": [] } }
Étape 4 : vérification de l' Sign-On expérience unique initiée par le fournisseur d'identité avec SAML
Ouvrez l'URL de Default Relay State pour ouvrir la page d'authentification Okta. Entrez les informations d'identification d'un utilisateur final. Vous êtes automatiquement redirigé vers l' OpenSearch interface utilisateur.
Vous pouvez vérifier vos informations d'identification actuelles en choisissant l'icône utilisateur en bas du panneau de navigation, comme illustré dans l'image suivante :
Vous pouvez également vérifier les autorisations de contrôle d'accès affinées de l'utilisateur en accédant aux outils de développement en bas du panneau de navigation et en exécutant des requêtes dans la console. Voici des exemples de requêtes.
Étape 5 : Configuration du contrôle d'accès affiné basé sur les attributs SAML
Avec Amazon OpenSearch Service, vous pouvez utiliser un contrôle d'accès précis avec SAML pour mapper les utilisateurs et les groupes de votre fournisseur d'identité à des utilisateurs et à des rôles de contrôle d'accès OpenSearch précis de manière dynamique. Vous pouvez étendre ces rôles à des OpenSearch domaines spécifiques et à des collections sans serveur, et définir des autorisations au niveau de l'index et une sécurité au niveau du document.
Note
Pour plus d'informations sur le contrôle d'accès précis, consultez. Fine-grained contrôle d'accès dans Amazon OpenSearch Service
Rubriques
Attributs SAML pour un contrôle d'accès précis
- Clé du sujet
-
Correspond à un attribut utilisateur unique, tel qu'une adresse e-mail ou un nom d'utilisateur, qui identifie l'utilisateur à des fins d'authentification.
- Clé des rôles
-
Cartes vers les attributs de groupe ou de rôle de votre IdP qui déterminent les rôles ou les autorisations d'autorisation.
Tâche 1 : configurer Okta pour un contrôle d'accès précis
Pour configurer Okta pour un contrôle d'accès précis
-
Ajoutez un nouvel attribut pour l' OpenSearch utilisateur principal dans la section Déclarations d'attributs :
-
Nom :
UserName -
Valeur :
${user-email}
Cet attribut est utilisé comme clé d'objet dans la configuration de contrôle d'accès OpenSearch affinée pour l'authentification.
-
-
Ajoutez un attribut de groupe pour les rôles dans la section Déclaration des attributs de groupe :
-
Nom :
groups -
Filtre :
OpenSearch_xxx
Cet attribut est utilisé comme clé de rôle pour mapper les groupes à des rôles de contrôle d'accès OpenSearch précis à des fins d'autorisation.
-
Tâche 2 : configurer SAML dans le domaine OpenSearch
Pour configurer SAML dans un domaine OpenSearch
-
Dans la console AWS de gestion, identifiez le domaine de OpenSearch service pour lequel vous souhaitez activer un contrôle d'accès précis pour les utilisateurs de l' OpenSearch interface utilisateur.
-
Accédez à la page de détails du domaine en question.
-
Sélectionnez l'onglet Configuration de sécurité et cliquez sur Modifier.
-
Développez SAML via IAM Federate.
-
Entrez le
subjectKeyetroleKeyque vous avez défini dans Okta. -
Sélectionnez Enregistrer les modifications.
Vous pouvez également configurer un contrôle d'accès précis à l'aide du. AWS CLI
aws opensearch create-domain \ --domain-name testDomain \ --engine-version OpenSearch_1.3 \ --cluster-config InstanceType=r5.xlarge.search,InstanceCount=1,DedicatedMasterEnabled=false,ZoneAwarenessEnabled=false,WarmEnabled=false \ --access-policies '{"Version": "2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"*"},"Action":"es:*","Resource":"arn:aws:es:us-east-1:12345678901:domain/neosaml10/*"}]}' \ --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \ --node-to-node-encryption-options '{"Enabled":true}' \ --encryption-at-rest-options '{"Enabled":true}' \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"********","MasterUserPassword":"********"}, "IAMFederationOptions":{"Enabled": true,"SubjectKey":"TestSubjectKey","RolesKey":"TestRolesKey"}}' \ --ebs-options "EBSEnabled=true,VolumeType=gp2,VolumeSize=300" \ --no-verify-ssl \ --endpoint-url https://es.us-east-1.amazonaws.com \ --region us-east-1
Pour mettre à jour un domaine existant :
aws opensearch update-domain-config \ --domain-name testDomain \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"********","MasterUserPassword":"********"}, "IAMFederationOptions":{"Enabled": true,"SubjectKey":"TestSubjectKey","RolesKey":"TestRolesKey"}}' \ --ebs-options "EBSEnabled=true,VolumeType=gp2,VolumeSize=300" \ --no-verify-ssl \ --endpoint-url https://es.us-east-1.amazonaws.com \ --region us-east-1
Tâche 3 : configurer SAML dans les collections OpenSearch sans serveur
Pour configurer un contrôle SAML-based d'accès précis dans Serverless OpenSearch
-
Ouvrez le Console de gestion AWS et accédez à Amazon OpenSearch Service.
-
Dans le volet de navigation, sous Serverless, choisissez Security, puis Authentication.
-
Dans la section IAM Federation, sélectionnez Modifier.
Vous pouvez contrôler le contrôle d'accès affiné basé sur les attributs SAML à l'aide de cette configuration. La fédération IAM est désactivée par défaut.
-
Sélectionnez Activer la fédération IAM.
-
Entrez les
roleKeyvaleurssubjectKeyet que vous avez définies dans Okta.Pour de plus amples informations, veuillez consulter Attributs SAML pour un contrôle d'accès précis.
-
Cliquez sur Enregistrer.
-
Dans le volet de navigation, sous Serverless, choisissez Politique d'accès aux données.
-
Mettez à jour une politique existante ou créez-en une nouvelle.
-
Développez une règle, choisissez Ajouter des principaux, puis sélectionnez Utilisateurs et groupes IAM Federation.
-
Ajoutez les principaux requis et choisissez Enregistrer.
-
Choisissez Accorder.
-
Selon cette règle, procédez comme suit :
-
Sélectionnez les autorisations que vous souhaitez définir pour les principaux sélectionnés.
-
Spécifiez les collections auxquelles vous souhaitez appliquer les autorisations.
-
Vous pouvez éventuellement définir des autorisations au niveau de l'index.
Note
Vous pouvez créer plusieurs règles pour attribuer différentes autorisations à différents groupes de directeurs.
-
-
Lorsque vous avez terminé, choisissez Save (Sauvegarder).
-
Choisissez Créer.
Vous pouvez également utiliser l'interface de ligne de commande pour créer les configurations de sécurité pour les collections, comme indiqué ci-dessous :
aws opensearchserverless create-security-config --region "region" --type iamfederation --name "configuration_name" --description "description" --iam-federation-options '{"groupAttribute":"GroupKey","userAttribute":"UserKey"}'