Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accesso ai dati tra account diversi ai domini OpenSearch
Puoi configurare le applicazioni OpenSearch dell'interfaccia utente in un account per accedere ai OpenSearch domini di account diversi. Quando OpenSearch crei un'applicazione UI con fonti di dati tra account diversi, fornisci un elemento iamRoleForDataSourceArn che rimanda a un ruolo IAM nell'account di destinazione. OpenSearch L'interfaccia utente convalida la richiesta assumendo questo ruolo e chiamando es:DescribeDomain per verificare l'accessibilità del dominio. Il ruolo tra account diversi viene utilizzato solo per la convalida del piano di controllo. L'accesso al piano dati è controllato separatamente dalla politica di accesso del dominio di destinazione.
Codice di esempio
Gli esempi di codice in questo argomento sono solo a scopo illustrativo. Dimostrano funzionalità di base e potrebbero non includere la gestione degli errori, le migliori pratiche di sicurezza o le funzionalità pronte per la produzione. Prima di utilizzare il codice di esempio in produzione, esaminatelo e modificatelo per soddisfare i vostri requisiti specifici e testatelo accuratamente nel vostro ambiente.
Concetti chiave
- Account di origine
-
Il Account AWS che ospita la tua applicazione OpenSearch UI.
- Account Target
-
Il Account AWS luogo in cui risiede il OpenSearch dominio.
- Ruolo tra account
-
Un ruolo IAM nell'account di destinazione utilizzato solo per la convalida del piano di controllo. Questo ruolo richiede solo l'
es:DescribeDomainautorizzazione. - Ruolo applicativo IAM Identity Center
-
Un ruolo IAM nell'account di origine utilizzato per l'accesso al piano dati degli utenti di IAM Identity Center.
Prerequisiti
Prima di configurare l'accesso ai dati tra account diversi, assicurati di disporre di quanto segue:
-
AWS CLI installato e configurato
-
Accesso sia ai file di origine che a quelli Account AWS di destinazione
-
Per i flussi di IAM Identity Center: un'istanza AWS IAM Identity Center dell'organizzazione
Scenari
Scegli lo scenario che corrisponde al tuo metodo di autenticazione e alla configurazione del dominio:
Scenario 1: utente IAM che accede a un dominio pubblico
Fase 1: Creare il ruolo IAM per più account (account di destinazione)
Crea un ruolo IAM nell'account di destinazione che consenta all'account di origine di assumerlo per la convalida del dominio.
Per creare il ruolo tra account
-
Crea una politica di fiducia che consenta all'account di origine di assumere il ruolo:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Crea il ruolo:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una politica di autorizzazioni con la sola
es:DescribeDomainazione:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Allega la politica delle autorizzazioni al ruolo:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Fase 2: Creare il OpenSearch dominio (account di destinazione)
Crea un OpenSearch dominio nell'account di destinazione con il controllo granulare degli accessi e la crittografia abilitati:
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":"*"},"Action":"es:ESHttp*","Resource":"arn:aws:es:region:target-account-id:domain/domain-name/*"}]}' \ --regionregion
Attendi che lo stato del dominio diventi Active tale prima di procedere.
Fase 3: Creare l'applicazione OpenSearch UI (account di origine)
Crea l'applicazione nell'account di origine con l'origine dati tra account:
aws opensearch create-application \ --regionregion\ --name "cross-account-iam-app" \ --data-sources '[{ "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-name", "dataSourceDescription":"Cross-account domain", "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
Fase 4: Verifica e accedi
Recupera i dettagli dell'applicazione per ottenere l'URL dell'endpoint:
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Passa all'URL dell'endpoint dell'applicazione dalla risposta.
-
Accedi con le credenziali IAM.
-
L'utente IAM firma le richieste del piano dati con le proprie credenziali.
-
La policy di accesso al dominio di destinazione controlla a quali dati l'utente può accedere.
Scenario 2: utente di IAM Identity Center che accede a un dominio pubblico
Fase 1: Creare il ruolo IAM per più account (account di destinazione)
Crea un ruolo IAM nell'account di destinazione che consenta all'account di origine di assumerlo per la convalida del dominio.
Per creare il ruolo tra account
-
Crea una politica di fiducia che consenta all'account di origine di assumere il ruolo:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Crea il ruolo:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una politica di autorizzazioni con la sola
es:DescribeDomainazione:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Allega la politica delle autorizzazioni al ruolo:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Fase 2: Creare il OpenSearch dominio (account di destinazione)
Crea un OpenSearch dominio nell'account di destinazione. Utilizza lo stesso comandoFase 2: Creare il OpenSearch dominio (account di destinazione), ma aggiorna la policy di accesso per consentire il ruolo dell'applicazione IAM Identity Center dall'account di origine:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:role/NeoIdCAppRole" }, "Action": "es:ESHttp*", "Resource": "arn:aws:es:region:target-account-id:domain/domain-name/*" }] }
Attendi che lo stato del dominio diventi tale Active prima di procedere.
Fase 3: Creare il ruolo IAM per l'applicazione IAM Identity Center (account di origine)
Crea un ruolo IAM nell'account di origine che l' OpenSearch interfaccia utente utilizza per l'accesso al piano dati degli utenti di IAM Identity Center.
Per creare il ruolo applicativo IAM Identity Center
-
Crea una politica di fiducia:
{ "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::source-account-id:oidc-provider/portal.sso.region.amazonaws.com/apl/application-id" } } } ] } -
Crea una politica di autorizzazioni:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] } -
Crea il ruolo e allega le politiche:
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
Fase 4: Creare l'applicazione OpenSearch UI con IAM Identity Center (account di origine)
aws opensearch create-application \ --regionregion\ --name "cross-account-idc-app" \ --iam-identity-center-options '{ "enabled":true, "iamIdentityCenterInstanceArn":"arn:aws:sso:::instance/ssoins-instance-id", "iamRoleForIdentityCenterApplicationArn":"arn:aws:iam::source-account-id:role/NeoIdCAppRole" }' \ --data-sources '[{ "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-name", "dataSourceDescription":"Cross-account domain", "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
Fase 5: Creare e assegnare utenti e gruppi di IAM Identity Center
Crea un utente IAM Identity Center
Eseguire il seguente comando seguente. Sostituisci placeholder
values con le informazioni appropriate.
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
Crea un gruppo IAM Identity Center e aggiungi l'utente
Esegui i comandi seguenti:
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
Assegna l'utente o il gruppo all'applicazione
Esegui il comando seguente:
aws sso-admin create-application-assignment \ --application-arn "arn:aws:sso:::source-account-id:application/ssoins-instance-id/apl-application-id" \ --principal-iduser-id-or-group-id\ --principal-typeUSER
Configura la mappatura dei ruoli di backend sul dominio di destinazione
Mappa il gruppo IAM Identity Center su un ruolo OpenSearch di sicurezza nel dominio di destinazione:
curl -XPUT "https://domain-endpoint/_plugins/_security/api/rolesmapping/all_access" \ -uadmin:master-password\ -H 'Content-Type: application/json' \ -d '{ "backend_roles": ["group-id"], "hosts": [], "users": [] }'
Fase 6: Verifica e accesso
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Vai all'URL dell'endpoint dell'applicazione.
-
Accedi con le credenziali utente di IAM Identity Center.
-
Le richieste di dati degli utenti di IAM Identity Center vengono firmate con il ruolo applicativo IAM Identity Center, non con il ruolo tra account.
-
Le mappature dei ruoli di backend sul dominio controllano le autorizzazioni di accesso ai dati.
Scenario 3: utente IAM che accede a un dominio VPC
Fase 1: Creare il ruolo IAM per più account (account di destinazione)
Crea un ruolo IAM nell'account di destinazione che consenta all'account di origine di assumerlo per la convalida del dominio.
Per creare il ruolo tra account
-
Crea una politica di fiducia che consenta all'account di origine di assumere il ruolo:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Crea il ruolo:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una politica di autorizzazioni con la sola
es:DescribeDomainazione:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Allega la politica delle autorizzazioni al ruolo:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Fase 2: Configurare il VPC (account di destinazione)
Salta questo passaggio se nell'account di destinazione esiste già un VPC.
# Create VPC aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --regionregion# Create subnet aws ec2 create-subnet \ --vpc-idvpc-id\ --cidr-block 10.0.1.0/24 \ --availability-zoneregiona \ --regionregion# Create security group aws ec2 create-security-group \ --group-nameopensearch-vpc-sg\ --description "Security group for OpenSearch VPC domain" \ --vpc-idvpc-id\ --regionregion# Allow inbound HTTPS aws ec2 authorize-security-group-ingress \ --group-idsecurity-group-id\ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/16 \ --regionregion
Scopri di più sulla creazione di domini VPC.
Fase 3: Creare il dominio VPC (account di destinazione)
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":"*"},"Action":"es:ESHttp*","Resource":"arn:aws:es:region:target-account-id:domain/vpc-domain-name/*"}]}' \ --regionregion
Attendi che lo stato del dominio diventi tale Active prima di procedere.
Passaggio 4: autorizzare l'endpoint VPC per il principale OpenSearch del servizio UI (account di destinazione)
Importante
Si tratta di un passaggio fondamentale che riguarda esclusivamente i domini VPC. Il servizio OpenSearch UI deve essere esplicitamente autorizzato ad accedere all'endpoint VPC.
# Authorize the service principal aws opensearch authorize-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --regionregion# Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-namevpc-domain-name\ --regionregion
Risposta prevista:
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }
Fase 5: Creare l'applicazione OpenSearch UI (account di origine)
aws opensearch create-application \ --regionregion\ --name "cross-account-vpc-iam-app" \ --data-sources '[{ "dataSourceArn":"arn:aws:es:region:target-account-id:domain/vpc-domain-name", "dataSourceDescription":"Cross-account VPC domain", "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
Passaggio 6: verifica e accesso
Recupera i dettagli dell'applicazione per ottenere l'URL dell'endpoint:
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Passa all'URL dell'endpoint dell'applicazione dalla risposta.
-
Accedi con le credenziali IAM.
-
L'utente IAM firma le richieste del piano dati con le proprie credenziali.
-
La policy di accesso al dominio di destinazione controlla a quali dati l'utente può accedere.
Scenario 4: utente IAM Identity Center che accede a un dominio VPC
Fase 1: Creare il ruolo IAM per più account (account di destinazione)
Crea un ruolo IAM nell'account di destinazione che consenta all'account di origine di assumerlo per la convalida del dominio.
Per creare il ruolo tra account
-
Crea una politica di fiducia che consenta all'account di origine di assumere il ruolo:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Crea il ruolo:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una politica di autorizzazioni con la sola
es:DescribeDomainazione:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Allega la politica delle autorizzazioni al ruolo:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Fase 2: Configurare il VPC (account di destinazione)
Salta questo passaggio se nell'account di destinazione esiste già un VPC.
# Create VPC aws ec2 create-vpc \ --cidr-block 10.0.0.0/16 \ --regionregion# Create subnet aws ec2 create-subnet \ --vpc-idvpc-id\ --cidr-block 10.0.1.0/24 \ --availability-zoneregiona \ --regionregion# Create security group aws ec2 create-security-group \ --group-nameopensearch-vpc-sg\ --description "Security group for OpenSearch VPC domain" \ --vpc-idvpc-id\ --regionregion# Allow inbound HTTPS aws ec2 authorize-security-group-ingress \ --group-idsecurity-group-id\ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/16 \ --regionregion
Scopri di più sulla creazione di domini VPC.
Fase 3: Creare il dominio VPC (account di destinazione)
Utilizza lo stesso comandoFase 3: Creare il dominio VPC (account di destinazione), ma aggiorna la policy di accesso per consentire il ruolo dell'applicazione IAM Identity Center dall'account di origine:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:role/NeoIdCAppRole" }, "Action": "es:ESHttp*", "Resource": "arn:aws:es:region:target-account-id:domain/vpc-domain-name/*" }] }
Attendi che lo stato del dominio diventi tale Active prima di procedere.
Passaggio 4: autorizzare l'endpoint VPC per il principale OpenSearch del servizio UI (account di destinazione)
Importante
Si tratta di un passaggio fondamentale che riguarda esclusivamente i domini VPC. Il servizio OpenSearch UI deve essere esplicitamente autorizzato ad accedere all'endpoint VPC.
# Authorize the service principal aws opensearch authorize-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --regionregion# Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-namevpc-domain-name\ --regionregion
Risposta prevista:
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }
Fase 5: Creare il ruolo IAM per l'applicazione IAM Identity Center (account di origine)
Crea un ruolo IAM nell'account di origine che l' OpenSearch interfaccia utente utilizza per l'accesso al piano dati degli utenti di IAM Identity Center.
Per creare il ruolo applicativo IAM Identity Center
-
Crea una politica di fiducia:
{ "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::source-account-id:oidc-provider/portal.sso.region.amazonaws.com/apl/application-id" } } } ] } -
Crea una politica di autorizzazioni:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] } -
Crea il ruolo e allega le politiche:
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
Fase 6: Creare l'applicazione OpenSearch UI con IAM Identity Center (account di origine)
aws opensearch create-application \ --regionregion\ --name "cross-account-vpc-idc-app" \ --iam-identity-center-options '{ "enabled":true, "iamIdentityCenterInstanceArn":"arn:aws:sso:::instance/ssoins-instance-id", "iamRoleForIdentityCenterApplicationArn":"arn:aws:iam::source-account-id:role/NeoIdCAppRole" }' \ --data-sources '[{ "dataSourceArn":"arn:aws:es:region:target-account-id:domain/vpc-domain-name", "dataSourceDescription":"Cross-account VPC domain", "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole" }]' \ --app-configs '[{"key":"opensearchDashboards.dashboardAdmin.users","value":"[\"*\"]"}]'
Fase 7: Creare e assegnare utenti e gruppi di IAM Identity Center
Crea un utente IAM Identity Center
Eseguire il seguente comando seguente. Sostituisci placeholder
values con le informazioni appropriate.
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
Crea un gruppo IAM Identity Center e aggiungi l'utente
Esegui i comandi seguenti:
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
Assegna l'utente o il gruppo all'applicazione
Esegui il comando seguente:
aws sso-admin create-application-assignment \ --application-arn "arn:aws:sso:::source-account-id:application/ssoins-instance-id/apl-application-id" \ --principal-iduser-id-or-group-id\ --principal-typeUSER
Configura la mappatura dei ruoli di backend sul dominio di destinazione
Mappa il gruppo IAM Identity Center su un ruolo OpenSearch di sicurezza nel dominio di destinazione:
curl -XPUT "https://domain-endpoint/_plugins/_security/api/rolesmapping/all_access" \ -uadmin:master-password\ -H 'Content-Type: application/json' \ -d '{ "backend_roles": ["group-id"], "hosts": [], "users": [] }'
Fase 8: Verifica e accesso
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Vai all'URL dell'endpoint dell'applicazione.
-
Accedi con le credenziali utente di IAM Identity Center.
-
Le richieste di dati degli utenti di IAM Identity Center vengono firmate con il ruolo applicativo IAM Identity Center, non con il ruolo tra account.
-
Le mappature dei ruoli di backend sul dominio controllano le autorizzazioni di accesso ai dati.
Gestione delle applicazioni
Aggiorna un'applicazione con fonti di dati tra account diversi
Eseguire il seguente comando seguente. Sostituisci placeholder
values con le informazioni appropriate.
aws opensearch update-application \ --regionregion\ --idapplication-id\ --data-sources '[{ "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-1", "dataSourceDescription":"First cross-account domain", "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole" },{ "dataSourceArn":"arn:aws:es:region:target-account-id:domain/domain-2", "dataSourceDescription":"Second cross-account domain", "iamRoleForDataSourceArn":"arn:aws:iam::target-account-id:role/OpenSearchUIAccessRole" }]'
Importante
L'operazione di aggiornamento sostituisce l'intero array di fonti di dati. Includi tutte le fonti di dati che desideri conservare.
Elenca le applicazioni
Esegui il comando seguente:
aws opensearch list-applications \ --regionregion
Eliminazione di un'applicazione
Esegui il comando seguente:
aws opensearch delete-application \ --regionregion\ --idapplication-id
Revoca l'accesso agli endpoint VPC
Esegui il comando seguente:
aws opensearch revoke-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --regionregion
Riferimento rapido
Le tabelle seguenti riassumono le principali differenze tra i tipi di dominio e i metodi di autenticazione.
| Aspetto | Dominio pubblico | Dominio VPC |
|---|---|---|
| Autorizzazione degli endpoint VPC | Campo non obbligatorio | Obbligatoria: deve autorizzare application.opensearchservice.amazonaws.com |
| Configurazione della rete | Nessuno | VPC, sottorete, gruppo di sicurezza con HTTPS (443) in ingresso |
| Politica di accesso IAM | Richiesto | Richiesto |
| Ruolo tra account | Obbligatorio per più account | Obbligatorio per più account |
| Aspetto | Utente IAM | Utente IAM Identity Center |
|---|---|---|
| Credenziali del piano dati | Credenziali IAM proprie dell'utente | Ruolo applicativo IAM Identity Center |
| Controllo accessi | Policy di accesso al dominio | Policy di accesso al dominio e mappatura dei ruoli di backend |
| Configurazione aggiuntiva | Nessuno | Ruolo dell'applicazione IAM Identity Center, user/group creazione, assegnazione delle applicazioni, mappatura dei ruoli di backend |
| OpenSearch Configurazione dell'applicazione UI | Nessuna opzione IAM Identity Center | --iam-identity-center-options obbligatorio |
Note importanti
-
iamRoleForDataSourceArnDeve essere nello stesso account deldataSourceArn. -
iamRoleForDataSourceArnÈ richiesto solo per le fonti di dati tra account diversi. Omettilo per le fonti di dati dello stesso account. -
Il ruolo tra account diversi richiede solo l'autorizzazione.
es:DescribeDomainNon viene mai utilizzato per l'accesso al piano dati. -
Per i domini VPC, è necessario configurare sia la policy IAM che l'autorizzazione degli endpoint VPC.
-
Versioni del motore supportate: OpenSearch 1.3 e successive.
Risoluzione dei problemi
| Problema | Risoluzione |
|---|---|
| La creazione dell'applicazione non riesce con «Impossibile accedere al dominio» | Verifica che il ruolo interaccount disponga dell'es:DescribeDomainautorizzazione e che la politica di attendibilità consenta l'accesso all'account di origine. |
| L'associazione del dominio VPC non riesce | Assicurati che l'endpoint VPC sia autorizzato per. application.opensearchservice.amazonaws.com |
| Accesso al piano dati negato per l'utente IAM | Verifica che la policy di accesso al dominio di destinazione consenta l'utente o il responsabile del ruolo IAM. |
| Accesso al piano dati negato per l'utente IAM Identity Center | Verifica che la mappatura dei ruoli di backend includa l'ID del gruppo IAM Identity Center e che la policy del dominio consenta il ruolo dell'applicazione IAM Identity Center. |
| Errore di mancata corrispondenza dell'account | Assicurati che iamRoleForDataSourceArn si trovi nello stesso account del dominio indataSourceArn. |