第 1 步:使用 Amazon CLI 为 DAX 创建一个 IAM 服务角色以访问 DynamoDB - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

第 1 步:使用 Amazon CLI 为 DAX 创建一个 IAM 服务角色以访问 DynamoDB

您必须先为 Amazon DynamoDB Accelerator (DAX) 集群创建一个服务角色,然后才能创建该集群。服务角色是 Amazon Identity and Access Management (IAM) 角色,用于向 Amazon 服务授权代表您执行操作。服务角色允许 DAX 访问您的 DynamoDB 表,就像您自己访问这些表一样。

在此步骤中,您创建一个 IAM policy,然后将该策略附加到一个 IAM 角色。这使您能够将该角色分配到 DAX 集群,从而让它代表您执行 DynamoDB 操作。

为 DAX 创建 IAM 服务角色
  1. 使用以下内容创建名为 service-trust-relationship.json 的文件。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dax.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 创建服务角色。

    aws iam create-role \ --role-name DAXServiceRoleForDynamoDBAccess \ --assume-role-policy-document file://service-trust-relationship.json
  3. 使用以下内容创建名为 service-role-policy.json 的文件。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "dynamodb:DescribeTable", "dynamodb:PutItem", "dynamodb:GetItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:BatchGetItem", "dynamodb:BatchWriteItem", "dynamodb:ConditionCheckItem" ], "Effect": "Allow", "Resource": [ "arn:aws:dynamodb:us-west-2:accountID:*" ] } ] }

    accountID 替换为您的 Amazon 账户 ID。要查找您的 Amazon 账户 ID,请在控制台的右上角选择您的登录 ID。您的 Amazon 账户 ID 出现在下拉菜单中。

    在示例的 Amazon Resource Name (ARN) 中,accountID 必须是 12 位的数字。请勿使用连字符或其他标点符号。

  4. 为服务角色创建 IAM policy。

    aws iam create-policy \ --policy-name DAXServicePolicyForDynamoDBAccess \ --policy-document file://service-role-policy.json

    在输出中,记录您创建的策略的 ARN,如下例中所示。

    arn:aws:iam::123456789012:policy/DAXServicePolicyForDynamoDBAccess

  5. 将策略附加到服务角色。将以下代码中的 arn 替换为上一步中的实际角色 ARN。

    aws iam attach-role-policy \ --role-name DAXServiceRoleForDynamoDBAccess \ --policy-arn arn

接下来,为默认 VPC 指定子网组。子网组是 VPC 中一个或多个子网的集合。请参见 第 2 步:创建一个子网组