本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
跨账户数据访问 OpenSearch 域名
您可以在一个账户中配置 OpenSearch 用户界面应用程序,以访问不同账户中的 OpenSearch 域名。当您使用跨账户数据源创建 OpenSearch UI 应用程序时,您需要提供iamRoleForDataSourceArn指向目标账户中的 IAM 角色的。 OpenSearch 用户界面通过担任此角色并调用验证域可访问性es:DescribeDomain来验证请求。跨账户角色仅用于控制平面验证。数据平面访问由目标域的访问策略单独控制。
代码示例
本主题中的代码示例仅用于说明目的。它们演示了基本功能,可能不包括错误处理、安全最佳实践或生产就绪功能。在生产环境中使用示例代码之前,请对其进行审查和修改以满足您的特定要求,并在您的环境中进行全面测试。
重要概念
- 源账户
-
托管您的 OpenSearch UI 应用程序的。 AWS 账户
- 目标账户
-
OpenSearch 域 AWS 账户 所在的位置。
- 跨账户角色
-
目标账户中的 IAM 角色,仅用于控制平面验证。此角色只需要
es:DescribeDomain权限。 - IAM 身份中心应用程序角色
-
源账户中的一个 IAM 角色,用于访问 IAM Identity Center 用户数据平面。
先决条件
在设置跨账户数据访问权限之前,请确保您具备以下条件:
-
AWS CLI 已安装并配置
-
同时访问源和目标 AWS 账户
-
对于 IAM 身份中心流程: AWS IAM Identity Center 组织实例
场景
选择与您的身份验证方法和域配置相匹配的方案:
场景 1:IAM 用户访问公共域
步骤 1:创建跨账户 IAM 角色(目标账户)
在目标账户中创建 IAM 角色,允许源账户代入该角色进行域验证。
创建跨账户角色
-
创建允许源账户担任该角色的信任策略:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
创建该角色:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
创建仅包含以下
es:DescribeDomain操作的权限策略:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
将权限策略附加到角色:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
步骤 2:创建 OpenSearch 域名(目标账户)
在目标账户中创建一个启用精细访问控制和加密的 OpenSearch 域:
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
等待域名状态变为Active后再继续。
步骤 3:创建 OpenSearch UI 应用程序(源账户)
使用跨账户数据源在源账户中创建应用程序:
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":"[\"*\"]"}]'
步骤 4:验证和访问
检索应用程序详细信息以获取端点 URL:
aws opensearch get-application \ --regionregion\ --idapplication-id
-
从响应中导航到应用程序终端节点 URL。
-
使用 IAM 证书登录。
-
IAM 用户使用自己的证书签署数据平面请求。
-
目标域访问策略控制用户可以访问哪些数据。
场景 2:IAM 身份中心用户访问公共域
步骤 1:创建跨账户 IAM 角色(目标账户)
在目标账户中创建 IAM 角色,允许源账户代入该角色进行域验证。
创建跨账户角色
-
创建允许源账户担任该角色的信任策略:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
创建该角色:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
创建仅包含以下
es:DescribeDomain操作的权限策略:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
将权限策略附加到角色:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
步骤 2:创建 OpenSearch 域名(目标账户)
在目标账户中创建 OpenSearch 域名。使用与相同的命令步骤 2:创建 OpenSearch 域名(目标账户),但要更新访问策略以允许来自源账户的 IAM Identity Center 应用程序角色:
{ "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/*" }] }
等待域名状态变为Active后再继续。
步骤 3:为 IAM 身份中心应用程序(源账户)创建 IAM 角色
在源账户中创建 IAM 角色,用户 OpenSearch 界面使用该角色访问 IAM Identity Center 用户数据平面。
创建 IAM 身份中心应用程序角色
-
创建信任策略:
{ "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" } } } ] } -
创建权限策略:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] } -
创建角色并附加策略:
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
步骤 4:使用 IAM 身份中心(源账户)创建 OpenSearch UI 应用程序
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":"[\"*\"]"}]'
步骤 5:创建和分配 IAM 身份中心用户和群组
创建 IAM 身份中心用户
运行如下命令。将 placeholder
values 替换为您自己的信息。
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
创建 IAM 身份中心群组并添加用户
运行以下 命令:
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
将用户或组分配给应用程序
运行如下命令:
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
在目标域上配置后端角色映射
将 IAM 身份中心组映射到目标域上的 OpenSearch 安全角色:
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": [] }'
步骤 6:验证和访问
aws opensearch get-application \ --regionregion\ --idapplication-id
-
导航到应用程序终端节点 URL。
-
使用 IAM 身份中心用户证书登录。
-
IAM Identity Center 用户的数据请求是使用 IAM Identity Center 应用程序角色而不是跨账户角色签署的。
-
域上的后端角色映射控制数据访问权限。
场景 3:IAM 用户访问 VPC 域
步骤 1:创建跨账户 IAM 角色(目标账户)
在目标账户中创建 IAM 角色,允许源账户代入该角色进行域验证。
创建跨账户角色
-
创建允许源账户担任该角色的信任策略:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
创建该角色:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
创建仅包含以下
es:DescribeDomain操作的权限策略:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
将权限策略附加到角色:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
步骤 2:设置 VPC(目标账户)
如果目标账户中已存在 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
了解有关创建 VPC 域的更多信息。
步骤 3:创建 VPC 域(目标账户)
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
等待域名状态变为Active后再继续。
步骤 4:为 OpenSearch UI 服务委托人(目标账户)授权 VPC 终端节点
重要
这是 VPC 域所独有的关键步骤。必须明确授权 OpenSearch 用户界面服务才能访问 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
预期的回应:
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }
步骤 5:创建 OpenSearch UI 应用程序(源账户)
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":"[\"*\"]"}]'
步骤 6:验证和访问
检索应用程序详细信息以获取端点 URL:
aws opensearch get-application \ --regionregion\ --idapplication-id
-
从响应中导航到应用程序终端节点 URL。
-
使用 IAM 证书登录。
-
IAM 用户使用自己的证书签署数据平面请求。
-
目标域访问策略控制用户可以访问哪些数据。
场景 4:IAM 身份中心用户访问 VPC 域
步骤 1:创建跨账户 IAM 角色(目标账户)
在目标账户中创建 IAM 角色,允许源账户代入该角色进行域验证。
创建跨账户角色
-
创建允许源账户担任该角色的信任策略:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] } -
创建该角色:
aws iam create-role \ --role-nameOpenSearchUIAccessRole\ --assume-role-policy-document file://trust-policy.json -
创建仅包含以下
es:DescribeDomain操作的权限策略:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] } -
将权限策略附加到角色:
aws iam put-role-policy \ --role-nameOpenSearchUIAccessRole\ --policy-nameValidationOnly\ --policy-document file://permissions-policy.json
步骤 2:设置 VPC(目标账户)
如果目标账户中已存在 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
了解有关创建 VPC 域的更多信息。
步骤 3:创建 VPC 域(目标账户)
使用与相同的命令步骤 3:创建 VPC 域(目标账户),但要更新访问策略以允许来自源账户的 IAM Identity Center 应用程序角色:
{ "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/*" }] }
等待域名状态变为Active后再继续。
步骤 4:为 OpenSearch UI 服务委托人(目标账户)授权 VPC 终端节点
重要
这是 VPC 域所独有的关键步骤。必须明确授权 OpenSearch 用户界面服务才能访问 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
预期的回应:
{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }
步骤 5:为 IAM 身份中心应用程序(源账户)创建 IAM 角色
在源账户中创建 IAM 角色,用户 OpenSearch 界面使用该角色访问 IAM Identity Center 用户数据平面。
创建 IAM 身份中心应用程序角色
-
创建信任策略:
{ "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" } } } ] } -
创建权限策略:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] } -
创建角色并附加策略:
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
步骤 6:使用 IAM 身份中心(源账户)创建 OpenSearch UI 应用程序
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":"[\"*\"]"}]'
步骤 7:创建和分配 IAM 身份中心用户和群组
创建 IAM 身份中心用户
运行如下命令。将 placeholder
values 替换为您自己的信息。
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
创建 IAM 身份中心群组并添加用户
运行以下 命令:
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
将用户或组分配给应用程序
运行如下命令:
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
在目标域上配置后端角色映射
将 IAM 身份中心组映射到目标域上的 OpenSearch 安全角色:
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": [] }'
第 8 步:验证和访问
aws opensearch get-application \ --regionregion\ --idapplication-id
-
导航到应用程序终端节点 URL。
-
使用 IAM 身份中心用户证书登录。
-
IAM Identity Center 用户的数据请求是使用 IAM Identity Center 应用程序角色而不是跨账户角色签署的。
-
域上的后端角色映射控制数据访问权限。
管理 应用程序
使用跨账户数据源更新应用程序
运行如下命令。将 placeholder
values 替换为您自己的信息。
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" }]'
重要
更新操作将替换整个数据源数组。包括您要保留的所有数据源。
列出应用程序
运行如下命令:
aws opensearch list-applications \ --regionregion
删除应用程序
运行如下命令:
aws opensearch delete-application \ --regionregion\ --idapplication-id
撤销 VPC 终端节点访问权限
运行如下命令:
aws opensearch revoke-vpc-endpoint-access \ --domain-namevpc-domain-name\ --service "application.opensearchservice.amazonaws.com" \ --regionregion
快速参考
下表总结了域类型和身份验证方法之间的主要区别。
| 方面 | 公共领域 | VPC 域 |
|---|---|---|
| VPC 终端节点授权 | 非必需 | 必填项-必须授权 application.opensearchservice.amazonaws.com |
| 网络设置 | 无 | VPC、子网、入站 HTTPS (443) 的安全组 |
| IAM 访问策略 | 必需 | 必需 |
| 跨账户角色 | 跨账户为必填项 | 跨账户为必填项 |
| 方面 | IAM 用户 | IAM Identity Center 用户 |
|---|---|---|
| 数据平面凭证 | 用户自己的 IAM 证书 | IAM 身份中心应用程序角色 |
| 访问控制 | 域访问策略 | 域访问策略和后端角色映射 |
| 其他设置 | 无 | IAM Identity Center 应用程序角色、 user/group 创建、应用程序分配、后端角色映射 |
| OpenSearch UI 应用程序配置 | 没有 IAM 身份中心选项 | --iam-identity-center-options 必需 |
重要提示
-
iamRoleForDataSourceArn必须与在同一个账户中dataSourceArn。 -
iamRoleForDataSourceArn只有跨账户数据源才需要。对于同账户数据源,请将其省略。 -
跨账户角色只需要
es:DescribeDomain权限。它从来没有用于数据平面访问。 -
对于 VPC 域,必须同时配置 IAM 策略和 VPC 终端节点授权。
-
支持的引擎版本: OpenSearch 1.3 及以上。
问题排查
| 问题 | 解决方案 |
|---|---|
| 应用程序创建失败并显示 “无法访问域” | 验证跨账户角色是否具有es:DescribeDomain权限,以及信任策略是否允许源账户。 |
| VPC 域关联失败 | 确保 VPC 终端节点已获得授权application.opensearchservice.amazonaws.com。 |
| IAM 用户数据平面访问被拒绝 | 检查目标域访问策略是否允许 IAM 用户或角色委托人。 |
| IAM 身份中心用户数据平面访问被拒绝 | 确认后端角色映射包含 IAM 身份中心组 ID,以及域策略是否允许 IAM Identity Center 应用程序角色。 |
| 账户不匹配错误 | 确保iamRoleForDataSourceArn该账户与中的域名位于同一个账户中dataSourceArn。 |