Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Acceso a datos multicuenta a dominios OpenSearch
Puede configurar sus aplicaciones de OpenSearch interfaz de usuario en una cuenta para acceder a los OpenSearch dominios de diferentes cuentas. Al crear una aplicación de OpenSearch interfaz de usuario con fuentes de datos multicuenta, se proporciona una iamRoleForDataSourceArn que apunta a una función de IAM en la cuenta de destino. OpenSearch La interfaz de usuario valida la solicitud asumiendo esta función y realizando una llamada es:DescribeDomain para verificar la accesibilidad del dominio. La función multicuenta se utiliza únicamente para la validación del plano de control. El acceso al plano de datos se controla por separado mediante la política de acceso del dominio de destino.
Código de muestra
Los ejemplos de código de este tema tienen únicamente fines ilustrativos. Demuestran la funcionalidad básica y es posible que no incluyan la gestión de errores, las mejores prácticas de seguridad ni funciones listas para la producción. Antes de utilizar un código de muestra en producción, revíselo y modifíquelo para que cumpla con sus requisitos específicos y pruébelo exhaustivamente en su entorno.
Conceptos clave
- Cuenta de origen
-
El Cuenta de AWS que aloja su aplicación de OpenSearch interfaz de usuario.
- Cuenta objetivo
-
Lugar Cuenta de AWS en el que reside el OpenSearch dominio.
- Función multicuenta
-
Función de IAM en la cuenta de destino que se utiliza únicamente para la validación del plano de control. Este rol solo requiere el
es:DescribeDomainpermiso. - Función de aplicación de IAM Identity Center
-
Función de IAM en la cuenta de origen que se utiliza para acceder al plano de datos de los usuarios del IAM Identity Center.
Requisitos previos
Antes de configurar el acceso a los datos entre cuentas, asegúrese de tener lo siguiente:
-
AWS CLI instalado y configurado
-
Acceso tanto al origen como al destino Cuenta de AWS
-
Para los flujos del IAM Identity Center: una instancia de AWS IAM Identity Center organización
Escenarios
Elija el escenario que coincida con su método de autenticación y configuración de dominio:
Escenario 1: un usuario de IAM accede a un dominio público
Paso 1: Crear el rol de IAM multicuenta (cuenta de destino)
Cree un rol de IAM en la cuenta de destino que permita a la cuenta de origen asumirlo para la validación del dominio.
Para crear el rol multicuenta
-
Cree una política de confianza que permita a la cuenta de origen asumir el rol:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Cree el rol:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una política de permisos con solo la siguiente
es:DescribeDomainacción:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Asocie la política de permisos al rol:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Paso 2: Crea el OpenSearch dominio (cuenta de destino)
Cree un OpenSearch dominio en la cuenta de destino con un control de acceso detallado y un cifrado habilitados:
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
Espere a que el estado del dominio cambie antes de continuar. Active
Paso 3: Crear la aplicación de OpenSearch interfaz de usuario (cuenta de origen)
Cree la aplicación en la cuenta de origen con la fuente de datos multicuenta:
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":"[\"*\"]"}]'
Paso 4: Verificar y acceder
Recupere los detalles de la aplicación para obtener la URL del punto final:
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Navegue hasta la URL del punto final de la aplicación desde la respuesta.
-
Inicie sesión con las credenciales de IAM.
-
El usuario de IAM firma las solicitudes del plano de datos con sus propias credenciales.
-
La política de acceso al dominio de destino controla los datos a los que puede acceder el usuario.
Escenario 2: un usuario del IAM Identity Center accede a un dominio público
Paso 1: Crear el rol de IAM multicuenta (cuenta de destino)
Cree un rol de IAM en la cuenta de destino que permita a la cuenta de origen asumirlo para la validación del dominio.
Para crear el rol multicuenta
-
Cree una política de confianza que permita a la cuenta de origen asumir el rol:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Cree el rol:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una política de permisos con solo la siguiente
es:DescribeDomainacción:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Asocie la política de permisos al rol:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Paso 2: Crea el OpenSearch dominio (cuenta de destino)
Crea un OpenSearch dominio en la cuenta de destino. Utilice el mismo comando quePaso 2: Crea el OpenSearch dominio (cuenta de destino), pero actualice la política de acceso para permitir el rol de aplicación del Centro de Identidad de IAM desde la cuenta de origen:
{ "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/*" }] }
Espere a que el estado del dominio cambie Active antes de continuar.
Paso 3: Cree la función de IAM para la aplicación IAM Identity Center (cuenta de origen)
Cree una función de IAM en la cuenta de origen que la OpenSearch interfaz de usuario utiliza para acceder al plano de datos de los usuarios del IAM Identity Center.
Para crear el rol de aplicación del Centro de Identidad de IAM
-
Cree una política de confianza:
{ "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" } } } ] } -
Cree una política de permisos:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] } -
Cree el rol y adjunte las políticas:
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
Paso 4: Cree la aplicación de OpenSearch interfaz de usuario con IAM Identity Center (cuenta de origen)
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":"[\"*\"]"}]'
Paso 5: Crear y asignar usuarios y grupos del IAM Identity Center
Cree un usuario del Centro de Identidad de IAM
Ejecute el comando siguiente. Sustituya placeholder
values por su propia información.
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
Cree un grupo del Centro de identidades de IAM y añada el usuario
Ejecute los siguientes comandos :
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
Asigne el usuario o el grupo a la aplicación
Use el siguiente comando:
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
Configure la asignación de roles de backend en el dominio de destino
Asigne el grupo del centro de identidad de IAM a un rol OpenSearch de seguridad en el dominio de destino:
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": [] }'
Paso 6: Verificar y acceder
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Navegue hasta la URL del punto final de la aplicación.
-
Inicie sesión con las credenciales de usuario del IAM Identity Center.
-
Las solicitudes de datos de los usuarios del IAM Identity Center se firman con el rol de aplicación del Centro de Identidad de IAM, no con el rol multicuenta.
-
Las asignaciones de funciones de backend en el dominio controlan los permisos de acceso a los datos.
Escenario 3: usuario de IAM que accede a un dominio de VPC
Paso 1: Crear el rol de IAM multicuenta (cuenta de destino)
Cree un rol de IAM en la cuenta de destino que permita a la cuenta de origen asumirlo para la validación del dominio.
Para crear el rol multicuenta
-
Cree una política de confianza que permita a la cuenta de origen asumir el rol:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Cree el rol:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una política de permisos con solo la siguiente
es:DescribeDomainacción:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Asocie la política de permisos al rol:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Paso 2: Configurar la VPC (cuenta de destino)
Omita este paso si ya existe una VPC en la cuenta de destino.
# 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
Más información sobre la creación de dominios de VPC.
Paso 3: Crear el dominio de VPC (cuenta de destino)
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
Espere a que el estado del dominio cambie Active antes de continuar.
Paso 4: Autorizar el punto final de la VPC para el principal del servicio de OpenSearch interfaz de usuario (cuenta de destino)
importante
Este es un paso fundamental que es exclusivo de los dominios de VPC. El servicio de OpenSearch interfaz de usuario debe estar autorizado explícitamente para acceder al punto final de la 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
Respuesta esperada:
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }
Paso 5: Crear la aplicación de OpenSearch interfaz de usuario (cuenta de origen)
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":"[\"*\"]"}]'
Paso 6: Verificar y acceder
Recupere los detalles de la aplicación para obtener la URL del punto final:
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Navegue hasta la URL del punto final de la aplicación desde la respuesta.
-
Inicie sesión con las credenciales de IAM.
-
El usuario de IAM firma las solicitudes del plano de datos con sus propias credenciales.
-
La política de acceso al dominio de destino controla los datos a los que puede acceder el usuario.
Escenario 4: Un usuario del IAM Identity Center accede a un dominio de VPC
Paso 1: Crear el rol de IAM multicuenta (cuenta de destino)
Cree un rol de IAM en la cuenta de destino que permita a la cuenta de origen asumirlo para la validación del dominio.
Para crear el rol multicuenta
-
Cree una política de confianza que permita a la cuenta de origen asumir el rol:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
Cree el rol:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
Crea una política de permisos con solo la siguiente
es:DescribeDomainacción:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
Asocie la política de permisos al rol:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
Paso 2: Configurar la VPC (cuenta de destino)
Omita este paso si ya existe una VPC en la cuenta de destino.
# 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
Más información sobre la creación de dominios de VPC.
Paso 3: Crear el dominio de VPC (cuenta de destino)
Utilice el mismo comando quePaso 3: Crear el dominio de VPC (cuenta de destino), pero actualice la política de acceso para permitir el rol de aplicación de IAM Identity Center desde la cuenta de origen:
{ "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/*" }] }
Espere a que el estado del dominio cambie Active antes de continuar.
Paso 4: Autorizar el punto final de la VPC para el principal del servicio de OpenSearch interfaz de usuario (cuenta de destino)
importante
Este es un paso fundamental que es exclusivo de los dominios de VPC. El servicio de OpenSearch interfaz de usuario debe estar autorizado explícitamente para acceder al punto final de la 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
Respuesta esperada:
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }
Paso 5: Cree la función de IAM para la aplicación IAM Identity Center (cuenta de origen)
Cree una función de IAM en la cuenta de origen que la OpenSearch interfaz de usuario utiliza para acceder al plano de datos de los usuarios del IAM Identity Center.
Para crear el rol de aplicación del Centro de Identidad de IAM
-
Cree una política de confianza:
{ "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" } } } ] } -
Cree una política de permisos:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] } -
Cree el rol y adjunte las políticas:
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
Paso 6: Cree la aplicación de OpenSearch interfaz de usuario con IAM Identity Center (cuenta de origen)
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":"[\"*\"]"}]'
Paso 7: Crear y asignar usuarios y grupos del Centro de Identidad de IAM
Cree un usuario del Centro de Identidad de IAM
Ejecute el comando siguiente. Sustituya placeholder
values por su propia información.
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
Cree un grupo del Centro de identidades de IAM y añada el usuario
Ejecute los siguientes comandos :
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
Asigne el usuario o el grupo a la aplicación
Use el siguiente comando:
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
Configure la asignación de roles de backend en el dominio de destino
Asigne el grupo del centro de identidad de IAM a un rol OpenSearch de seguridad en el dominio de destino:
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": [] }'
Paso 8: Verificar y acceder
aws opensearch get-application \ --regionregion\ --idapplication-id
-
Navegue hasta la URL del punto final de la aplicación.
-
Inicie sesión con las credenciales de usuario del IAM Identity Center.
-
Las solicitudes de datos de los usuarios del IAM Identity Center se firman con el rol de aplicación del Centro de Identidad de IAM, no con el rol multicuenta.
-
Las asignaciones de funciones de backend en el dominio controlan los permisos de acceso a los datos.
Administración de las aplicaciones de
Actualice una aplicación con fuentes de datos multicuenta
Ejecute el comando siguiente. Sustituya placeholder
values por su propia información.
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
La operación de actualización reemplaza toda la matriz de fuentes de datos. Incluya todas las fuentes de datos que desee conservar.
Enumerar aplicaciones
Use el siguiente comando:
aws opensearch list-applications \ --regionregion
Eliminación de una aplicación de
Use el siguiente comando:
aws opensearch delete-application \ --regionregion\ --idapplication-id
Revocar el acceso al punto final de la VPC
Use el siguiente comando:
aws opensearch revoke-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --regionregion
Referencia rápida
En las siguientes tablas se resumen las principales diferencias entre los tipos de dominio y los métodos de autenticación.
| Aspecto | Dominio público | Dominio de VPC |
|---|---|---|
| Autorización de puntos finales de VPC | No obligatorio | Obligatorio: debe autorizar application.opensearchservice.amazonaws.com |
| Configuración de la red | Ninguno | VPC, subred y grupo de seguridad con HTTPS (443) entrante |
| Política de acceso de IAM | Obligatorio | Obligatorio |
| Función multicuenta | Necesario para el uso de varias cuentas | Necesario para cuentas cruzadas |
| Aspecto | Usuario de IAM | Usuario de IAM Identity Center |
|---|---|---|
| Credenciales del plano de datos | Credenciales de IAM propias del usuario | Función de aplicación del IAM Identity Center |
| Control de acceso | Política de acceso al dominio | Política de acceso al dominio y asignación de funciones de back-end |
| Configuración adicional | Ninguno | Rol de aplicación de IAM Identity Center, user/group creación, asignación de aplicaciones, mapeo de roles de back-end |
| OpenSearch Configuración de aplicaciones de interfaz de usuario | No hay opciones de IAM Identity Center | --iam-identity-center-options obligatorio |
Notas importantes
-
iamRoleForDataSourceArnDebe estar en la misma cuenta que.dataSourceArn -
Solo
iamRoleForDataSourceArnes obligatorio para las fuentes de datos entre cuentas. Omita esta opción para las fuentes de datos de la misma cuenta. -
La función multicuenta solo necesita el permiso.
es:DescribeDomainNunca se usa para acceder al plano de datos. -
Para los dominios de VPC, se deben configurar tanto la política de IAM como la autorización de puntos de conexión de VPC.
-
Versiones de motor compatibles: OpenSearch 1.3 y superiores.
Resolución de problemas
| Problema | Resolución |
|---|---|
| La creación de la aplicación falla y aparece el mensaje «No se puede acceder al dominio» | Compruebe que la función multicuenta tiene el es:DescribeDomain permiso y que la política de confianza permite la cuenta de origen. |
| Se produce un error en la asociación de dominios de VPC | Asegúrese de que el punto final de la VPC esté autorizado para. application.opensearchservice.amazonaws.com |
| Se ha denegado el acceso al plano de datos al usuario de IAM | Compruebe que la política de acceso al dominio de destino permita al usuario o rol principal de IAM. |
| Se ha denegado el acceso al plano de datos para el usuario del IAM Identity Center | Compruebe que la asignación de funciones de backend incluya el ID de grupo del IAM Identity Center y que la política de dominio permita la función de aplicación del IAM Identity Center. |
| Error de discordancia de cuentas | Asegúrese de que iamRoleForDataSourceArn está en la misma cuenta que el dominio. dataSourceArn |