

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

# 認証ポリシーを使用して VPC Lattice サービスへのアクセスを制御する
<a name="auth-policies"></a>

VPC Lattice 認証ポリシーは、指定したプリンシパルによるサービスのグループまたは特定のサービスへのアクセスを制御するために、サービスネットワークまたはサービスにアタッチする IAM ポリシードキュメントです。アクセスを制御する各サービスネットワークまたはサービスに認証ポリシーを 1 つアタッチできます。

**注記**  
サービスネットワークの認証ポリシーは、サービスネットワークのリソース設定には適用されません。

認証ポリシーは IAM アイデンティティベースのポリシーとは異なります。IAM アイデンティティベースのポリシーは、IAM ユーザー、グループ、ロールにアタッチされ、実行できるアクションとリソースを定義します。認証ポリシーはサービスとサービスネットワークにアタッチされます。認可が正常に完了するためには、認可ポリシーとアイデンティティベースのポリシーの両方において、明示的な許可ステートメントが必要です。詳細については、「[認可の仕組み](#auth-policies-evaluation-logic)」を参照してください。

 AWS CLI および コンソールを使用して、サービスおよびサービスネットワークの認証ポリシーを表示、追加、更新、または削除できます。認証ポリシーを追加、更新、または削除すると、準備が完了するまでに数分かかる場合があります。を使用する場合は AWS CLI、正しい リージョンにいることを確認してください。プロファイルのデフォルトリージョンを変更するか、 コマンドで `--region`パラメータを使用できます。

**Topics**
+ [認証ポリシーの一般的な要素](#auth-policies-common-elements)
+ [認証ポリシーのリソース形式](#auth-policies-resource-format)
+ [認証ポリシーで使用できる条件キー](#auth-policies-condition-keys)
+ [リソースタグ](#resource-tags)
+ [プリンシパルタグ](#principal-tags)
+ [匿名 (認証されていない) プリンシパル](#anonymous-unauthenticated-principals)
+ [認証ポリシーの例](#example-auth-policies)
+ [認可の仕組み](#auth-policies-evaluation-logic)

認証ポリシーの使用を開始するには、手順に沿ってサービスネットワークに適用する認証ポリシーを作成します。制限の厳しいアクセス許可を他のサービスには適用しない場合には、オプションで個別のサービスに認証ポリシーを設定できます。

## 認証ポリシーを使用してサービスネットワークへのアクセスを管理する
<a name="manage-access-to-service-networks"></a>

以下の AWS CLI タスクでは、認証ポリシーを使用してサービスネットワークへのアクセスを管理する方法を示します。コンソールでの手順については、「[VPC Lattice のサービスネットワーク](service-networks.md)」を参照してください。

**Topics**
+ [認証ポリシーをサービスネットワークに追加する](#add-service-network-auth-policy)
+ [サービスネットワークの認証タイプを変更する](#change-service-network-auth-type)
+ [認証ポリシーをサービスネットワークから削除する](#remove-service-network-auth-policy)

### 認証ポリシーをサービスネットワークに追加する
<a name="add-service-network-auth-policy"></a>

このセクションの手順に従って、 を使用して以下 AWS CLI を行います。
+ IAM を使用してサービスネットワークのアクセスコントロールを有効にします。
+ 認証ポリシーをサービスネットワークに追加します。認証ポリシーを追加しない場合、すべてのトラフィックでアクセス拒否エラーが発生します。

**アクセスコントロールを有効にし、認証ポリシーを新しいサービスネットワークに追加する方法**

1. サービスネットワークでアクセスコントロールを有効にして認証ポリシーを使用できるようにするには、**create-service-network** コマンドを使用して `--auth-type` オプションを値 `AWS_IAM` と指定します。

   ```
   aws vpc-lattice create-service-network --name Name --auth-type AWS_IAM [--tags TagSpecification]
   ```

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "sn-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. **put-auth-policy** コマンドを使用して、認証ポリシーを追加するサービスネットワークの ID と追加する認証ポリシーを指定します。

   例えば、次のコマンドを使用して、ID *`sn-0123456789abcdef0`* でサービスネットワークの認証ポリシーを作成します。

   ```
   aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json
   ```

   JSON を使用してポリシー定義を作成します。詳細については、「[認証ポリシーの一般的な要素](#auth-policies-common-elements)」を参照してください。

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

**アクセスコントロールを有効にし、既存のサービスネットワークに認証ポリシーを追加する方法**

1. サービスネットワークでアクセスコントロールを有効にして認証ポリシーを使用できるようにするには、**update-service-network** コマンドを使用して `--auth-type` オプションを値 `AWS_IAM` と指定します。

   ```
   aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type AWS_IAM
   ```

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "sn-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. **put-auth-policy** コマンドを使用して、認証ポリシーを追加するサービスネットワークの ID と追加する認証ポリシーを指定します。

   ```
   aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json
   ```

   JSON を使用してポリシー定義を作成します。詳細については、「[認証ポリシーの一般的な要素](#auth-policies-common-elements)」を参照してください。

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

### サービスネットワークの認証タイプを変更する
<a name="change-service-network-auth-type"></a>

**サービスネットワークの認証ポリシーを無効にする方法**  
**update-service-network** コマンドを使用して `--auth-type` オプションを値 `NONE` と指定します。

```
aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type NONE
```

後ほど認証ポリシーを再度有効にする必要がある場合は、`--auth-type` オプションを `AWS_IAM` と指定してこのコマンドを実行します。

### 認証ポリシーをサービスネットワークから削除する
<a name="remove-service-network-auth-policy"></a>

**認証ポリシーをサービスネットワークから削除する方法**  
**delete-auth-policy** コマンドを使用します。

```
aws vpc-lattice delete-auth-policy --resource-identifier sn-0123456789abcdef0
```

サービスネットワークの認証タイプを `NONE` に変更する前に認証ポリシーを削除すると、リクエストはエラーとなります。

## 認証ポリシーを使用してサービスへのアクセスを管理する
<a name="manage-access-to-services"></a>

以下の AWS CLI タスクでは、認証ポリシーを使用してサービスへのアクセスを管理する方法を示します。コンソールでの手順については、「[VPC Lattice のサービス](services.md)」を参照してください。

**Topics**
+ [認証ポリシーをサービスに追加する](#add-service-auth-policy)
+ [サービスの認証タイプを変更する](#change-service-auth-type)
+ [認証ポリシーをサービスから削除する](#remove-service-auth-policy)

### 認証ポリシーをサービスに追加する
<a name="add-service-auth-policy"></a>

を使用して以下のステップを実行します AWS CLI 。
+ IAM を使用してサービスのアクセスコントロールを有効にします。
+ 認証ポリシーをサービスに追加します。認証ポリシーを追加しない場合、すべてのトラフィックでアクセス拒否エラーが発生します。

**アクセスコントロールを有効にし、認証ポリシーを新しいサービスに追加する方法**

1. サービスでアクセスコントロールを有効にして認証ポリシーを使用できるようにするには、**create-service** コマンドを使用して `--auth-type` オプションを値 `AWS_IAM` と指定します。

   ```
   aws vpc-lattice create-service --name Name --auth-type AWS_IAM [--tags TagSpecification]
   ```

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "dnsEntry": { 
         ...
      },
      "id": "svc-0123456789abcdef0",
      "name": "Name",
      "status": "CREATE_IN_PROGRESS"
   }
   ```

1. **put-auth-policy** コマンドを使用して、認証ポリシーを追加するサービスの ID と追加する認証ポリシーを指定します。

   例えば、次のコマンドを使用して、ID *svc-0123456789abcdef0* でサービスの認証ポリシーを作成します。

   ```
   aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json
   ```

   JSON を使用してポリシー定義を作成します。詳細については、「[認証ポリシーの一般的な要素](#auth-policies-common-elements)」を参照してください。

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

**アクセスコントロールを有効にし、既存のサービスに認証ポリシーを追加する方法**

1. サービスでアクセスコントロールを有効にして認証ポリシーを使用できるようにするには、**update-service** コマンドを使用して `--auth-type` オプションを値 `AWS_IAM` と指定します。

   ```
   aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type AWS_IAM
   ```

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "svc-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. **put-auth-policy** コマンドを使用して、認証ポリシーを追加するサービスの ID と追加する認証ポリシーを指定します。

   ```
   aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json
   ```

   JSON を使用してポリシー定義を作成します。詳細については、「[認証ポリシーの一般的な要素](#auth-policies-common-elements)」を参照してください。

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

### サービスの認証タイプを変更する
<a name="change-service-auth-type"></a>

**サービスの認証ポリシーを無効にする方法**  
**update-service** コマンドを使用して `--auth-type` オプションを値 `NONE` と指定します。

```
aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type NONE
```

後ほど認証ポリシーを再度有効にする必要がある場合は、`--auth-type` オプションを `AWS_IAM` と指定してこのコマンドを実行します。

### 認証ポリシーをサービスから削除する
<a name="remove-service-auth-policy"></a>

**認証ポリシーをサービスから削除する方法**  
**delete-auth-policy** コマンドを使用します。

```
aws vpc-lattice delete-auth-policy --resource-identifier svc-0123456789abcdef0
```

サービスの認証タイプを `NONE` に変更する前に認証ポリシーを削除すると、リクエストはエラーとなります。

サービスに認証されたリクエストを必要とする認証ポリシーを有効にする場合、そのサービスのすべてのリクエストには、Signature Version 4 (SigV4)を使用して計算された有効なリクエストの署名が含まれている必要があります。詳細については、「[Amazon VPC Lattice の SIGv4 認証リクエスト](sigv4-authenticated-requests.md)」を参照してください。

## 認証ポリシーの一般的な要素
<a name="auth-policies-common-elements"></a>

VPC Lattice 認証ポリシーは IAM ポリシーと同じ構文を使用して指定されます。詳細については、「IAM ユーザーガイド」の「[アイデンティティベースおよびリソースベースのポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)」を参照してください。

認証ポリシーには、次の要素が含まれます。
+ **プリンシパル** – ステートメントのアクションとリソースへのアクセスが許可されているユーザーまたはアプリケーションを指します。認証ポリシーでは、プリンシパルはこのアクセス許可の被付与者である IAM エンティティを指します。プリンシパルは IAM エンティティとして認証され、サービスネットワークのサービスのように、特定のリソースまたはリソースのグループにリクエストを送信します。

  リソースベースのポリシーでは、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または AWS サービスを含めることができます。詳細については、「IAM ユーザーガイド」の「[AWS JSON ポリシーの要素: プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)」を参照してください。
+ **効果** - 指定されたプリンシパルが特定のアクションをリクエストするときの効果を指定します。`Allow` または `Deny` のいずれかとなります。デフォルトでは、IAM を使用してサービスまたはサービスネットワークのアクセスコントロールを有効にした場合、プリンシパルにはサービスまたはサービスネットワークにリクエストをする権限がありません。
+ **アクション** – アクセス許可を付与または拒否する特定の API アクション。VPC Lattice は`vpc-lattice-svcs`、 プレフィックスを使用するアクションをサポートしています。詳細については、*「サービス認可リファレンス*」の[「Amazon VPC Lattice Services で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-actions-as-permissions)」を参照してください。
+ **リソース** – アクションによって影響を受けるサービスです。
+ **条件** – 条件はオプションです。ポリシーが有効になるタイミングを制御するために使用できます。詳細については、「サービス認可リファレンス」の「[Amazon VPC Lattice Services の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-policy-keys)」を参照してください。

認証ポリシーを作成し管理するときは、[IAM Policy Generator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-generator) を使用することもできます。

**要件**  
JSON のポリシーには改行または空白行を含めないでください。

## 認証ポリシーのリソース形式
<a name="auth-policies-resource-format"></a>

特定のリソースへのアクセスを制限するには、次の例のとおり `<serviceARN>/<path>` パターンと一致するスキーマを使用し `Resource` 要素をコーディングする認証ポリシーを作成します。


| プロトコル | 例 | 
| --- | --- | 
| HTTP |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/vpc-lattice/latest/ug/auth-policies.html)  | 
| gRPC |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/vpc-lattice/latest/ug/auth-policies.html)  | 

`<serviceARN>` には、次の Amazon リソースネーム (ARN)リソース形式を使用します。

```
arn:aws:vpc-lattice:region:account-id:service/service-id
```

例えば、次のようになります。

```
"Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0"
```

## 認証ポリシーで使用できる条件キー
<a name="auth-policies-condition-keys"></a>

アクセスは認証ポリシーの**条件**要素の条件キーによってさらに細かくコントロールできます。これらの条件キーはプロトコルと、リクエストが [Signature Version 4 (SigV4)](sigv4-authenticated-requests.md) または匿名のどちらで署名されているかによって、評価の対象となります。条件キーは大文字と小文字が区別されます。

AWS には、 `aws:PrincipalOrgID`や などのアクセスを制御するために使用できるグローバル条件キーが用意されています`aws:SourceIp`。 AWS グローバル条件キーのリストを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

次のストーリーでは、VPC Lattice 条件キーを一覧表示します。詳細については、「サービス認可リファレンス」の「[Amazon VPC Lattice Services の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-policy-keys)」を参照してください。


| 条件キー | 説明 | 例 | 匿名の (認証されていない) 発信者による利用可否 | gRPC での利用可否 | 
| --- | --- | --- | --- | --- | 
| vpc-lattice-svcs:Port | リクエストが行われたサービスポートによりアクセスをフィルタリング | 80 | はい  | はい | 
| vpc-lattice-svcs:RequestMethod | リクエスト方法によりアクセスをフィルタリング | GET | はい | 常に POST | 
| vpc-lattice-svcs:RequestPath | リクエスト URL のパス部分でアクセスをフィルタリング | /path | はい  | はい | 
| vpc-lattice-svcs:RequestHeader/header-name: value | リクエストヘッダーのヘッダー名と値のペアによりアクセスをフィルタリング | content-type: application/json | はい  | はい | 
| vpc-lattice-svcs:RequestQueryString/key-name: value | リクエスト URL 内のクエリ文字列キーと値のペアによりアクセスをフィルタリング | quux: [corge, grault] | はい | なし | 
| vpc-lattice-svcs:ServiceNetworkArn | リクエストを受け取ったサービスのサービスネットワークの ARN によりアクセスをフィルタリング | arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0 | はい  | はい | 
| vpc-lattice-svcs:ServiceArn | リクエストを受け取ったサービスの ARN によりアクセスをフィルタリング | arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0 | はい  | はい | 
| vpc-lattice-svcs:SourceVpc | リクエストが行われた VPC によりアクセスをフィルタリング | vpc-1a2b3c4d | はい  | はい | 
| vpc-lattice-svcs:SourceVpcOwnerAccount | リクエストが行われた所有アカウントの VPC によりアクセスをフィルタリング | 123456789012 | はい  | はい | 

## リソースタグ
<a name="resource-tags"></a>

*タグ*は、 AWS AWS リソースに割り当てるメタデータラベルです。各 タグは 2 つの部分で構成されます:
+ *タグキー* (例： `CostCenter`、`Environment`、または `Project`)。タグキーでは、大文字と小文字が区別されます。
+ *タグ値*として知られるオプションのフィールド (例： `111122223333` または `Production`)。タグ値を省略すると、空の文字列を使用した場合と同じになります。タグキーと同様に、タグ値でも大文字と小文字が区別されます。

タグ付けの詳細については、[「タグを使用した AWS リソースへのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)」を参照してください。

`aws:ResourceTag/key` AWS グローバル条件コンテキストキーを使用して、認証ポリシーでタグを使用できます。

次のポリシー例では、タグ を持つ サービスへのアクセスを許可します`Environment=Gamma`。このポリシーでは、ハードコーディングサービス ARNs または IDs のないサービスを参照できます。

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowGammaAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "vpc-lattice-svcs:Invoke",
      "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0124446789abcdef0/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Environment": "Gamma",
        }
      }
    }
  ]
}
```

## プリンシパルタグ
<a name="principal-tags"></a>

発信者の ID にアタッチされたタグに基づいて、サービスとリソースへのアクセスを制御できます。VPC Lattice は、 `aws:PrincipalTag/context`変数を使用したユーザー、ロール、またはセッションタグのプリンシパルタグに基づくアクセスコントロールをサポートします。詳細については、「[IAM プリンシパルのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html#access_iam-tags_control-principals)」を参照してください。

次のポリシー例では、タグ を持つ ID にのみアクセスを許可します`Team=Payments`。このポリシーでは、アカウント IDsまたはロール ARNs をハードコーディングせずにアクセスを制御できます。

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowPaymentsTeam",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "vpc-lattice-svcs:Invoke",
      "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/Team": "Payments",
        }
      }
    }
  ]
}
```

## 匿名 (認証されていない) プリンシパル
<a name="anonymous-unauthenticated-principals"></a>

匿名プリンシパルは、[署名バージョン 4 (SigV4) ](sigv4-authenticated-requests.md)で AWS リクエストに署名せず、サービスネットワークに接続されている VPC 内にある発信者です。匿名プリンシパルはサービスネットワークのサービスに対して認証されていないリクエストを認証ポリシーで許可されている場合には実行できます。

## 認証ポリシーの例
<a name="example-auth-policies"></a>

認証されたプリンシパルによるリクエストが必要な認証ポリシーの例には次のものがあります。

すべての例で、`us-west-2` リージョンと架空のアカウント ID を使用しています。

**例 1: 特定の AWS 組織によるサービスへのアクセスを制限する**  
次の認証ポリシーの例では、ポリシーが適用されるサービスネットワーク内のサービスにアクセスする権限を、認証されたすべてのリクエストに付与します。ただし、リクエストは、 条件で指定された AWS 組織に属するプリンシパルから発信される必要があります。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "aws:PrincipalOrgID": [ 
                  "o-123456example"
               ]
            }
         }
      }
   ]
}
```

------

**例 2: 特定の IAM ロールによるサービスへのアクセスを制限する**  
次の認証ポリシーの例では、`Resource` 要素で指定されたサービスに対して HTTP GET リクエストを行う権限を、IAM ロール `rates-client` を使用するすべての認証されたリクエストに付与します。`Resource` 要素のリソースはポリシーがアタッチされているサービスと同じです。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect": "Allow",
         "Principal": {
            "AWS": [
               "arn:aws:iam::123456789012:role/rates-client"
            ]
         },
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": [
            "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*"
         ],
         "Condition": {
            "StringEquals": {
               "vpc-lattice-svcs:RequestMethod": "GET"
            }
         }
      }
   ]
}
```

------

**例 3: 特定の VPC の認証されたプリンシパルによるサービスへのアクセスを制限する**  
次の認証ポリシーの例では、VPC ID が `vpc-1a2b3c4d` の VPC のプリンシパルからの認証されたリクエストのみを許可します。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": "*",
         "Condition": {
            "StringNotEquals": {
               "aws:PrincipalType": "Anonymous"
            },
            "StringEquals": {
               "vpc-lattice-svcs:SourceVpc": "vpc-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

## 認可の仕組み
<a name="auth-policies-evaluation-logic"></a>

VPC Lattice サービスがリクエストを受信すると、 AWS エンフォースメントコードは関連するすべてのアクセス許可ポリシーを一緒に評価して、リクエストを承認または拒否するかどうかを決定します。リクエストコンテキストに適用されるすべての IAM アイデンティティベースのポリシーと認可ポリシーを認可時に評価します。デフォルトでは、認証タイプが `AWS_IAM` の場合、すべてのリクエストは暗黙的に拒否されます。関連するすべてのポリシーからの明示的な許可はデフォルトに優先します。

認可では次のことが行われます。
+ 関連するすべての IAM アイデンティティベースのポリシーと認証ポリシーを収集します。
+ 収集したポリシーのセットを評価します。
  + リクエスタ (IAM ユーザーまたはロールなど) が属するアカウントにおいて、オペレーションを実行する権限を持っていることを確認します。明示的な許可ステートメントがない場合、 AWS はリクエストを承認しません。
  + リクエストがサービスネットワークの認証ポリシーによって許可されていることを確認します。認証ポリシーが有効であっても明示的な許可ステートメントがない場合、 AWS はリクエストを許可しません。明示的な許可ステートメントがある場合、または認証タイプが `NONE` の場合、コードが継続します。
  + リクエストがサービスの認証ポリシーによって許可されていることを確認します。認証ポリシーが有効であっても明示的な許可ステートメントがない場合、 AWS はリクエストを許可しません。明示的な許可ステートメントがある場合、または認証タイプが `NONE` の場合、エンフォースメントコードにより**許可**の最終決定が返されます。
  + ポリシー内の明示的な拒否は、すべての許可に優先します。

次の図は認可の流れを示しています。リクエストが行われると、関連するポリシーによって特定のサービスへのリクエストアクセスが許可または拒否されます。

![\[認可の流れ\]](http://docs.aws.amazon.com/ja_jp/vpc-lattice/latest/ug/images/authpolicy.png)
