

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

# AWS リソースへのアクセスを許可する SSR コンピューティングロールの追加
<a name="amplify-SSR-compute-role"></a>

この統合により、Amplify SSR コンピューティングサービスに IAM ロールを割り当てて、サーバー側レンダリング (SSR) アプリケーションがロールのアクセス許可に基づいて特定の AWS リソースに安全にアクセスできるようにします。例えば、アプリケーションの SSR コンピューティング関数が、割り当てられた IAM ロールで定義されたアクセス許可に基づいて、 や Amazon S3 バケットなどの他の AWS サービス Amazon Bedrock やリソースに安全にアクセスすることを許可できます。

IAM SSR コンピューティングロールは一時的な認証情報を提供するため、環境変数で存続期間の長いセキュリティ認証情報をハードコードする必要はありません。IAM SSR コンピューティングロールの使用は、最小特権のアクセス許可を付与し、可能であれば短期認証情報を使用する AWS というセキュリティのベストプラクティスに沿ったものです。

このセクションの後半の手順では、カスタムアクセス許可を持つポリシーを作成し、そのポリシーをロールにアタッチする方法について説明します。ロールを作成するときは、ロールを引き受けるアクセス許可を Amplify に付与するカスタム信頼ポリシーをアタッチする必要があります。信頼関係が正しく定義されていない場合、ロールを追加しようとするとエラーが発生します。次のカスタム信頼ポリシーはロールを継承するための許可を Amplify に付与します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "amplify.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Amplify コンソール、 AWS SDKs、または を使用して、 の IAM ロールを AWS アカウント 既存の SSR アプリケーションに関連付けることができます AWS CLI。アタッチしたロールは、Amplify SSR コンピューティングサービスに自動的に関連付けられ、他の AWS リソースにアクセスするために指定したアクセス許可が付与されます。アプリケーションのニーズが時間の経過とともに変化するにつれて、アプリケーションを再デプロイすることなく、アタッチされた IAM ロールを変更できます。これにより、柔軟性を得られ、アプリケーションのダウンタイムが短縮されます。

