View a markdown version of this page

连接到亚马逊 DynamoDB - AWS 应用程序工作室

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

连接到亚马逊 DynamoDB

要将 App Studio 与 DynamoDB 连接以使构建者能够访问和使用应用程序中的 DynamoDB 资源,您必须执行以下步骤:

第 1 步:创建和配置 DynamoDB 资源

使用以下过程创建和配置要与 App Studio 一起使用的 DynamoDB 资源。

设置 DynamoDB 以与 App Studio 一起使用
  1. 登录 AWS 管理控制台 并打开 DynamoDB 控制台,网址为。 https://console.aws.amazon.com/dynamodb/

    我们建议使用中创建的管理用户注册参加 AWS 账户

  2. 在左侧导航窗格中,选择

  3. 选择创建表

  4. 输入表格名称和密钥。

  5. 选择创建表

  6. 创建表格后,向其中添加一些项目,以便在表格连接到 App Studio 后它们就会出现。

    1. 选择您的表格,选择操作,然后选择浏览项目

    2. 在退回的物品中,选择创建项目

    3. (可选):选择添加新属性以向表格中添加更多属性。

    4. 输入每个属性的值,然后选择创建项目

第 2 步:创建具有相应 DynamoDB 权限的 IAM 策略和角色

要在 App Studio 中使用 DynamoDB 资源,管理员必须创建 IAM 策略和角色以授予应用工作室访问资源的权限。IAM 策略控制构建者可以使用的数据范围以及可以对这些数据调用哪些操作,例如创建、读取、更新或删除。然后,IAM 策略将附加到 App Studio 使用的 IAM 角色。

我们建议为每项服务和策略创建至少一个 IAM 角色。例如,如果构建器在 DynamoDB 中创建两个由相同表支持的应用程序,一个只需要读取权限,另一个需要读取、创建、更新和删除;管理员应创建两个 IAM 角色,一个使用只读权限,一个对适用表具有完全 CRUD 权限。

步骤 2a:创建具有相应 DynamoDB 权限的 IAM 策略

您在 App Studio 中创建和使用的 IAM 策略应仅包含应用程序遵循最佳安全实践所需的相应资源的最低权限。

