

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon DynamoDB に接続する
<a name="connectors-dynamodb"></a>

App Studio を DynamoDB に接続して、ビルダーがアプリケーションで DynamoDB リソースにアクセスして使用できるようにするには、次の手順を実行する必要があります。

1. [ステップ 1: DynamoDB リソースを作成して設定する](#connectors-dynamodb-create-resources)

1. [ステップ 2: 適切な DynamoDB アクセス許可を持つ IAM ポリシーとロールを作成する](#connectors-dynamodb-iam)

1. [DynamoDB コネクタを作成する](#connectors-dynamodb-create-connector)

## ステップ 1: DynamoDB リソースを作成して設定する
<a name="connectors-dynamodb-create-resources"></a>

App Studio で使用する DynamoDB リソースを作成および設定するには、次の手順に従います。

**App Studio で使用する DynamoDB を設定するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/) で DynamoDB コンソールを開きます。

   で作成した管理ユーザーを使用することをお勧めします[AWS リソースを管理するための管理ユーザーを作成する](setting-up-first-time-admin.md#setting-up-create-admin-user)。

1. 左のナビゲーションペインで、**[テーブル]** を選択します。

1. **[テーブルの作成]** を選択します。

1. テーブルの名前とキーを入力します。

1. **[テーブルの作成]** を選択します。

1. テーブルを作成したら、テーブルが App Studio に接続された後に表示されるように、いくつかの項目を追加します。

   1. テーブルを選択し、**アクション**を選択し、**項目を探索**を選択します。

   1. **返されたアイテム**で、**アイテムの作成**を選択します。

   1. (オプション): **新しい属性を追加**を選択して、テーブルに属性を追加します。

   1. 各属性の値を入力し、**項目の作成**を選択します。

## ステップ 2: 適切な DynamoDB アクセス許可を持つ IAM ポリシーとロールを作成する
<a name="connectors-dynamodb-iam"></a>

App Studio で DynamoDB リソースを使用するには、管理者は IAM ポリシーとロールを作成して、リソースへのアクセス許可を App Studio に付与する必要があります。IAM ポリシーは、ビルダーが使用できるデータの範囲と、作成、読み取り、更新、削除など、そのデータに対して呼び出すことができるオペレーションを制御します。IAM ポリシーは、App Studio で使用される IAM ロールにアタッチされます。

サービスおよびポリシーごとに少なくとも 1 つの IAM ロールを作成することをお勧めします。例えば、ビルダーが DynamoDB の同じテーブルにバックアップされた 2 つのアプリケーションを作成する場合、1 つは読み取りアクセスのみが必要で、もう 1 つは読み取り、作成、更新、削除が必要です。管理者は 2 つの IAM ロールを作成し、1 つは読み取り専用アクセス許可を使用し、もう 1 つは DynamoDB の該当するテーブルに対する完全な CRUD アクセス許可を持っている必要があります。

### ステップ 2a: 適切な DynamoDB アクセス許可を持つ IAM ポリシーを作成する
<a name="connectors-dynamodb-iam-policy"></a>

App Studio で作成して使用する IAM ポリシーには、アプリケーションがベストプラクティスに従うための適切なリソースに対する最小限のアクセス許可のみを含める必要があります。

**適切な DynamoDB アクセス許可を持つ IAM ポリシーを作成するには**

1. [IAM ポリシーを作成する権限を持つユーザーを使用して IAM コンソール](https://console.aws.amazon.com/iam)にサインインします。で作成した管理ユーザーを使用することをお勧めします[AWS リソースを管理するための管理ユーザーを作成する](setting-up-first-time-admin.md#setting-up-create-admin-user)。

1. 左側のナビゲーションペインで、**ポリシー**を選択します。

1. [**Create policy**] (ポリシーの作成) を選択します。

1. [**ポリシーエディタ**] セクションで、[**JSON**] オプションを選択します。

1. JSON ポリシードキュメントに入力または貼り付けます。次のタブには、DynamoDB テーブルへの読み取り専用およびフルアクセス用のポリシーの例と、 AWS KMS カスタマーマネージドキー (CMK) で暗号化された DynamoDB テーブルの AWS KMS アクセス許可を含むポリシーの例が含まれています。
**注記**  
以下のポリシーは、ワイルドカード () を使用するすべての DynamoDB リソースに適用されます`*`。セキュリティのベストプラクティスとして、ワイルドカードを App Studio で使用するリソースの Amazon リソースネーム (ARN) に置き換える必要があります。

------
#### [ Read only ]

   次のポリシーは、設定された DynamoDB リソースへの読み取りアクセスを許可します。

------
#### [ JSON ]

****  

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

------

------
#### [ Full access ]

   次のポリシーは、設定された DynamoDB リソースへの作成、読み取り、更新、削除アクセスを許可します。

------
#### [ 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 は AWS KMS キーの ARN に置き換える必要があります。

------
#### [ 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 は AWS KMS キーの ARN に置き換える必要があります。

------
#### [ 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}}"
           }
       ]
   }
   ```

------

------

1. [**次へ**] を選択します。

1. **確認と作成**ページで、 **ReadOnlyDDBForAppStudio**や などの**ポリシー名****FullAccessDDBForAppStudio**、および**説明** (オプション) を指定します。

1. [**ポリシーの作成**]を選択し、ポリシーを作成します。

### ステップ 2b: App Studio に DynamoDB リソースへのアクセスを許可する IAM ロールを作成する
<a name="connectors-dynamodb-iam-role"></a>

次に、以前に作成したポリシーを使用する IAM ロールを作成します。App Studio はこのポリシーを使用して、設定された DynamoDB リソースにアクセスします。

**App Studio に DynamoDB リソースへのアクセスを許可する IAM ロールを作成するには**

1. [IAM ロールを作成する権限を持つユーザーを使用して IAM コンソール](https://console.aws.amazon.com/iam)にサインインします。で作成した管理ユーザーを使用することをお勧めします[AWS リソースを管理するための管理ユーザーを作成する](setting-up-first-time-admin.md#setting-up-create-admin-user)。

1. コンソールのナビゲーションペインで、**[ロール]**、**[ロールの作成]** の順に選択します。

1. **信頼されたエンティティタイプ**で、**カスタム信頼ポリシー**を選択します。

1. デフォルトポリシーを次のポリシーに置き換えて、App Studio アプリケーションがアカウントでこのロールを引き受けることを許可します。

   ポリシーで次のプレースホルダーを置き換える必要があります。使用する値は、App Studio の**アカウント設定**ページにあります。
   + {{111122223333}} を、App Studio インスタンスのセットアップに使用したアカウントの AWS アカウント番号に置き換えます。これは、App Studio インスタンスのアカウント設定にアカウント **AWS ID** として表示されます。
   + {{11111111-2222-3333-4444-5555555555 }}を、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}}"
                   }
               }
           } 
       ]
   }
   ```

------

   [**次へ**] を選択します。

1. アクセス**許可の追加**で、前のステップで作成したポリシー (**ReadOnlyDDBForAppStudio** または ) を検索して選択します**FullAccessDDBForAppStudio**。ポリシーの横にある **\+** を選択すると、ポリシーが展開され、ポリシーによって付与されたアクセス許可が表示され、チェックボックスを選択するとポリシーが選択されます。

   [**次へ**] を選択します。

1. **名前、レビュー、および作成**ページで、**ロール名**と**説明**を指定します。

1. **ステップ 3: タグを追加する**で、**新しいタグを追加**を選択して次のタグを追加して App Studio アクセスを提供します。
   + **キー: **`IsAppStudioDataAccessRole`
   + **値: **`true`

1. **「ロールの作成**」を選択し、生成された Amazon リソースネーム (ARN) を書き留めます。[App Studio で DynamoDB コネクタを作成する](#connectors-dynamodb-create-connector)ときに必要になります。

## DynamoDB コネクタを作成する
<a name="connectors-dynamodb-create-connector"></a>

DynamoDB リソースと IAM ポリシーとロールを設定したら、その情報を使用して、ビルダーがアプリケーションを DynamoDB に接続するために使用できるコネクタを App Studio に作成します。

**注記**  
コネクタを作成するには、App Studio に管理者ロールが必要です。

**DynamoDB のコネクタを作成するには**

1. App Studio に移動します。

1. 左側のナビゲーションペインで、**「管理****」セクションの「コネクタ**」を選択します。既存のコネクタのリストとそれぞれの詳細を示すページが表示されます。

1. **\+ コネクタの作成**を選択します。

1. コネクタタイプのリストから **Amazon DynamoDB** を選択します。

1. 次のフィールドに入力してコネクタを設定します。
   + **名前:** DynamoDB コネクタの名前を入力します。
   + **説明:** DynamoDB コネクタの説明を入力します。
   + **IAM ロール:** で作成した IAM ロールから Amazon リソースネーム (ARN) を入力します[ステップ 2b: App Studio に DynamoDB リソースへのアクセスを許可する IAM ロールを作成する](#connectors-dynamodb-iam-role)。IAM の詳細については、[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) を参照してください。
   + **リージョン:** DynamoDB リソースがある AWS リージョンを選択します。
   + **使用可能なテーブル:** App Studio に接続するテーブルを選択します。

1. [**次へ**] を選択します。接続情報を確認し、**作成**を選択します。

1. 新しく作成されたコネクタが**コネクタ**リストに表示されます。