View a markdown version of this page

跨账户数据访问 OpenSearch 域名 - 亚马逊 OpenSearch 服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

跨账户数据访问 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 角色,允许源账户代入该角色进行域验证。

创建跨账户角色
  1. 创建允许源账户担任该角色的信任策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] }
  2. 创建该角色:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. 创建仅包含以下es:DescribeDomain操作的权限策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. 将权限策略附加到角色:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --policy-document file://permissions-policy.json

步骤 2:创建 OpenSearch 域名(目标账户)

在目标账户中创建一个启用精细访问控制和加密的 OpenSearch 域:

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

等待域名状态变为Active后再继续。

步骤 3:创建 OpenSearch UI 应用程序(源账户)

使用跨账户数据源在源账户中创建应用程序:

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":"[\"*\"]"}]'

步骤 4:验证和访问

检索应用程序详细信息以获取端点 URL:

aws opensearch get-application \ --region region \ --id application-id
  • 从响应中导航到应用程序终端节点 URL。

  • 使用 IAM 证书登录。

  • IAM 用户使用自己的证书签署数据平面请求。

  • 目标域访问策略控制用户可以访问哪些数据。

场景 2:IAM 身份中心用户访问公共域

步骤 1:创建跨账户 IAM 角色(目标账户)

在目标账户中创建 IAM 角色,允许源账户代入该角色进行域验证。

创建跨账户角色
  1. 创建允许源账户担任该角色的信任策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] }
  2. 创建该角色:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. 创建仅包含以下es:DescribeDomain操作的权限策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. 将权限策略附加到角色:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --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 身份中心应用程序角色
  1. 创建信任策略:

    { "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. 创建权限策略:

    { "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] }
  3. 创建角色并附加策略:

    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

步骤 4:使用 IAM 身份中心(源账户)创建 OpenSearch UI 应用程序

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":"[\"*\"]"}]'

步骤 5:创建和分配 IAM 身份中心用户和群组

创建 IAM 身份中心用户

运行如下命令。将 placeholder values 替换为您自己的信息。

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
创建 IAM 身份中心群组并添加用户

运行以下 命令:

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
将用户或组分配给应用程序

运行如下命令:

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
在目标域上配置后端角色映射

将 IAM 身份中心组映射到目标域上的 OpenSearch 安全角色:

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": [] }'

步骤 6:验证和访问

aws opensearch get-application \ --region region \ --id application-id
  • 导航到应用程序终端节点 URL。

  • 使用 IAM 身份中心用户证书登录。

  • IAM Identity Center 用户的数据请求是使用 IAM Identity Center 应用程序角色而不是跨账户角色签署的。

  • 域上的后端角色映射控制数据访问权限。

场景 3:IAM 用户访问 VPC 域

步骤 1:创建跨账户 IAM 角色(目标账户)

在目标账户中创建 IAM 角色,允许源账户代入该角色进行域验证。

创建跨账户角色
  1. 创建允许源账户担任该角色的信任策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] }
  2. 创建该角色:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. 创建仅包含以下es:DescribeDomain操作的权限策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. 将权限策略附加到角色:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --policy-document file://permissions-policy.json

步骤 2:设置 VPC(目标账户)

如果目标账户中已存在 VPC,请跳过此步骤。

# 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

了解有关创建 VPC 域的更多信息。

步骤 3:创建 VPC 域(目标账户)

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

等待域名状态变为Active后再继续。

步骤 4:为 OpenSearch UI 服务委托人(目标账户)授权 VPC 终端节点

重要

这是 VPC 域所独有的关键步骤。必须明确授权 OpenSearch 用户界面服务才能访问 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

预期的回应:

{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }

步骤 5:创建 OpenSearch UI 应用程序(源账户)

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":"[\"*\"]"}]'

步骤 6:验证和访问

检索应用程序详细信息以获取端点 URL:

aws opensearch get-application \ --region region \ --id application-id
  • 从响应中导航到应用程序终端节点 URL。

  • 使用 IAM 证书登录。

  • IAM 用户使用自己的证书签署数据平面请求。

  • 目标域访问策略控制用户可以访问哪些数据。

场景 4:IAM 身份中心用户访问 VPC 域

步骤 1:创建跨账户 IAM 角色(目标账户)

在目标账户中创建 IAM 角色,允许源账户代入该角色进行域验证。

创建跨账户角色
  1. 创建允许源账户担任该角色的信任策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account-id:root" }, "Action": "sts:AssumeRole" }] }
  2. 创建该角色:

    aws iam create-role \ --role-name OpenSearchUIAccessRole \ --assume-role-policy-document file://trust-policy.json
  3. 创建仅包含以下es:DescribeDomain操作的权限策略:

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "es:DescribeDomain", "Resource": "arn:aws:es:region:target-account-id:domain/*" }] }
  4. 将权限策略附加到角色:

    aws iam put-role-policy \ --role-name OpenSearchUIAccessRole \ --policy-name ValidationOnly \ --policy-document file://permissions-policy.json

步骤 2:设置 VPC(目标账户)

如果目标账户中已存在 VPC,请跳过此步骤。

# 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

了解有关创建 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-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

预期的回应:

{ "AuthorizedPrincipalList": [ { "PrincipalType": "AWS_SERVICE", "Principal": "application.opensearchservice.amazonaws.com" } ] }

步骤 5:为 IAM 身份中心应用程序(源账户)创建 IAM 角色

在源账户中创建 IAM 角色,用户 OpenSearch 界面使用该角色访问 IAM Identity Center 用户数据平面。

创建 IAM 身份中心应用程序角色
  1. 创建信任策略:

    { "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. 创建权限策略:

    { "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchDomain", "Effect": "Allow", "Action": ["es:ESHttp*"], "Resource": "*" }] }
  3. 创建角色并附加策略:

    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

步骤 6:使用 IAM 身份中心(源账户)创建 OpenSearch UI 应用程序

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":"[\"*\"]"}]'

步骤 7:创建和分配 IAM 身份中心用户和群组

创建 IAM 身份中心用户

运行如下命令。将 placeholder values 替换为您自己的信息。

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
创建 IAM 身份中心群组并添加用户

运行以下 命令:

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
将用户或组分配给应用程序

运行如下命令:

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
在目标域上配置后端角色映射

将 IAM 身份中心组映射到目标域上的 OpenSearch 安全角色:

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": [] }'

第 8 步:验证和访问

aws opensearch get-application \ --region region \ --id application-id
  • 导航到应用程序终端节点 URL。

  • 使用 IAM 身份中心用户证书登录。

  • IAM Identity Center 用户的数据请求是使用 IAM Identity Center 应用程序角色而不是跨账户角色签署的。

  • 域上的后端角色映射控制数据访问权限。

管理 应用程序

使用跨账户数据源更新应用程序

运行如下命令。将 placeholder values 替换为您自己的信息。

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" }]'
重要

更新操作将替换整个数据源数组。包括您要保留的所有数据源。

列出应用程序

运行如下命令:

aws opensearch list-applications \ --region region
删除应用程序

运行如下命令:

aws opensearch delete-application \ --region region \ --id application-id
撤销 VPC 终端节点访问权限

运行如下命令:

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

快速参考

下表总结了域类型和身份验证方法之间的主要区别。

公共域与 VPC 域的比较
方面 公共领域 VPC 域
VPC 终端节点授权 非必需 必填项-必须授权 application.opensearchservice.amazonaws.com
网络设置 VPC、子网、入站 HTTPS (443) 的安全组
IAM 访问策略 必需 必需
跨账户角色 跨账户为必填项 跨账户为必填项
IAM 用户与 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