

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

# Amazon Simple Storage Service (Amazon S3) に接続する
<a name="connectors-s3"></a>

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

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

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

1. [ステップ 3: Amazon S3 コネクタを作成する](#connectors-s3-create-connector)

ステップを完了し、適切なアクセス許可を持つコネクタを作成したら、ビルダーはコネクタを使用して Amazon S3 リソースとやり取りするアプリケーションを作成できます。App Studio アプリケーションで Amazon S3 を操作する方法の詳細については、「」を参照してください[Amazon Simple Storage Service とコンポーネントおよびオートメーションの操作](automations-s3.md)。

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

アプリのニーズと既存のリソースによっては、アプリが書き込んだり読み取ったりするための Amazon S3 バケットを作成する必要がある場合があります。バケットを含む Amazon S3 リソースの作成については、Amazon *Simple Storage Service* [ユーザーガイドのAmazon S3の開始方法](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)」を参照してください。

アプリケーションで [S3 アップロード](components-reference.md#s3-upload-component)コンポーネントを使用するには、アップロードする Amazon S3 バケットに Cross-Origin Resource Sharing (CORS) 設定を追加する必要があります。CORS 設定は、オブジェクトをバケットにプッシュするアクセス許可を App Studio に付与します。次の手順では、コンソールを使用して Amazon S3 バケットに CORS 設定を追加する方法について詳しく説明します。CORS とその設定の詳細については、*「Amazon Simple Storage Service ユーザーガイド*」の[「Cross-Origin Resource Sharing (CORS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) の使用」を参照してください。

**コンソールで Amazon S3 バケットに CORS 設定を追加するには**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) でバケットに移動します。

1. **[アクセス許可]** タブを選択します。

1. **Cross-Origin Resource Sharing (CORS)** で、**Edit** を選択します。

1. 次のスニペットを追加します。

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "PUT",
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. **[Save changes]** (変更の保存) をクリックします。

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

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

サービスおよびポリシーごとに少なくとも 1 つの IAM ロールを作成することをお勧めします。例えば、ビルダーが Amazon S3 の異なるバケットにバックアップされた 2 つのアプリケーションを作成する場合、管理者はバケットごとに 1 つずつ、2 つの IAM ポリシーとロールを作成する必要があります。

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

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

**適切な Amazon S3 アクセス許可を持つ 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 ポリシードキュメントに入力または貼り付けます。次のタブには、Amazon S3 リソースへの読み取り専用およびフルアクセスのポリシー例が含まれています。
**注記**  
以下のポリシーは、ワイルドカード () を使用するすべての Amazon S3 リソースに適用されます`*`。セキュリティのベストプラクティスとして、ワイルドカードを App Studio で使用するバケットやフォルダなどのリソースの Amazon リソースネーム (ARN) に置き換える必要があります。

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

   次のポリシーは、設定された Amazon S3 バケットまたはフォルダへの読み取り専用アクセス (取得および一覧表示) を許可します。

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "S3ReadOnlyForAppStudio",
            "Effect": "Allow",
            "Action": [
               "s3:GetObject",
               "s3:ListBucket"
            ],
            "Resource": "*"
         }
      ]
   }
   ```

------

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

   次のポリシーは、設定された Amazon S3 バケットまたはフォルダへのフルアクセス (入力、取得、一覧表示、削除) を許可します。

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "S3FullAccessForAppStudio",
            "Effect": "Allow",
            "Action": [
               "s3:PutObject",
               "s3:GetObject",
               "s3:ListBucket",
               "s3:DeleteObject"
            ],
            "Resource": "*"
         }
      ]
   }
   ```

------

------

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

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

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

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

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

サービスおよびポリシーごとに少なくとも 1 つの IAM ロールを作成することをお勧めします。

**App Studio に Amazon S3 リソースへのアクセスを許可する 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. アクセス**許可の追加**で、前のステップで作成したポリシー (**S3ReadOnlyForAppStudio** または ) を検索して選択します**S3FullAccessForAppStudio**。ポリシーの横にある **\+** を選択すると、ポリシーが展開され、ポリシーによって付与されたアクセス許可が表示され、チェックボックスを選択するとポリシーが選択されます。

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

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

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

1. **ロールの作成**を選択し、生成された Amazon リソースネーム (ARN) を書き留めます。次のステップで App Studio で Amazon S3 コネクタを作成するために必要になります。

## ステップ 3: Amazon S3 コネクタを作成する
<a name="connectors-s3-create-connector"></a>

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

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

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

1. App Studio に移動します。

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

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

1. **Amazon S3** コネクタを選択します。

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

1. **[作成]** を選択します。

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