本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置跨账户访问
要为 Amazon EMR Serverless 设置跨账户访问权限,请完成以下步骤。在示例中,AccountA
是您创建 Amazon EMR Serverless 应用程序的账户,AccountB
是您的 Amazon DynamoDB 所在的账户。
-
在
AccountB
中创建 DynamoDB 表。有关更多信息,请参阅步骤 1:创建表。 -
在
AccountB
中创建一个可访问 DynamoDB 表的Cross-Account-Role-B
IAM 角色。登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 -
选择角色,然后创建一个名为
Cross-Account-Role-B
的新角色。有关如何创建 IAM 角色的更多信息,请参阅《用户指南》中的创建 IAM 角色。 -
创建一个 IAM 策略,授予访问跨账户 DynamoDB 表的权限。然后将 IAM policy 附加到
Cross-Account-Role-B
。以下是授予对 DynamoDB 表
CrossAccountTable
的访问权限的策略。 -
编辑
Cross-Account-Role-B
角色的信任关系。要为角色配置信任关系,请在 IAM 控制台中为在步骤 2: 中创建的角色选择信任关系选项卡 Cross-Account-Role-B。
选择编辑信任关系,然后添加以下策略文档。本文档允许
AccountA
中的Job-Execution-Role-A
代入此Cross-Account-Role-B
角色。 -
授予
AccountA
中的Job-Execution-Role-A
代入Cross-Account-Role-B
的- STS Assume role
权限。在的 IAM 控制台中 AWS 账户
AccountA
,选择Job-Execution-Role-A
。添加以下Job-Execution-Role-A
策略语句以便对Cross-Account-Role-B
角色执行AssumeRole
操作。 -
在核心站点分类中将
dynamodb.customAWSCredentialsProvider
属性的值设置为com.amazonaws.emr.AssumeRoleAWSCredentialsProvider
。使用Cross-Account-Role-B
的 ARN 值设置环境变量ASSUME_ROLE_CREDENTIALS_ROLE_ARN
。
-
使用
Job-Execution-Role-A
运行 Spark 或 Hive 作业。