

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

# Envoy プロキシの認可
<a name="proxy-authorization"></a>

**重要**  
サポート終了通知: 2026 年 9 月 30 日、 AWS はサポートを終了します AWS App Mesh。2026 年 9 月 30 日以降、 AWS App Mesh コンソールまたは AWS App Mesh リソースにアクセスできなくなります。詳細については、このブログ記事[「 から Amazon ECS Service Connect AWS App Mesh への移行](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)」を参照してください。

プロキシ認可は、Amazon ECS タスク内、Amazon EKS で実行されている Kubernetes ポッド、または Amazon EC2 インスタンスで実行されている [Envoy](envoy.md) プロキシが、App Mesh Envoy Management Service から1つ以上のメッシュエンドポイントの設定を読み取ることを認可します。2021 年 4 月 26 日以前にすでに Envoy を App Mesh エンドポイントに接続している顧客アカウントの場合、[Transport Layer Security (TLS)](https://docs.aws.amazon.com/app-mesh/latest/userguide/tls.html) を使用する仮想ノードと仮想ゲートウェイ (TLS の有無にかかわらず) にはプロキシ認可が必要です。2021 年 4 月 26 日以降に Envoy を App Mesh エンドポイントに接続する顧客アカウントの場合、すべての App Mesh 機能にプロキシ認可が必要です。すべての顧客アカウントが、TLS を使用していない場合でも、すべての仮想ノードのプロキシ認可を有効にして、特定のリソースへの認可に IAM を使用して安全で一貫性のあるエクスペリエンスを提供することをお勧めします。プロキシ認可では、`appmesh:StreamAggregatedResources` アクセス許可は IAM ポリシーで指定されています。ポリシーは IAM ロールに添付する必要があり、その IAM ロールは、プロキシをホストするコンピューティングリソースに添付する必要があります。

## IAM ポリシーを作成する
<a name="create-iam-policy"></a>

サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取れるようにするには、[IAM ロールの作成](#create-iam-role) に進みます。個々のメッシュエンドポイントで設定を読み取りできるメッシュエンドポイントを制限する場合は、1 つ以上の IAM ポリシーを作成する必要があります。設定を読み取りできるメッシュエンドポイントを、特定のコンピューティングリソースで実行されている Envoy プロキシのみに制限することをお勧めします。IAM ポリシーを作成し、`appmesh:StreamAggregatedResources` ポリシーへのアクセス許可を追加します。次のポリシーの例では、`serviceBv1` と `serviceBv2` という名前の仮想ノードの設定をサービスメッシュで読み取りすることを許可します。サービスメッシュで定義されている他の仮想ノードの設定を読み取りすることはできません。IAM ポリシーの作成と編集の詳細については、「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」と「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」を参照してください。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "appmesh:StreamAggregatedResources",
            "Resource": [
                "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/serviceBv1",
                "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/serviceBv2"
            ]
        }
    ]
}
```

------

複数のポリシーを作成し、各ポリシーで異なるメッシュエンドポイントへのアクセスを制限できます。

## IAM ロールの作成
<a name="create-iam-role"></a>

サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取りできるようにするには、1 つの IAM ロールを作成するだけで済みます。個々のメッシュエンドポイントで設定を読み取りできるメッシュエンドポイントを制限する場合は、前の手順で作成したポリシーごとにロールを作成する必要があります。プロキシが実行されるコンピュートリソースの指示を完了します。
+ **Amazon EKS** — 単一のロールを使用する場合は、クラスターの作成時に作成され、ワーカーノードに割り当てられた既存のロールを使用できます。複数のロールを使用するには、クラスターが「[クラスターでのサービスアカウントの IAM ロールの有効化](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html)」で定義されている要件を満たしている必要があります。IAM ロールを作成し、ロールを Kubernetes サービスアカウントに関連付けます。詳細については、「[サービスアカウントの IAM ロールとポリシーの作成](https://docs.aws.amazon.com/eks/latest/userguide/create-service-account-iam-policy-and-role.html)」と「[サービスアカウントの IAM ロールの指定](https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html)」を参照してください。
+ **Amazon ECS** – **AWS サービス**を選択し、**Elastic Container Service** を選択してから、IAMロールを作成するときに **Elastic Container Service Task** のユースケースを選択します。
+ **Amazon EC2** – **AWS サービス**を選択し、**EC2** を選択してから、IAM ロールを作成するときに **EC2** ユースケースを選択します。これは、プロキシを Amazon EC2 インスタンスで直接ホストする場合でも、インスタンスで実行されている Kubernetes でホストする場合でも適用されます。

IAM ロールを作成する方法の詳細については、[「 AWS サービスのロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)」を参照してください。

## IAM ポリシーの添付
<a name="attach-iam-policy"></a>

サービスメッシュ内のすべてのメッシュエンドポイントで、すべてのメッシュエンドポイントの設定を読み取りできるようにするには、`[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージド IAM ポリシーを、前のステップで作成した IAM ロールにアタッチします。個々のメッシュエンドポイントで設定を読み込みできるメッシュエンドポイントを制限する場合は、作成した各ポリシーを、作成した各ロールにアタッチします。カスタムまたはマネージド IAM ポリシーを IAM ロールに添付する方法の詳細については、「[IAM ID アクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console)」を参照してください。

## IAM ロールを添付する
<a name="attach-role"></a>

各 IAM ロールを適切なコンピューティングリソースに添付します。
+ **Amazon EKS** — ワーカーノードに添付されたロールにポリシーを添付した場合は、この手順をスキップできます。個別のロールを作成した場合は、各ロールを個別の Kubernetes サービスアカウントに割り当てて、各サービスアカウントを Envoy プロキシを含む個々の Kubernetes ポッドデプロイ仕様に割り当てます。詳細については、「*Amazon EKS ユーザーガイド*」の「[サービスアカウントの IAM ロールの指定](https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html)」、および「Kubernetes ドキュメント」の「[Pod のサービスアカウントを設定する](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)」を参照してください。
+ **Amazon ECS** — Envoy プロキシを含むタスク定義に Amazon ECS タスクロールを添付します。タスクは EC2 または Fargate 起動タイプでデプロイできます。Amazon ECS タスクロールを作成してタスクにアタッチする方法の詳細については、「[タスクの IAM ロールの指定](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#create_task_iam_policy_and_role)」を参照してください。
+ **Amazon EC2** — IAM ロールは、Envoy プロキシをホストする Amazon EC2 インスタンスに添付する必要があります。Amazon EC2 インスタンスにロールをアタッチする方法の詳細については、「[IAM ロールを作成しましたが、今度は EC2 インスタンスに割り当てたいと思います](https://aws.amazon.com/premiumsupport/knowledge-center/assign-iam-role-ec2-instance)」を参照してください。

## アクセス許可の確認
<a name="confirm-permission"></a>

コンピュートサービス名の1つを選択して、プロキシをホストするコンピュートリソースに `appmesh:StreamAggregatedResources` アクセス許可が割り当てられていることを確認します。

------
#### [ Amazon EKS ]

カスタムポリシーは、ワーカーノード、個々のポッド、またはその両方に割り当てられるロールに割り当てることができます。ただし、個々のポッドのアクセスを個々のメッシュエンドポイントに制限できるように、個々の Pod にのみポリシーを割り当てることをお勧めします。ポリシーがワーカーノードに割り当てられたロールに添付されている場合は、**Amazon EC2** タブをクリックし、ワーカーノードインスタンスの手順を完了します。Kubernetes ポッドに割り当てられている IAM ロールを特定するには、次の手順を実行します。

1. Kubernetes サービスアカウントが割り当てられていることを確認するポッドを含む Kubernetes デプロイの詳細を表示します。次のコマンドは、*my-deployment* という名前のデプロイの詳細を表示します。

   ```
   kubectl describe deployment my-deployment
   ```

   返された出力では、`Service Account:` の右側にある値をメモします。`Service Account:` で始まる行が存在しない場合、カスタム Kubernetes サービスアカウントは現在デプロイメントに割り当てられていません。1 つを割り当てる必要があります。詳細については、「Kubernetes ドキュメント」の「[ポッド用にサービスアカウントを設定する](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)」を参照してください。

1. 前のステップで返されたサービスアカウントの詳細を表示します。次のコマンドは、*my-service-account* という名前のサービスアカウントの詳細を表示します。

   ```
   kubectl describe serviceaccount my-service-account
   ```

   Kubernetes サービスアカウントが AWS Identity and Access Management ロールに関連付けられている場合、返される行の 1 つは次の例のようになります。

   ```
   Annotations:         eks.amazonaws.com/role-arn=arn:aws:iam::123456789012:role/my-deployment
   ```

   前の例 `my-deployment` では、サービスアカウントに関連付けられている IAM ロールの名前です。サービスアカウントの出力に上記の例のような行が含まれていない場合、Kubernetes サービスアカウントは AWS Identity and Access Management アカウントに関連付けられていないため、アカウントに関連付ける必要があります。詳細については、「[サービスアカウントの IAM ロールの指定](https://docs.aws.amazon.com/eks/latest/userguide/specify-service-account-role.html)」を参照してください。

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

1. 左のナビゲーションペインで、**[ロール]** を選択します。前のステップでメモした IAM ロールの名前を選択します。

1. 以前に作成したカスタムポリシー、または `[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージドポリシーが一覧表示されます。どちらのポリシーもアタッチされていない場合は、[IAM ポリシー](#attach-iam-policy)を IAM ロールにアタッチします。カスタム IAM ポリシーをアタッチしたいが持っていない場合は、必要なアクセス許可を持つ[カスタム IAM ポリシー](#create-iam-policy)を作成する必要があります。カスタム IAM ポリシーが添付されている場合は、ポリシーを選択し、そこに `"Action": "appmesh:StreamAggregatedResources"` が含まれていることを確認します。そうでない場合は、そのアクセス許可をカスタム IAM ポリシーに追加する必要があります。また、特定のメッシュエンドポイントに適切な Amazon リソースネーム (ARN) が表示されていることを確認することもできます。ARN がリストされていない場合は、ポリシーを編集して、リストされた ARN を追加、削除、または変更することができます。詳細については、「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」および [IAM ポリシーを作成する](#create-iam-policy) を参照してください。

1. Envoy プロキシを含む各 Kubernetes ポッドについて、上記の手順を繰り返します。

------
#### [ Amazon ECS ]

1. Amazon ECS コンソールから、**[タスク定義]** を選択します。

1. Amazon ECS タスクを選択します。

1. **[タスク定義名]** ページで、タスク定義を選択します。

1. **[タスク定義]** ページで、**[タスクロール]** の右側にある IAM ロール名のリンクを選択します。IAM ロールがリストされていない場合は、[IAM ロールを作成し](#create-iam-role)、[タスク定義を更新](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-task-definition.html)してタスクにアタッチする必要があります。

1. **[概要]** ページの **[アクセス許可]** タブで、以前に作成したカスタムポリシー、または `[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージドポリシーのいずれかが一覧表示されていることを確認します。どちらのポリシーもアタッチされていない場合は、[IAM ポリシー](#attach-iam-policy)を IAM ロールにアタッチします。カスタム IAM ポリシーをアタッチしたいが持っていない場合は、[カスタム IAM ポリシー](#create-iam-policy)を作成します。カスタム IAM ポリシーが添付されている場合は、ポリシーを選択し、そこに `"Action": "appmesh:StreamAggregatedResources"` が含まれていることを確認します。そうでない場合は、そのアクセス許可をカスタム IAM ポリシーに追加する必要があります。また、特定のメッシュエンドポイントに適切な Amazon リソースネーム (ARN) が表示されていることを確認することもできます。ARN がリストされていない場合は、ポリシーを編集して、リストされた ARN を追加、削除、または変更することができます。詳細については、「[IAM ポリシーの編集](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-edit.html)」および [IAM ポリシーを作成する](#create-iam-policy) を参照してください。

1. Envoy プロキシを含むタスク定義ごとに、上記の手順を繰り返します。

------
#### [ Amazon EC2 ]

1. Amazon EC2 コンソールから、左側のナビゲーションで **[インスタンス]** を選択します。

1. Envoy プロキシをホストするインスタンスの 1 つを選択します。

1. **[説明]** タブで、**IAM ロール**の右側にある IAM ロール名のリンクを選択します。IAM ロールがリストされていない場合、[IAM ロールを作成する](#create-iam-role)必要があります。

1. **[概要]** ページの **[アクセス許可]** タブで、以前に作成したカスタムポリシー、または `[AWSAppMeshEnvoyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess%24jsonEditor)` マネージドポリシーのいずれかが一覧表示されていることを確認します。どちらのポリシーもアタッチされていない場合は、[IAM ポリシー](#attach-iam-policy)を IAM ロールにアタッチします。カスタム IAM ポリシーをアタッチしたいが持っていない場合は、[カスタム IAM ポリシー](#create-iam-policy)を作成します。カスタム IAM ポリシーが添付されている場合は、ポリシーを選択し、そこに `"Action": "appmesh:StreamAggregatedResources"` が含まれていることを確認します。そうでない場合は、そのアクセス許可をカスタム IAM ポリシーに追加する必要があります。また、特定のメッシュエンドポイントに適切な Amazon リソースネーム (ARN) が表示されていることを確認することもできます。ARN がリストされていない場合は、ポリシーを編集して、リストされた ARN を追加、削除、または変更することができます。詳細については、「[IAM ポリシーの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html)」および [IAM ポリシーを作成する](#create-iam-policy) を参照してください。

1. Envoy プロキシをホストしているインスタンスごとに、上記の手順を繰り返します。

------