在 DynamoDB 中使用基于资源的策略进行跨账户访问
使用基于资源的策略,您可以提供跨账户访问不同 AWS 账户中可用资源的权限。如果您在与资源相同的 AWS 区域中有分析器,则将通过 IAM Access Analyzer 外部访问调查发现报告基于资源的策略允许的所有跨账户访问权限。IAM Access Analyzer 将根据 IAM 策略语法和最佳实践运行策略检查,以验证您的策略。这些检查项生成结果并提供可操作的建议,可帮助您编写可操作且符合安全最佳实践的策略。您可以在 DynamoDB 控制台
要了解通过使用 IAM Access Analyzer 验证策略的信息,请参阅 《IAM 用户指南》中的 IAM Access Analyzer 策略验证。要查看 IAM Access Analyzer 返回的警告、错误和建议的列表,请参阅 IAM Access Analyzer 策略检查引用。
要向账户 A 中的用户 A 授予访问账户 B 中表 B 的 GetItem 权限,请执行以下步骤:
-
将基于资源的策略附加到表 B,该策略向用户 A 授予执行
GetItem
操作的权限。 -
向用户 A 附加基于身份的策略,授予其对表 B 执行
GetItem
操作的权限。
使用 DynamoDB 控制台
DynamoDB 数据面板和控制面板 API 中的表名参数接受表的完整 Amazon 资源名称(ARN),以支持跨账户操作。如果您只提供表名参数而不是完整的 ARN,则将对请求者所属账户中的表执行 API 操作。有关使用跨账户访问的策略的示例,请参阅用于跨账户访问的基于资源的策略。
即使其它账户的主体正在所有者账户的 DynamoDB 表中执行读取或写入,也会向该资源所有者的账户收费。如果该表具有预调配吞吐量,则来自所有者账户和其它账户中的请求者的所有请求的总和,将决定请求是受限制(如果自动扩缩已禁用),还是纵向/横向扩展(如果已启用自动扩缩)。
这些请求将记录在所有者和请求者账户的 CloudTrail 日志中,这样两个账户中的每一个账户都可以跟踪哪个账户访问了哪些数据。
注意
控制面板 API 的跨账户访问的每秒事务数(TPS)限制较低,为 500 个请求。