Acceso a datos multicuenta a dominios OpenSearch - OpenSearch Servicio Amazon

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:DescribeDomain permiso.

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
  1. 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" }] }
  2. Cree el rol:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. Crea una política de permisos con solo la siguiente es:DescribeDomain acción:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. Asocie la política de permisos al rol:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --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-name domain-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/*"}]}' \ --region region

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 \ --region region \ --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 \ --region region \ --id application-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
  1. 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" }] }
  2. Cree el rol:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. Crea una política de permisos con solo la siguiente es:DescribeDomain acción:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. Asocie la política de permisos al rol:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --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
  1. 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" } } } ] }
  2. Cree una política de permisos:

    { "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] }
  3. Cree el rol y adjunte las políticas:

    aws iam create-role \ --role-name NeoIdCAppRole \ --assume-role-policy-document file://neoidc-trust-policy.json aws iam put-role-policy \ --role-name NeoIdCAppRole \ --policy-name NeoIdCAppPermissions \ --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 \ --region region \ --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-id d-directory-id \ --user-name user-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-id d-directory-id \ --display-name "OpenSearchUsers" \ --description "Users with OpenSearch access" aws identitystore create-group-membership \ --identity-store-id d-directory-id \ --group-id group-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-id user-id-or-group-id \ --principal-type USER
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" \ -u admin:master-password \ -H 'Content-Type: application/json' \ -d '{ "backend_roles": ["group-id"], "hosts": [], "users": [] }'

Paso 6: Verificar y acceder

aws opensearch get-application \ --region region \ --id application-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
  1. 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" }] }
  2. Cree el rol:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. Crea una política de permisos con solo la siguiente es:DescribeDomain acción:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. Asocie la política de permisos al rol:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --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 \ --region region # Create subnet aws ec2 create-subnet \ --vpc-id vpc-id \ --cidr-block 10.0.1.0/24 \ --availability-zone regiona \ --region region # Create security group aws ec2 create-security-group \ --group-name opensearch-vpc-sg \ --description "Security group for OpenSearch VPC domain" \ --vpc-id vpc-id \ --region region # Allow inbound HTTPS aws ec2 authorize-security-group-ingress \ --group-id security-group-id \ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/16 \ --region region

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-name vpc-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/*"}]}' \ --region region

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-name vpc-domain-name \ --service "application.opensearchservice.amazonaws.com" \ --region region # Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-name vpc-domain-name \ --region region

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 \ --region region \ --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 \ --region region \ --id application-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
  1. 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" }] }
  2. Cree el rol:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. Crea una política de permisos con solo la siguiente es:DescribeDomain acción:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. Asocie la política de permisos al rol:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --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 \ --region region # Create subnet aws ec2 create-subnet \ --vpc-id vpc-id \ --cidr-block 10.0.1.0/24 \ --availability-zone regiona \ --region region # Create security group aws ec2 create-security-group \ --group-name opensearch-vpc-sg \ --description "Security group for OpenSearch VPC domain" \ --vpc-id vpc-id \ --region region # Allow inbound HTTPS aws ec2 authorize-security-group-ingress \ --group-id security-group-id \ --protocol tcp \ --port 443 \ --cidr 10.0.0.0/16 \ --region region

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-name vpc-domain-name \ --service "application.opensearchservice.amazonaws.com" \ --region region # Verify authorization aws opensearch list-vpc-endpoint-access \ --domain-name vpc-domain-name \ --region region

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
  1. 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" } } } ] }
  2. Cree una política de permisos:

    { "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] }
  3. Cree el rol y adjunte las políticas:

    aws iam create-role \ --role-name NeoIdCAppRole \ --assume-role-policy-document file://neoidc-trust-policy.json aws iam put-role-policy \ --role-name NeoIdCAppRole \ --policy-name NeoIdCAppPermissions \ --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 \ --region region \ --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-id d-directory-id \ --user-name user-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-id d-directory-id \ --display-name "OpenSearchUsers" \ --description "Users with OpenSearch access" aws identitystore create-group-membership \ --identity-store-id d-directory-id \ --group-id group-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-id user-id-or-group-id \ --principal-type USER
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" \ -u admin:master-password \ -H 'Content-Type: application/json' \ -d '{ "backend_roles": ["group-id"], "hosts": [], "users": [] }'

Paso 8: Verificar y acceder

aws opensearch get-application \ --region region \ --id application-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 \ --region region \ --id application-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 \ --region region
Eliminación de una aplicación de

Use el siguiente comando:

aws opensearch delete-application \ --region region \ --id application-id
Revocar el acceso al punto final de la VPC

Use el siguiente comando:

aws opensearch revoke-vpc-endpoint-access \ --domain-name vpc-domain-name \ --service "application.opensearchservice.amazonaws.com" \ --region region

Referencia rápida

En las siguientes tablas se resumen las principales diferencias entre los tipos de dominio y los métodos de autenticación.

Dominio público comparado con el dominio de VPC
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
Un usuario de IAM comparado con un usuario de IAM Identity Center
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 iamRoleForDataSourceArn es 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:DescribeDomain Nunca 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