创建具有相应 DynamoDB 权限的 IAM 策略
  1. 使用有权创建 IAM 策略的用户登录 IAM 控制台。我们建议使用中创建的管理用户注册参加 AWS 账户

  2. 在左侧导航栏中,选择策略

  3. 选择创建策略

  4. 策略编辑器部分,选择 JSON 选项。

  5. 键入或粘贴 JSON 策略文档。以下选项卡包含对 DynamoDB 表进行只读和完全访问的示例策略,以及包含使用 AWS KMS 客户管理密钥 (CMK) 加密的 DynamoDB 表的 AWS KMS 权限的策略示例。

    注意

    以下策略适用于使用通配符 () 的所有 DynamoDB 资源。*为了实现最佳安全实践,您应将通配符替换为要在 App Studio 中使用的资源的亚马逊资源名称 (ARN)。

    Read only

    以下策略授予对已配置的 DynamoDB 资源的读取权限。

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "ReadOnlyDDBForAppStudio", "Effect": "Allow", "Action": [ "dynamodb:ListTables", "dynamodb:DescribeTable", "dynamodb:PartiQLSelect" ], "Resource": "*" } ] }
    Full access

    以下策略授予对已配置的 DynamoDB 资源的创建、读取、更新和删除访问权限。

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "FullAccessDDBForAppStudio", "Effect": "Allow", "Action": [ "dynamodb:ListTables", "dynamodb:DescribeTable", "dynamodb:PartiQLSelect", "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete" ], "Resource": "*" } ] }
    Read only - KMS encrypted

    以下策略通过提供 AWS KMS 权限授予对已配置的加密 DynamoDB 资源的读取访问权限。必须将 ARN 替换为密钥的 ARN。 AWS KMS

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "ReadOnlyDDBForAppStudio", "Effect": "Allow", "Action": [ "dynamodb:ListTables", "dynamodb:DescribeTable", "dynamodb:PartiQLSelect" ], "Resource": "*" }, { "Sid": "KMSPermissionsForEncryptedTable", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
    Full access - KMS encrypted

    以下策略通过提供 AWS KMS 权限授予对已配置的加密 DynamoDB 资源的读取访问权限。必须将 ARN 替换为密钥的 ARN。 AWS KMS

    JSON
    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "ReadOnlyDDBForAppStudio", "Effect": "Allow", "Action": [ "dynamodb:ListTables", "dynamodb:DescribeTable", "dynamodb:PartiQLSelect", "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete" ], "Resource": "*" }, { "Sid": "KMSPermissionsForEncryptedTable", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
  6. 选择下一步

  7. 在 “查看并创建” 页面上,提供策略名称,例如ReadOnlyDDBForAppStudioFullAccessDDBForAppStudio,以及描述(可选)。

  8. 选择创建策略来创建策略。

第 2b 步:创建 IAM 角色以授予 App Studio 访问 DynamoDB 资源的权限

现在,创建一个使用您之前创建的策略的 IAM 角色。应用工作室将使用此策略来获取对已配置的 DynamoDB 资源的访问权限。

创建 IAM 角色以授予 App Studio 访问 DynamoDB 资源的权限
  1. 使用有权创建 IAM 角色的用户登录 IAM 控制台。我们建议使用中创建的管理用户注册参加 AWS 账户

  2. 在控制台的导航窗格中,选择 Roles,然后选择 Create role

  3. 可信实体类型中,选择自定义信任策略

  4. 将默认策略替换为以下策略,以允许 App Studio 应用程序在您的账户中代入此角色。

    您必须在策略中替换以下占位符。要使用的值可以在 App Studio 的 “账户设置” 页面中找到。

    • 111122223333替换为 AWS 用于设置 App Studio 实例的账户的账号,该AWS 账户在 App Studio 实例的账户设置中列为账户 ID。

    • 11111111-2222-3333-4444-555555555555替换为您的 App Studio 实例 ID,在 App Studio 实例的账户设置中列为实例 ID。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:PrincipalTag/IsAppStudioAccessRole": "true", "sts:ExternalId": "11111111-2222-3333-4444-555555555555" } } } ] }

    选择下一步

  5. 添加权限中,搜索并选择您在上一步中创建的策略(ReadOnlyDDBForAppStudioFullAccessDDBForAppStudio)。选择策略旁边的 + 将展开策略以显示其授予的权限,选中复选框将选中该策略。

    选择下一步

  6. 名称、查看和创建页面上,提供角色名称描述

  7. 步骤 3:添加标签中,选择添加新标签以添加以下标签以提供 App Studio 访问权限:

    • 密钥:IsAppStudioDataAccessRole

    • 价值:true

  8. 选择创建角色并记下生成的亚马逊资源名称 (ARN),在 App Studio 中创建 DynamoDB 连接器时需要该名称。

创建 DynamoDB 连接器

现在您已经配置了 DynamoDB 资源以及 IAM 策略和角色,使用该信息在 App Studio 中创建连接器,构建者可以使用该连接器将其应用程序连接到 DynamoDB。

注意

您必须在 App Studio 中拥有管理员角色才能创建连接器。

为 DynamoDB 创建连接器
  1. 导航到 App Studio。

  2. 在左侧导航栏的管理区域,选择连接器。您将被带到一个显示现有连接器列表的页面,其中包含有关每个连接器的一些详细信息。

  3. 选择 + 创建连接器

  4. 从连接器类型列表中选择亚马逊 DynamoDB。

  5. 通过填写以下字段来配置您的连接器:

  6. 选择下一步。查看连接信息,然后选择创建

  7. 新创建的连接器将出现在连接器列表中。