**重要**  
セキュリティとコンプライアンスの目的を達成するようにアプリケーションを設定するのはお客様の責任です。これには、SSR コンピューティングロールの管理が含まれます。これは、ユースケースのサポートに必要な最小限のアクセス許可セットを持つように設定する必要があります。詳細については、「[IAM SSR コンピューティングロールのセキュリティの管理](#managing-compute-role-security)」を参照してください。

## IAM コンソールでの SSR コンピューティングロールの作成
<a name="create-SSR-compute-role-IAM-console"></a>

IAM SSR コンピューティングロールを Amplify アプリケーションにアタッチする前に、ロールが AWS アカウントに既に存在している必要があります。このセクションでは、IAM ポリシーを作成し、Amplify が特定の AWS リソースにアクセスするために引き受けることができるロールにアタッチする方法について説明します。

IAM ロールを作成するときは、*最小特権*のアクセス許可を付与する AWS ベストプラクティスに従うことをお勧めします。IAM SSR コンピューティングロールは SSR コンピューティング関数からのみ呼び出されるため、コードの実行に必要なアクセス許可のみを付与する必要があります。

 AWS マネジメントコンソール、 AWS CLI、または SDKs を使用して、IAM でポリシーを作成できます。詳細については、「*IAM ユーザーガイド*」の「[「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

次の手順では、IAM コンソールを使用して、Amplify コンピューティングサービスに付与するアクセス許可を定義する IAM ポリシーを作成する方法を示します。

**IAM コンソール JSON ポリシーエディタでポリシーを作成するには**

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

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

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

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

1. JSON ポリシードキュメントを入力するか貼り付けます。

1. ポリシーにアクセス権限を追加し終えたら、[**次へ**] を選択します。

1. [**確認と作成**] ページで、作成するポリシーの [**ポリシー名**] と [**説明**] (オプション) を入力します。**このポリシーで定義されているアクセス許可** を確認して、ポリシーによって付与されたアクセス許可を確認します。

1. **ポリシーを作成** をクリックして、新しいポリシーを保存します。

ポリシーを作成したら、次の手順を使用してポリシーを IAM ロールにアタッチします。

**特定の AWS リソースに Amplify アクセス許可を付与するロールを作成するには**

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

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

1. **[Custom trust policy]** (カスタム信頼ポリシー) ロールタイプを選択してください。

1. **[Custom trust policy]** (カスタム信頼ポリシー) セクションで、ロールのカスタム信頼ポリシーを入力します。ロールの信頼ポリシーが必要です。これは、ロールを引き受けるために信頼するプリンシパルを定義します。

   次の信頼ポリシーをコピーして貼り付け、このロールを引き受けるアクセス許可を Amplify サービスに付与します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "amplify.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. ポリシーの検証中に生成されたセキュリティ警告、エラー、または一般的な警告を解決してから、**[次へ]** を選択します。

1. **[許可を追加]** ページで、前の手順で作成したポリシーの名前を探し、選択します。次いで、**[次へ]** を選択します。

1. **[ロール名]** に、ロールの名前を入力します。ロール名は 内で一意である必要があります AWS アカウント。大文字と小文字は区別されません。例えば、**PRODROLE** と **prodrole** というロール名を両方作成することはできません。他の AWS リソースはロールを参照する可能性があるため、ロールの作成後にロールの名前を編集することはできません。

1. (オプション) **[説明]** には、新しいロールの説明を入力します。

1. (オプション) **[ステップ 1: 信頼されたエンティティを選択する]** または **[ステップ 2: 許可を追加する]** セクションで **[編集]** を選択し、ロールのカスタムポリシーと許可を編集します。

1. ロール情報を確認し、**ロールの作成** を選択します。

## Amplify アプリへの IAM SSR コンピューティングロールの追加
<a name="add-ssr-compute-role-to-app"></a>

で IAM ロールを作成したら AWS アカウント、Amplify コンソールでアプリに関連付けることができます。

**Amplify コンソールで SSR コンピューティングロールをアプリに追加するには**

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

1. **[すべてのアプリ]** ページで、コンピューティングロールを追加するアプリの名前を選択します。

1. ナビゲーションペインで、**[アプリの設定]** を選択して、**[IAM ロール]** を選択します。

1. **[コンピューティングロール]** セクションで、**[編集]** を選択します。

1. **[デフォルトロール]** リストで、アタッチするロールの名前を検索して選択します。この例では、前の手順で作成したロールの名前を選択できます。デフォルトでは、選択したロールはアプリのすべてのブランチに関連付けられます。

   ロールの信頼関係が正しく定義されていない場合、エラーが表示され、ロールを追加できなくなります。

1. (オプション) アプリケーションがパブリックリポジトリにあり、自動ブランチ作成を使用している場合、またはプルリクエストのウェブプレビューが有効になっている場合は、アプリケーションレベルのロールを使用することはお勧めしません。代わりに、コンピューティングロールは、特定のリソースへのアクセスを必要とするブランチにのみアタッチします。デフォルトのアプリケーションレベルの動作を上書きし、特定のブランチにロールをアタッチするには、次の手順を実行します。

   1. **[ブランチ]** には、使用するブランチの名前を選択します。

   1. **[コンピューティングロール]**で、ブランチに関連付けるロールの名前を選択します。

1. [**保存**] を選択します。

## IAM SSR コンピューティングロールのセキュリティの管理
<a name="managing-compute-role-security"></a>

セキュリティは、 AWS お客様とお客様の間の責任共有です。セキュリティとコンプライアンスの目的を達成するようにアプリケーションを設定するのはお客様の責任です。これには、SSR コンピューティングロールの管理が含まれます。これは、ユースケースのサポートに必要な最小限のアクセス許可セットを持つように設定する必要があります。指定する SSR コンピューティングロールの認証情報は、SSR 関数のランタイムですぐに使用できます。SSR コードが意図的に、バグのために、またはリモートコード実行 (RCE) を許可することによってこれらの認証情報を公開した場合、権限のないユーザーは SSR ロールとそのアクセス許可にアクセスできます。

パブリックリポジトリのアプリケーションが SSR コンピューティングロールを使用し、プルリクエストに自動ブランチ作成またはウェブプレビューを使用する場合は、ロールにアクセスできるブランチを慎重に管理する必要があります。アプリケーションレベルのロールを使用しないことをお勧めします。代わりに、ブランチレベルでコンピューティングロールをアタッチする必要があります。これにより、特定のリソースへのアクセスを必要とするブランチにのみアクセス許可を付与できます。

ロールの認証情報が公開されている場合は、次のアクションを実行して、ロールの認証情報へのすべてのアクセスを削除します。

1. **すべてのセッションを取り消す**

   ロールの認証情報に対するすべてのアクセス許可をすぐに取り消す手順については、[「IAM ロールの一時的なセキュリティ認証情報を取り消す](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html)」を参照してください。

1. **Amplify コンソールからロールを削除する**

   このアクションはすぐに有効になります。アプリケーションを再デプロイする必要はありません。

**Amplify コンソールでコンピューティングロールを削除するには**

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

1. **[すべてのアプリ]** ページで、コンピューティングロールを削除するアプリの名前を選択します。

1. ナビゲーションペインで、**[アプリの設定]** を選択して、**[IAM ロール]** を選択します。

1. **[コンピューティングロール]** セクションで、**[編集]** を選択します。

1. **デフォルトロール**を削除するには、ロール名の右側にある **X** を選択します。

1. **[保存]** を選択します。