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

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

将基于身份的策略与 Amazon DynamoDB 结合使用

该主题涵盖了将基于身份的 Amazon Identity and Access Management(IAM)策略与 Amazon DynamoDB 结合使用并提供了示例。示例说明账户管理员如何将权限策略附加到 IAM 身份(即用户、组和角色),从而授予对 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 资源名称(ARN)指定了要应用权限的表。

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

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

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

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

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

  • Amazon Simple Notification Service 有权在 CloudWatch 警报触发时通知您。

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

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

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

注意

如果您引用 VPC 终端节点,则还需要通过 IAM 操作 (dynamodb:DescribeEndpoints) 为请求的 IAM 委托人授权 DescribeEndpoints API 调用。有关更多信息,请参阅 端点所需的策略

适用于 Amazon DynamoDB 的 Amazon 托管式(预定义)IAM policy

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

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

  • AmazonDynamo数据库 ReadOnlyAccess — 通过授予对 DynamoDB 资源的只读访问权限。Amazon Web Services Management Console

  • AmazonDynamo数据库 FullAccess — 通过授予对 DynamoDB 资源的完全访问权限。Amazon Web Services Management Console

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

重要

最佳实践是创建自定义 IAM 策略,从而向有需要的用户、角色或组授予最低权限

客户管理型策略示例

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

注意

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

示例:

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