将基于身份的策略(IAM 策略)与 Amazon DynamoDB 配合使用 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

将基于身份的策略(IAM 策略)与 Amazon DynamoDB 配合使用

该主题覆盖使用基于身份的 Amazon Identity and Access Management (IAM) 策略与 Amazon DynamoDB 并提供了示例。示例说明账户管理员如何将权限策略附加到 IAM 身份(即用户、组和角色),从而授予对 Amazon DynamoDB 资源执行操作的权限。

重要

我们建议您首先阅读以下介绍性主题,这些主题说明了可用于管理 DynamoDB 资源访问的基本概念和选项。有关更多信息,请参阅管理 Amazon DynamoDB 资源的访问权限概述

本主题的各个部分涵盖以下内容:

下面是权限策略的示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeQueryScanBooksTable", "Effect": "Allow", "Action": [ "dynamodb:DescribeTable", "dynamodb:Query", "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:us-west-2:account-id:table/Books" } ] }

该策略有一条语句用于为针对 us-west-2 Amazon 区域中的某个表(由 account-id 指定的 Amazon 账户所有)的三项 DynamoDB 操作(dynamodb:DescribeTabledynamodb:Querydynamodb:Scan))授予权限。Resource 值的 Amazon Resource Name (ARN) 指定权限应用到的表。

使用 Amazon DynamoDB 控制台所需的 IAM 权限

要使用 DynamoDB 控制台,用户必须拥有一组最低权限来允许他们使用 Amazon 账户中的 DynamoDB 资源。除这些 DynamoDB 权限以外,控制台还需要权限:

  • 显示指标和图形的 Amazon CloudWatch 权限。

  • 导出和导入 DynamoDB 数据的 Amazon Data Pipeline 权限。

  • 访问导出和导入所需角色的 Amazon Identity and Access Management 权限。

  • 每当触发 CloudWatch 警报时通知您的 Amazon Simple Notification Service 权限。

  • 处理 DynamoDB Streams 记录的 Amazon Lambda 权限。

如果创建比必需的最低权限更为严格的 IAM 策略,对于附加了该 IAM 策略的用户, 控制台将无法按预期正常运行。为确保这些用户仍可使用 DynamoDB 控制台,也可向用户附加 AmazonDynamoDBReadOnlyAccess Amazon 托管策略,如 适用于 Amazon DynamoDB 的 Amazon 托管(预定义)IAM 策略 中所述。

对于只需要调用 Amazon CLI 或 Amazon DynamoDB API 的用户,您无需为其提供最低控制台权限。

适用于 Amazon DynamoDB 的 Amazon 托管(预定义)IAM 策略

Amazon 通过提供由 Amazon 创建和管理的独立 IAM 策略来满足许多常用案例的要求。这些 Amazon 托管策略可针对常用案例授予必要的权限,使您不必调查所需权限。有关更多信息,请参阅 IAM 用户指南中的 Amazon 托管策略

下面的 Amazon 托管策略可附加到您账户中的用户,这些托管策略特定于 DynamoDB 并且按使用案例场景进行分组:

  • AmazonDynamoDBReadOnlyAccess – 使用 Amazon Web Services Management Console 授予对 DynamoDB 资源 的只读访问权限。

  • AmazonDynamoDBFullAccess 使用 Amazon Web Services Management Console 授予对 DynamoDB 资源的完全访问权限。

您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看这些 Amazon 托管权限策略。

重要

最佳做法是创建自定义 IAM 策略,对需要该 IAM 策略的 IAM 用户、角色或组授予最低权限

客户托管策略示例

本节的用户策略示例介绍如何授予各 DynamoDB 操作权限的策略示例。当您使用 Amazon SDK 或 Amazon CLI 时,可以使用这些策略。当您使用控制台时,您需要授予特定于控制台的其他权限。有关更多信息,请参阅使用 Amazon DynamoDB 控制台所需的 IAM 权限

注意

以下所有策略示例都使用一个 Amazon 区域并包含虚构的账户 ID 和表名。

示例:

IAM 用户指南,包含 另外三个 DynamoDB 示例