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.
Accès aux données interrégionales aux domaines OpenSearch
Vous pouvez configurer vos applications d' OpenSearch interface utilisateur en une seule Région AWS pour accéder à OpenSearch des domaines dans différents Région AWS s. Cela vous permet de créer des tableaux de bord unifiés qui regroupent les données provenant de OpenSearch domaines répartis sur plusieurs Région AWS domaines au sein d'une même partition. La prise en charge des sources de données entre régions nécessite l'activation d'un contrôle d'accès précis sur le domaine cible. Le contrôle d'accès précis fournit une couche d'autorisation supplémentaire au-delà de la politique d'accès au domaine, vous permettant de contrôler l'accès à des index, documents et champs individuels.
Concepts clés
- Région d'application
-
L' Région AWS endroit où votre application d' OpenSearch interface utilisateur est hébergée.
- Région cible
-
L' Région AWS endroit où réside le OpenSearch domaine. Il peut s'agir de n'importe quelle région de la même partition, que l' OpenSearch interface utilisateur soit disponible ou non dans cette région.
- Rôle multicompte
-
Rôle IAM dans le compte cible utilisé uniquement lors de l'association de sources de données. OpenSearch L'interface utilisateur assume ce rôle lors de l'appel
es:DescribeDomain, qui récupère le point de terminaison du domaine et vérifie que le contrôle d'accès détaillé est activé. Ce rôle n'est requis que lorsque le domaine se trouve dans un compte différent de celui de l'application. Pour de plus amples informations, veuillez consulter Accès aux données entre comptes aux domaines OpenSearch. - Rôle d'application IAM Identity Center
-
Rôle IAM dans le compte d'application utilisé pour accéder au plan de données utilisateur d'IAM Identity Center.
- Régions prises en charge (pour les domaines VPC)
-
Pour les domaines VPC, vous devez autoriser l' Région AWS hébergement de vos applications d' OpenSearch interface utilisateur lorsque vous autorisez le point de terminaison VPC. Cette liste d'autorisation est requise pour que l' OpenSearch interface utilisateur puisse appeler le domaine VPC.
Conditions préalables
Avant de configurer l'accès aux données entre régions, assurez-vous de disposer des éléments suivants :
-
AWS CLI installé et configuré
-
Accès à la fois Compte AWS à la région de l'application et à la région cible
-
OpenSearch domaines pour lesquels le contrôle d'accès détaillé est activé. L'association de sources de données multirégionales n'est prise en charge que pour les domaines pour lesquels le contrôle d'accès détaillé est activé.
-
Pour les scénarios entre comptes : accès à la fois à la source et à la cible Compte AWS
-
Pour les flux IAM Identity Center : une instance d' AWS IAM Identity Center organisation. L'application d' OpenSearch interface utilisateur doit se trouver dans la même région que l'instance IAM Identity Center.
Scénarios
Choisissez le scénario qui correspond à votre méthode d'authentification et à la configuration de votre domaine :
Chaque scénario couvre l'accès interrégional pour un même compte. Pour un accès entre comptes et entre régions, combinez les étapes de ces scénarios avec la configuration des rôles entre comptes décrite dans. Accès aux données entre comptes aux domaines OpenSearch
Scénario 1 : accès d'un utilisateur IAM à un domaine public dans une autre région
Dans ce scénario, vous créez une application d' OpenSearch interface utilisateur dans une région et vous la connectez au OpenSearch domaine public d'une autre région au sein du même compte.
Étape 1 : Création du OpenSearch domaine (région cible)
Créez un OpenSearch domaine dans la région cible avec un contrôle d'accès détaillé activé. Élargissez la politique d'accès à la racine du compte ou à des principaux IAM spécifiques.
aws opensearch create-domain \ --domain-namedomain-name\ --engine-version OpenSearch_2.19 \ --cluster-config InstanceType=m5.large.search,InstanceCount=1 \ --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=100" \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"admin","MasterUserPassword":"master-password"}}' \ --node-to-node-encryption-options '{"Enabled":true}' \ --encryption-at-rest-options '{"Enabled":true}' \ --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::account-id:root"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/domain-name/*"}]}' \ --regiontarget-region
Attendez que le statut du domaine change Active avant de continuer.
Étape 2 : Création de l'application d' OpenSearch interface utilisateur (région de l'application)
Créez l'application dans la région d'application avec la source de données inter-régions. La région est automatiquement extraite de l'ARN de la source de données.
aws opensearch create-application \ --regionapplication-region\ --name "cross-region-iam-app" \ --data-sources '[{ "dataSourceArn":"arn:aws:es:target-region:account-id:domain/domain-name", "dataSourceDescription":"Cross-region domain" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"test-user\"]"}]'
Étape 3 : vérification et accès
Récupérez les détails de l'application pour obtenir l'URL du point de terminaison :
aws opensearch get-application \ --regionapplication-region\ --idapplication-id
-
Accédez à l'URL du point de terminaison de l'application depuis la réponse.
-
Connectez-vous à l'aide des informations d'identification IAM.
-
L'utilisateur IAM signe les demandes de plan de données avec ses propres informations d'identification.
-
La politique d'accès du domaine cible et les mappages des rôles principaux contrôlent les données auxquelles l'utilisateur peut accéder.
Scénario 2 : accès d'un utilisateur du centre d'identité IAM à un domaine public dans une autre région
Dans ce scénario, vous créez une application d' OpenSearch interface utilisateur avec l'authentification IAM Identity Center dans une région et vous la connectez à un OpenSearch domaine public dans une autre région au sein du même compte.
Étape 1 : créer le OpenSearch domaine avec le centre d'identité IAM activé (région cible)
Créez un OpenSearch domaine dans la région cible en activant le contrôle d'accès précis et l'intégration du centre d'identité IAM. Utilisez le --identity-center-options paramètre with IdentityCenterInstanceRegion pour spécifier la région dans laquelle se trouve votre instance IAM Identity Center. Cette région doit être la même que celle où l'application d' OpenSearch interface utilisateur est hébergée.
aws opensearch create-domain \ --domain-namedomain-name\ --engine-version OpenSearch_2.19 \ --cluster-config InstanceType=m5.large.search,InstanceCount=1 \ --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=100" \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"admin","MasterUserPassword":"master-password"}}' \ --node-to-node-encryption-options '{"Enabled":true}' \ --encryption-at-rest-options '{"Enabled":true}' \ --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \ --identity-center-options '{"EnabledAPIAccess":true,"IdentityCenterInstanceARN":"arn:aws:sso:::instance/ssoins-instance-id","IdentityCenterInstanceRegion":"idc-region","RolesKey":"GroupId","SubjectKey":"UserId"}' \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::account-id:role/NeoIdCAppRole"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/domain-name/*"}]}' \ --regiontarget-region
Attendez que le statut du domaine change Active avant de continuer.
Étape 2 : Création du rôle IAM pour l'application IAM Identity Center
Créez un rôle IAM que l' OpenSearch interface utilisateur utilise pour accéder au plan de données utilisateur d'IAM Identity Center.
Pour créer le rôle d'application IAM Identity Center
-
Créez une politique de confiance avec uniquement la
sts:AssumeRoledéclaration. Vous mettrez à jour cette politique pour ajouter lasts:SetContextdéclaration après avoir créé l'application à l'étape suivante.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } -
Créez une politique d'autorisation :
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "arn:aws:es:target-region:account-id:domain/domain-name/*" }] } -
Créez le rôle et associez les politiques :
aws iam create-role \ --role-nameNeoIdCAppRole\ --assume-role-policy-document file://neoidc-trust-policy.jsonaws iam put-role-policy \ --role-nameNeoIdCAppRole\ --policy-nameNeoIdCAppPermissions\ --policy-document file://neoidc-permissions-policy.json
Étape 3 : Création de l'application d' OpenSearch interface utilisateur avec IAM Identity Center (région de l'application)
Note
Assurez-vous que l'instance IAM Identity Center est située dans la même région que la région de l'application d' OpenSearch interface utilisateur.
aws opensearch create-application \ --regionapplication-region\ --name "cross-region-idc-app" \ --iam-identity-center-options '{ "enabled":true, "iamIdentityCenterInstanceArn":"arn:aws:sso:::instance/ssoins-instance-id", "iamRoleForIdentityCenterApplicationArn":"arn:aws:iam::account-id:role/NeoIdCAppRole" }' \ --data-sources '[{ "dataSourceArn":"arn:aws:es:target-region:account-id:domain/domain-name", "dataSourceDescription":"Cross-region domain" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"test-user\"]"}]'
Une fois l'application créée, notez l'ID de l'application SSO indiqué dans la réponse. Mettez ensuite à jour la politique de confiance sur le rôle d'application IAM Identity Center pour ajouter la sts:SetContext déclaration suivante :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:SetContext", "Condition": { "ForAllValues:ArnEquals": { "sts:RequestContextProviders": "arn:aws:iam::account-id:oidc-provider/portal.sso.idc-region.amazonaws.com/apl/application-id" } } } ] }
aws iam update-assume-role-policy \ --role-nameNeoIdCAppRole\ --policy-document file://updated-trust-policy.json
Étape 4 : créer et attribuer des utilisateurs et des groupes IAM Identity Center
Création d'un utilisateur IAM Identity Center
Exécutez la commande suivante. Remplacez les placeholder
values par vos propres informations.
aws identitystore create-user \ --identity-store-idd-directory-id\ --user-nameuser-email\ --display-name "display-name" \ --name Formatted=string,FamilyName=last-name,GivenName=first-name\ --emails Value=user-email,Type=work,Primary=true
Créez un groupe IAM Identity Center et ajoutez l'utilisateur
Exécutez les commandes suivantes :
aws identitystore create-group \ --identity-store-idd-directory-id\ --display-name "OpenSearchUsers" \ --description "Users with OpenSearch access" aws identitystore create-group-membership \ --identity-store-idd-directory-id\ --group-idgroup-id\ --member-id UserId=user-id
Affecter l'utilisateur ou le groupe à l'application
Exécutez la commande suivante :
aws sso-admin create-application-assignment \ --application-arn "arn:aws:sso::account-id:application/ssoins-instance-id/apl-application-id" \ --principal-iduser-id-or-group-id\ --principal-typeUSER
Configurer le mappage des rôles principaux sur le domaine cible
Associez le groupe IAM Identity Center à un rôle OpenSearch de sécurité sur le domaine cible :
curl -XPATCH "https://domain-endpoint/_plugins/_security/api/rolesmapping/all_access" \ -uadmin:master-password\ -H 'Content-Type: application/json' \ -d '[{"op": "add", "path": "/backend_roles", "value": ["group-id"]}]'
Étape 5 : vérification et accès
Récupérez les détails de l'application pour obtenir l'URL du point de terminaison :
aws opensearch get-application \ --regionapplication-region\ --idapplication-id
-
Accédez à l'URL du point de terminaison de l'application.
-
Connectez-vous à l'aide des informations d'identification utilisateur d'IAM Identity Center.
-
Les demandes de données des utilisateurs d'IAM Identity Center sont signées avec le rôle d'application IAM Identity Center.
-
Mappages des rôles principaux sur les autorisations d'accès aux données de contrôle de domaine.
Scénario 3 : utilisateur IAM accédant à un domaine VPC dans une autre région
Dans ce scénario, vous créez une application d' OpenSearch interface utilisateur dans une région et vous la connectez à un OpenSearch domaine VPC dans une autre région au sein du même compte. Les domaines VPC nécessitent une configuration réseau supplémentaire et une autorisation explicite des points de terminaison VPC avec une prise en charge interrégionale.
Étape 1 : configurer le VPC (région cible)
Ignorez cette étape si un VPC existe déjà dans la région cible.
# Create VPC aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --regiontarget-region# Create subnet aws ec2 create-subnet \ --vpc-idvpc-id\ --cidr-block 10.0.1.0/24 \ --availability-zonetarget-regiona \ --regiontarget-region# Create security group aws ec2 create-security-group \ --group-nameopensearch-vpc-sg\ --description "Security group for OpenSearch VPC domain" \ --vpc-idvpc-id\ --regiontarget-region# Allow inbound HTTPS aws ec2 authorize-security-group-ingress \ --group-idsecurity-group-id\ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/16 \ --regiontarget-region
En savoir plus sur la création de domaines VPC.
Étape 2 : Création du domaine VPC (région cible)
aws opensearch create-domain \ --domain-namevpc-domain-name\ --engine-version OpenSearch_2.19 \ --cluster-config InstanceType=m5.large.search,InstanceCount=1 \ --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=100" \ --vpc-options "SubnetIds=subnet-id,SecurityGroupIds=security-group-id" \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"admin","MasterUserPassword":"master-password"}}' \ --node-to-node-encryption-options '{"Enabled":true}' \ --encryption-at-rest-options '{"Enabled":true}' \ --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::account-id:root"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/vpc-domain-name/*"}]}' \ --regiontarget-region
Attendez que le statut du domaine change Active avant de continuer.
Étape 3 : Autoriser le point de terminaison VPC pour le principal du service d' OpenSearch interface utilisateur avec support interrégional (région cible)
# Authorize the service principal with cross-region support aws opensearch authorize-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --service-options '{"SupportedRegions":["target-region","application-region"]}' \ --regiontarget-region# Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-namevpc-domain-name\ --regiontarget-region
Réponse attendue :
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com", "ServiceOptions": { "SupportedRegions": ["target-region", "application-region"] } } ] }
Étape 4 : Création de l'application d' OpenSearch interface utilisateur (région de l'application)
aws opensearch create-application \ --regionapplication-region\ --name "cross-region-vpc-iam-app" \ --data-sources '[{ "dataSourceArn":"arn:aws:es:target-region:account-id:domain/vpc-domain-name", "dataSourceDescription":"Cross-region VPC domain" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"test-user\"]"}]'
Étape 5 : vérification et accès
Récupérez les détails de l'application pour obtenir l'URL du point de terminaison :
aws opensearch get-application \ --regionapplication-region\ --idapplication-id
-
Accédez à l'URL du point de terminaison de l'application depuis la réponse.
-
Connectez-vous à l'aide des informations d'identification IAM.
-
L'utilisateur IAM signe les demandes de plan de données avec ses propres informations d'identification.
-
La politique d'accès du domaine cible et les mappages des rôles principaux contrôlent les données auxquelles l'utilisateur peut accéder.
Scénario 4 : un utilisateur du centre d'identité IAM accède à un domaine VPC dans une autre région
Dans ce scénario, vous créez une application d' OpenSearch interface utilisateur avec authentification IAM Identity Center dans une région et vous la connectez à un domaine OpenSearch VPC d'une autre région au sein du même compte.
Étape 1 : configurer le VPC (région cible)
Ignorez cette étape si un VPC existe déjà dans la région cible.
# Create VPC aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --regiontarget-region# Create subnet aws ec2 create-subnet \ --vpc-idvpc-id\ --cidr-block 10.0.1.0/24 \ --availability-zonetarget-regiona \ --regiontarget-region# Create security group aws ec2 create-security-group \ --group-nameopensearch-vpc-sg\ --description "Security group for OpenSearch VPC domain" \ --vpc-idvpc-id\ --regiontarget-region# Allow inbound HTTPS aws ec2 authorize-security-group-ingress \ --group-idsecurity-group-id\ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/16 \ --regiontarget-region
En savoir plus sur la création de domaines VPC.
Étape 2 : créer le domaine VPC avec IAM Identity Center activé (région cible)
Créez un OpenSearch domaine dans la région cible avec un contrôle d'accès précis, l'intégration du centre d'identité IAM et la configuration VPC activés. Mettez à jour la politique d'accès pour autoriser le rôle d'application IAM Identity Center et ajoutez le --identity-center-options paramètre :
aws opensearch create-domain \ --domain-namevpc-domain-name\ --engine-version OpenSearch_2.19 \ --cluster-config InstanceType=m5.large.search,InstanceCount=1 \ --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=100" \ --vpc-options "SubnetIds=subnet-id,SecurityGroupIds=security-group-id" \ --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"admin","MasterUserPassword":"master-password"}}' \ --node-to-node-encryption-options '{"Enabled":true}' \ --encryption-at-rest-options '{"Enabled":true}' \ --domain-endpoint-options '{"EnforceHTTPS":true,"TLSSecurityPolicy":"Policy-Min-TLS-1-2-2019-07"}' \ --identity-center-options '{"EnabledAPIAccess":true,"IdentityCenterInstanceARN":"arn:aws:sso:::instance/ssoins-instance-id","IdentityCenterInstanceRegion":"idc-region","RolesKey":"GroupId","SubjectKey":"UserId"}' \ --access-policies '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::account-id:role/NeoIdCAppRole"},"Action":"es:ESHttp*","Resource":"arn:aws:es:target-region:account-id:domain/vpc-domain-name/*"}]}' \ --regiontarget-region
Attendez que le statut du domaine change Active avant de continuer.
Étape 3 : Autoriser le point de terminaison VPC pour le principal du service d' OpenSearch interface utilisateur avec support interrégional (région cible)
Important
Il s'agit d'une étape critique propre aux domaines VPC dotés d'un accès interrégional. Le service d' OpenSearch interface utilisateur doit être explicitement autorisé à accéder au point de terminaison VPC, et vous devez inclure la région de l'application dans la SupportedRegions liste.
# Authorize the service principal with cross-region support aws opensearch authorize-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --service-options '{"SupportedRegions":["target-region","application-region"]}' \ --regiontarget-region# Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-namevpc-domain-name\ --regiontarget-region
Réponse attendue :
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com", "ServiceOptions": { "SupportedRegions": ["target-region", "application-region"] } } ] }
Étape 4 : Création du rôle IAM pour l'application IAM Identity Center
Créez un rôle IAM que l' OpenSearch interface utilisateur utilise pour accéder au plan de données utilisateur d'IAM Identity Center.
Pour créer le rôle d'application IAM Identity Center
-
Créez une politique de confiance avec uniquement la
sts:AssumeRoledéclaration. Vous mettrez à jour cette politique pour ajouter lasts:SetContextdéclaration après avoir créé l'application à l'étape suivante.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } -
Créez une politique d'autorisation :
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "arn:aws:es:target-region:account-id:domain/vpc-domain-name/*" }] } -
Créez le rôle et associez les politiques :
aws iam create-role \ --role-nameNeoIdCAppRole\ --assume-role-policy-document file://neoidc-trust-policy.jsonaws iam put-role-policy \ --role-nameNeoIdCAppRole\ --policy-nameNeoIdCAppPermissions\ --policy-document file://neoidc-permissions-policy.json
Étape 5 : Création de l'application d' OpenSearch interface utilisateur avec IAM Identity Center (région de l'application)
aws opensearch create-application \ --regionapplication-region\ --name "cross-region-vpc-idc-app" \ --iam-identity-center-options '{ "enabled":true, "iamIdentityCenterInstanceArn":"arn:aws:sso:::instance/ssoins-instance-id", "iamRoleForIdentityCenterApplicationArn":"arn:aws:iam::account-id:role/NeoIdCAppRole" }' \ --data-sources '[{ "dataSourceArn":"arn:aws:es:target-region:account-id:domain/vpc-domain-name", "dataSourceDescription":"Cross-region VPC domain" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"test-user\"]"}]'
Une fois l'application créée, notez l'ID de l'application SSO indiqué dans la réponse. Mettez ensuite à jour la politique de confiance sur le rôle d'application IAM Identity Center pour ajouter la sts:SetContext déclaration suivante :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "application.opensearchservice.amazonaws.com" }, "Action": "sts:SetContext", "Condition": { "ForAllValues:ArnEquals": { "sts:RequestContextProviders": "arn:aws:iam::account-id:oidc-provider/portal.sso.idc-region.amazonaws.com/apl/application-id" } } } ] }
aws iam update-assume-role-policy \ --role-nameNeoIdCAppRole\ --policy-document file://updated-trust-policy.json
Étape 6 : créer et attribuer des utilisateurs et des groupes IAM Identity Center
Suivez les mêmes étapes que Étape 4 : créer et attribuer des utilisateurs et des groupes IAM Identity Center pour créer des utilisateurs et des groupes, les affecter à l'application et configurer le mappage des rôles principaux sur le domaine cible.
Étape 7 : Vérification et accès
Récupérez les détails de l'application pour obtenir l'URL du point de terminaison :
aws opensearch get-application \ --regionapplication-region\ --idapplication-id
-
Accédez à l'URL du point de terminaison de l'application.
-
Connectez-vous à l'aide des informations d'identification utilisateur d'IAM Identity Center.
-
Les demandes de données des utilisateurs d'IAM Identity Center sont signées avec le rôle d'application IAM Identity Center.
-
Mappages des rôles principaux sur les autorisations d'accès aux données de contrôle de domaine.
Gestion des applications
Mettre à jour une application avec des sources de données interrégionales
Exécutez la commande suivante. Remplacez les placeholder
values par vos propres informations.
aws opensearch update-application \ --regionapplication-region\ --idapplication-id\ --data-sources '[{ "dataSourceArn":"arn:aws:es:target-region-1:account-id:domain/domain-1", "dataSourceDescription":"Domain in target Region 1" },{ "dataSourceArn":"arn:aws:es:target-region-2:account-id:domain/domain-2", "dataSourceDescription":"Domain in target Region 2" }]'
Important
L'opération de mise à jour remplace l'ensemble du tableau de sources de données. Incluez toutes les sources de données que vous souhaitez conserver.
Lister les applications
Exécutez la commande suivante :
aws opensearch list-applications \ --regionapplication-region
Supprimer une application
Exécutez la commande suivante :
aws opensearch delete-application \ --regionapplication-region\ --idapplication-id
Révoquer l'accès aux points de terminaison VPC pour des régions spécifiques
Pour révoquer l'accès entre régions pour des zones spécifiques Région AWS tout en conservant d'autres, utilisez le --service-options paramètre avec les régions pour révoquer :
aws opensearch revoke-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --service-options '{"SupportedRegions":["region-to-revoke"]}' \ --regiontarget-region
Référence rapide
Les tableaux suivants résument les principales différences entre les types de domaines, les méthodes d'authentification et l'accès entre régions et entre régions.
| Aspect | Domaine public | Domaine VPC |
|---|---|---|
| Autorisation du point de terminaison VPC | Facultatif | Obligatoire — doit être autorisé application.opensearchservice.amazonaws.com avec SupportedRegions |
| Configuration du réseau | Aucune | VPC, sous-réseau, groupe de sécurité avec HTTPS (443) entrant |
| Politique d'accès IAM | Obligatoire | Obligatoire |
| Aspect | Utilisateur IAM | Utilisateur du centre d'identité IAM |
|---|---|---|
| Informations d'identification du plan de données | Informations d'identification IAM propres à l'utilisateur | Rôle d'application IAM Identity Center |
| Contrôle d’accès | Politique d'accès au domaine et mappage des rôles principaux | Politique d'accès au domaine et mappage des rôles principaux |
| Contrainte de région d'application | N'importe quelle région | Doit se trouver dans la même région que l'instance IAM Identity Center |
| Configuration de domaine | Standard | Nécessite --identity-center-options avec IdentityCenterInstanceRegion |
| Configuration supplémentaire | Aucune | Rôle de l'application IAM Identity Center, user/group création, attribution des applications, mappage des rôles principaux |
| Aspect | Même région | Interrégional |
|---|---|---|
| ARN de la source de données | Même région que l'application | Région différente de celle de l'application (même partition) |
| Autorisation du point de terminaison VPC | Omettre --service-options |
Inclure --service-options avec SupportedRegions |
| Configuration du domaine IAM Identity Center | IdentityCenterInstanceRegion facultatif |
IdentityCenterInstanceRegion obligatoire |
| Support pour cloisons croisées | N/A | Non pris en charge : les sources de données doivent se trouver dans la même partition |
Remarques importantes
-
L'association de sources de données entre régions nécessite l'activation d'un contrôle d'accès précis sur le domaine cible.
-
Les sources de données interrégionales doivent se trouver dans la même partition. L'accès entre partitions (par exemple, de
awsàaws-cn) n'est pas pris en charge. -
La région de la source de données est automatiquement extraite de l'ARN de la source de données. Aucun paramètre de région supplémentaire n'est nécessaire dans le
CreateApplicationouUpdateApplicationAPIs. -
Pour les sources de données interrégionales portant sur le même compte, ce
iamRoleForDataSourceArnn'est pas obligatoire. Il n'est nécessaire que pour les sources de données entre comptes. -
Pour les domaines VPC, vous devez inclure la région de l'application dans le
SupportedRegionsparamètre lors de l'appel.AuthorizeVpcEndpointAccessL'omission--service-optionsautorise uniquement l'accès à la même région. -
Pour les flux IAM Identity Center, l'application d' OpenSearch interface utilisateur doit se trouver dans la même région que l'instance IAM Identity Center.
-
Pour les flux IAM Identity Center comportant des domaines interrégionaux, le domaine cible doit être inclus
--identity-center-optionspour permettre l'IdentityCenterInstanceRegionintrospection des jetons entre régions. -
Versions du moteur prises en charge : OpenSearch 1.3 et versions ultérieures.
Résolution des problèmes
| Problème | Résolution |
|---|---|
| La création de l'application échoue avec le message « Impossible d'accéder au domaine » | Vérifiez que le domaine existe dans la région cible et que le contrôle d'accès détaillé est activé. Pour les scénarios multi-comptes, vérifiez que le rôle multi-comptes est es:DescribeDomain autorisé et que la politique de confiance autorise le compte source. |
| L'accès au domaine VPC échoue pour plusieurs régions | Assurez-vous que le point de terminaison VPC est autorisé application.opensearchservice.amazonaws.com avec la région de l'application incluse. SupportedRegions |
| Accès au plan de données refusé à l'utilisateur IAM | Vérifiez que la politique d'accès au domaine cible autorise l'utilisateur IAM ou le principal du rôle, et que les mappages précis des rôles du backend de contrôle d'accès accordent les autorisations appropriées. |
| Accès au plan de données refusé à l'utilisateur d'IAM Identity Center | Vérifiez que le mappage des rôles principaux inclut l'ID de groupe IAM Identity Center, que la politique de domaine autorise le rôle d'application IAM Identity Center et qu'IdentityCenterInstanceRegionil est correctement défini sur la même région que l'application d' OpenSearch interface utilisateur du domaine. |
| Source de données entre partitions rejetée | L'accès entre partitions n'est pas pris en charge. Assurez-vous que l'ARN de la source de données se trouve dans la même partition que l'application. |
| L'authentification IAM Identity Center échoue pour un domaine interrégional | Vérifiez qu'elle IdentityCenterInstanceRegion est définie sur la bonne région dans laquelle votre instance IAM Identity Center est activée. L'application d' OpenSearch interface utilisateur doit également se trouver dans cette même région. |