

**の新しいコンソールエクスペリエンスの紹介 AWS WAF**

更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、[「コンソールの使用](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)」を参照してください。

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

# が IAM と AWS WAF 連携する方法
<a name="security_iam_service-with-iam"></a>

このセクションでは、 で IAM の機能を使用する方法について説明します AWS WAF。

IAM を使用して へのアクセスを管理する前に AWS WAF、使用できる IAM 機能を確認してください AWS WAF。






**で使用できる IAM 機能 AWS WAF**  

| IAM 機能 | AWS WAF サポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)  |   あり  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  |   はい  | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  |   あり  | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  |   はい  | 
|  [ポリシー条件キー (サービス固有)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   はい  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   なし   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  |   部分的  | 
|  [一時認証情報](#security_iam_service-with-iam-roles-tempcreds)  |   あり  | 
|  [転送アクセスセッション (FAS)](#security_iam_service-with-iam-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  |   あり  | 
|  [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked)  |   はい  | 

 AWS WAF およびその他の AWS のサービスがほとんどの IAM 機能とどのように連携するかの概要については、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## のアイデンティティベースのポリシー AWS WAF
<a name="security_iam_service-with-iam-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

 AWS WAF アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS WAF](security_iam_id-based-policy-examples.md)。

## 内のリソースベースのポリシー AWS WAF
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** あり

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーで、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、IAM ユーザーガイド**の[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)を参照してください。

AWS WAF はリソースベースのポリシーを使用して、アカウント間のルールグループの共有をサポートします。リソースベースのポリシー設定を AWS WAF API コールまたは同等の CLI `PutPermissionPolicy`または SDK コールに提供することで、所有するルールグループを別の AWS アカウントと共有します。その他の利用可能な言語の例やドキュメントへのリンクなどの詳細については、 AWS WAF API リファレンスの[PutPermissionPolicy](https://docs.aws.amazon.com/waf/latest/APIReference/API_PutPermissionPolicy.html)」を参照してください。この機能は、コンソールや CloudFormationなどの他の方法では使用できません。

## のポリシーアクション AWS WAF
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。



それぞれの AWS WAF アクションとアクセス許可のリストを確認するには、*「サービス認可リファレンス*」の[AWS WAF V2 で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions)」を参照してください。

のポリシーアクションは、アクションの前に次のプレフィックス AWS WAF を使用します。

```
wafv2
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

```
"Action": [
      "wafv2:action1",
      "wafv2:action2"
         ]
```



ワイルドカード (\$1) を使用すると、複数のアクションを指定することができます。たとえば、 で始 AWS WAF まる のすべてのアクションを指定するには`List`、次のアクションを含めます。

```
"Action": "wafv2:List*"
```

 AWS WAF アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS WAF](security_iam_id-based-policy-examples.md)。

### 追加のアクセス許可設定が必要なアクション
<a name="security_iam_action-additions"></a>

一部のアクションには、*「サービス認可リファレンス*」の[AWS WAF V2 で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions)」で完全に説明できないアクセス許可が必要です。このセクションは、追加のアクセス許可に関する情報を説明します。

**Topics**
+ [`AssociateWebACL` のアクセス権限](#security_iam_action-AssociateWebACL)
+ [`DisassociateWebACL` のアクセス権限](#security_iam_action-DisassociateWebACL)
+ [`GetWebACLForResource` のアクセス権限](#security_iam_action-GetWebACLForResource)
+ [`ListResourcesForWebACL` のアクセス権限](#security_iam_action-ListResourcesForWebACL)

#### `AssociateWebACL` のアクセス権限
<a name="security_iam_action-AssociateWebACL"></a>

このセクションでは、 AWS WAF アクション`AssociateWebACL` を使用してウェブ ACL をリソースに関連付けるために必要なアクセス許可の一覧を示します。

Amazon CloudFront ディストリビューションでは、このアクションの代わりに CloudFront アクション `UpdateDistribution` を使用してください。詳細については、「*Amazon CloudFront API リファレンス*」の「[UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)」を参照してください。

**Amazon API Gateway REST API**  
REST API リソースタイプ`SetWebACL`で API Gateway を呼び出し、保護パック (ウェブ ACL) で を呼び AWS WAF `AssociateWebACL`出すアクセス許可が必要です。

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "apigateway:SetWebACL"
    ],
    "Resource": [
        "arn:aws:apigateway:*::/restapis/*/stages/*"
    ]
}
```

**Application Load Balancer**  
Application Load Balancer リソースタイプで `elasticloadbalancing:SetWebACL`アクションを呼び出し、保護パック (ウェブ ACL) `AssociateWebACL`で を呼び AWS WAF 出すアクセス許可が必要です。

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "elasticloadbalancing:SetWebACL"
    ],
    "Resource": [
        "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*"
    ]
}
```

**AWS AppSync GraphQL API**  
GraphQL API リソースタイプで を呼び出し AWS AppSync `SetWebACL`、保護パック (ウェブ ACL) で を呼び AWS WAF `AssociateWebACL`出すアクセス許可が必要です。

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "appsync:SetWebACL"
    ],
    "Resource": [
        "arn:aws:appsync:*:account-id:apis/*"
    ]
}
```

**Amazon Cognito ユーザープール**  
ユーザープールリソースタイプで Amazon Cognito `AssociateWebACL`アクションを呼び出し、保護パック (ウェブ ACL) で を呼び AWS WAF `AssociateWebACL`出すアクセス許可が必要です。

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner サービス**  
App Runner サービスリソースタイプで App Runner `AssociateWebACL`アクションを呼び出し、ウェブ ACL で を呼び AWS WAF `AssociateWebACL`出すアクセス許可が必要です。

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "apprunner:AssociateWebAcl"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Verified Access インスタンス**  
Verified Access インスタンスリソースタイプで `ec2:AssociateVerifiedAccessInstanceWebAcl`アクションを呼び出し、ウェブ ACL で を呼び AWS WAF `AssociateWebACL`出すアクセス許可が必要です。

```
{
    "Sid": "AssociateWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:AssociateWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "AssociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "ec2:AssociateVerifiedAccessInstanceWebAcl"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

#### `DisassociateWebACL` のアクセス権限
<a name="security_iam_action-DisassociateWebACL"></a>

このセクションでは、 AWS WAF アクション `DisassociateWebACL` を使用して保護パック (ウェブ ACL) とリソースの関連付けを解除するために必要なアクセス許可を一覧表示します。

Amazon CloudFront ディストリビューションでは、このアクションの代わりに、空の保護パック (ウェブ ACL) ID を持つ CloudFront アクション `UpdateDistribution` を使用してください。詳細については、「*Amazon CloudFront API リファレンス*」の「[UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)」を参照してください。

**Amazon API Gateway REST API**  
REST API リソースタイプで API ゲートウェイ `SetWebACL` を呼び出すアクセス許可が必要です。を呼び出すアクセス許可は必要ありません AWS WAF `DisassociateWebACL`。

```
{
    "Sid": "DisassociateWebACL",
    "Effect": "Allow",
    "Action": [
        "apigateway:SetWebACL"
    ],
    "Resource": [
        "arn:aws:apigateway:*::/restapis/*/stages/*"
    ]
}
```

**Application Load Balancer**  
Application Load Balancer リソースタイプで `elasticloadbalancing:SetWebACL` アクションを呼び出すアクセス許可が必要です。を呼び出すアクセス許可は必要ありません AWS WAF `DisassociateWebACL`。

```
{
    "Sid": "DisassociateWebACL",
    "Effect": "Allow",
    "Action": [
        "elasticloadbalancing:SetWebACL"
    ],
    "Resource": [
        "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*"
    ]
}
```

**AWS AppSync GraphQL API**  
GraphQL API リソースタイプで を呼び出す AWS AppSync `SetWebACL`アクセス許可が必要です。を呼び出すアクセス許可は必要ありません AWS WAF `DisassociateWebACL`。

```
{
    "Sid": "DisassociateWebACL",
    "Effect": "Allow",
    "Action": [
        "appsync:SetWebACL"
    ],
    "Resource": [
        "arn:aws:appsync:*:account-id:apis/*"
    ]
}
```

**Amazon Cognito ユーザープール**  
ユーザープールリソースタイプで Amazon Cognito `DisassociateWebACL`アクションを呼び出し、 を呼び出すアクセス許可が必要です AWS WAF `DisassociateWebACL`。

```
{
    "Sid": "DisassociateWebACL1",
    "Effect": "Allow",
    "Action": "wafv2:DisassociateWebACL",
    "Resource": "*"
},
{
    "Sid": "DisassociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:DisassociateWebACL"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner サービス**  
App Runner サービスリソースタイプで App Runner `DisassociateWebACL`アクションを呼び出し、 を呼び出すアクセス許可が必要です AWS WAF `DisassociateWebACL`。

```
{
    "Sid": "DisassociateWebACL1",
    "Effect": "Allow",
    "Action": "wafv2:DisassociateWebACL",
    "Resource": "*"
},
{
    "Sid": "DisassociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "apprunner:DisassociateWebAcl"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Verified Access インスタンス**  
Verified Access インスタンスリソースタイプで `ec2:DisassociateVerifiedAccessInstanceWebAcl`アクションを呼び出し、 を呼び出すアクセス許可が必要です AWS WAF `DisassociateWebACL`。

```
{
    "Sid": "DisassociateWebACL1",
    "Effect": "Allow",
    "Action": "wafv2:DisassociateWebACL",
    "Resource": "*"
},
{
    "Sid": "DisassociateWebACL2",
    "Effect": "Allow",
    "Action": [
        "ec2:DisassociateVerifiedAccessInstanceWebAcl"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

#### `GetWebACLForResource` のアクセス権限
<a name="security_iam_action-GetWebACLForResource"></a>

このセクションでは、 AWS WAF アクション `GetWebACLForResource` を使用して保護対象リソースの保護パック (ウェブ ACL) を取得するために必要なアクセス許可の一覧を示します。

Amazon CloudFront ディストリビューションでは、このアクションの代わりに CloudFront アクション `GetDistributionConfig` を使用してください。詳細については、「*Amazon CloudFront API リファレンス*」の「[GetDistributionConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html)」を参照してください。

**注記**  
`GetWebACLForResource` によって `GetWebACL` を呼び出すにはアクセス許可が必要です。このコンテキストでは、 は、 が`GetWebACLForResource`返す保護パック (ウェブ ACL) にアクセスするために必要なアクセス許可がアカウントにあることを検証するために`GetWebACL`のみ AWS WAF 使用します。を呼び出すと`GetWebACLForResource`、アカウントが resource `wafv2:GetWebACL`に対して実行する権限がないことを示すエラーが表示されることがあります。このタイプのエラーは AWS CloudTrail イベント履歴に追加 AWS WAF されません。

**Amazon API Gateway REST API、Application Load Balancer、 AWS AppSync GraphQL API**  
保護パック (ウェブ ACL) `GetWebACL` の と を呼び AWS WAF `GetWebACLForResource`出すアクセス許可が必要です。

```
{
    "Sid": "GetWebACLForResource",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
}
```

**Amazon Cognito ユーザープール**  
ユーザープールリソースタイプで Amazon Cognito `GetWebACLForResource`アクションを呼び出し、 と を呼び AWS WAF `GetWebACLForResource`出すアクセス許可が必要です`GetWebACL`。

```
{
    "Sid": "GetWebACLForResource1",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [ 
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "GetWebACLForResource2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:GetWebACLForResource"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner サービス**  
App Runner サービスリソースタイプで App Runner `DescribeWebAclForService`アクションを呼び出し、 `GetWebACLForResource` と を呼び AWS WAF 出すアクセス許可が必要です`GetWebACL`。

```
{
    "Sid": "GetWebACLForResource1",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "GetWebACLForResource2",
    "Effect": "Allow",
    "Action": [
        "apprunner:DescribeWebAclForService"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Verified Access インスタンス**  
Verified Access インスタンスリソースタイプで `ec2:GetVerifiedAccessInstanceWebAcl`アクションを呼び出し、 と を呼び AWS WAF `GetWebACLForResource`出すアクセス許可が必要です`GetWebACL`。

```
{
    "Sid": "GetWebACLForResource1",
    "Effect": "Allow",
    "Action": [
        "wafv2:GetWebACLForResource",
        "wafv2:GetWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "GetWebACLForResource2",
    "Effect": "Allow",
    "Action": [
        "ec2:GetVerifiedAccessInstanceWebAcl"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

#### `ListResourcesForWebACL` のアクセス権限
<a name="security_iam_action-ListResourcesForWebACL"></a>

このセクションには、 AWS WAF アクション `ListResourcesForWebACL` を使用して保護パック (ウェブ ACL) の保護対象リソースのリストを取得するために必要なアクセス許可の一覧が記載されています。

Amazon CloudFront ディストリビューションでは、このアクションの代わりに CloudFront アクション `ListDistributionsByWebACLId` を使用してください。詳細については、「*Amazon CloudFront API リファレンス*」の「[ListDistributionsByWebACLId](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDistributionsByWebACLId.html)」を参照してください。

**Amazon API Gateway REST API、Application Load Balancer、 AWS AppSync GraphQL API**  
ウェブ ACL の を呼び AWS WAF `ListResourcesForWebACL`出すアクセス許可が必要です。

```
{
    "Sid": "ListResourcesForWebACL",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
}
```

**Amazon Cognito ユーザープール**  
ユーザープールリソースタイプで Amazon Cognito `ListResourcesForWebACL` アクションを呼び出し、 AWS WAF `ListResourcesForWebACL` を呼び出すためのアクセス許可が必要です。

```
{
    "Sid": "ListResourcesForWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "ListResourcesForWebACL2",
    "Effect": "Allow",
    "Action": [
        "cognito-idp:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:cognito-idp:*:account-id:userpool/*"
    ]
}
```

**AWS App Runner サービス**  
App Runner サービスリソースタイプで App Runner `ListAssociatedServicesForWebAcl`アクションを呼び出し、 を呼び出すアクセス許可が必要です AWS WAF `ListResourcesForWebACL`。

```
{
    "Sid": "ListResourcesForWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "ListResourcesForWebACL2",
    "Effect": "Allow",
    "Action": [
        "apprunner:ListAssociatedServicesForWebAcl"
    ],
    "Resource": [
        "arn:aws:apprunner:*:account-id:service/*/*"
    ]
}
```

**AWS Verified Access インスタンス**  
検証済みアクセス インスタンスのリソース タイプで `ec2:DescribeVerifiedAccessInstanceWebAclAssociations` アクションを呼び出すには、 AWS WAF `ListResourcesForWebACL` を呼び出すためのアクセス許可が必要です。

```
{
    "Sid": "ListResourcesForWebACL1",
    "Effect": "Allow",
    "Action": [
        "wafv2:ListResourcesForWebACL"
    ],
    "Resource": [
        "arn:aws:wafv2:region:account-id:regional/webacl/*/*"
    ]
},
{
    "Sid": "ListResourcesForWebACL2",
    "Effect": "Allow",
    "Action": [
        "ec2:DescribeVerifiedAccessInstanceWebAclAssociations"
    ],
    "Resource": [
        "arn:aws:ec2:*:account-id:verified-access-instance/*"
    ]
}
```

## のポリシーリソース AWS WAF
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

 AWS WAF リソースタイプとその ARNs[AWS WAF V2 で定義されるリソース](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-resources-for-iam-policies)」を参照してください。 **各リソースの ARN を指定できるアクションについては、[AWS WAF V2 で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions)」を参照してください。 AWS WAF リソースのサブセットへのアクセスを許可または拒否するには、ポリシーの `resource`要素にリソースの ARN を含めます。

リソースの AWS WAF `wafv2` ARNs の形式は次のとおりです。

```
arn:partition:wafv2:region:account-id:scope/resource-type/resource-name/resource-id
```

ARN の仕様に関する一般情報については、「 Amazon Web Services 全般のリファレンス」の「[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)」を参照してください。

`wafv2` リソースの ARN に固有の要件は以下の通りです。
+ *region*: Amazon CloudFront ディストリビューションの保護に使用する AWS WAF リソースの場合は、これを に設定します`us-east-1`。それ以外の場合は、保護されたリージョンリソースで使用している領域を設定します。
+ *スコープ*: Amazon CloudFront ディストリビューション`global`で使用するか、 が AWS WAF サポートするリージョンリソース`regional`で使用するスコープを に設定します。リージョンリソースは、Amazon API Gateway REST API、Application Load Balancer、 AWS AppSync GraphQL API、Amazon Cognito ユーザープール、 AWS App Runner サービス、 AWS Verified Access インスタンスです。
+ *リソースタイプ*: 次の値のいずれかを指定します。`webacl`、`rulegroup`、`ipset`、`regexpatternset`、`managedruleset`。
+ *resource-name*: AWS WAF リソースに付けた名前を指定、あるいは ARN の他の仕様を満たすすべてのリソースを示すワイルドカード (`*`) を指定します。リソース名とリソース ID のどちらかを指定するか、両方にワイルドカードを指定する必要があります。
+ *resource-id*: AWS WAF リソースの ID を指定、あるいは ARN の他の仕様を満たすすべてのリソースを示すワイルドカード (`*`) を指定します。リソース名とリソース ID のどちらかを指定するか、両方にワイルドカードを指定する必要があります。

例えば、次の ARN は、リージョン `us-west-1` におけるアカウント `111122223333` のリージョンレベルの範囲のすべての保護パック (ウェブ ACL) を指定します。

```
arn:aws:wafv2:us-west-1:111122223333:regional/webacl/*/*
```

次の ARN は、リージョン `us-east-1` のアカウント `111122223333` に対して、グローバルスコープを持つ `MyIPManagementRuleGroup` というルールグループを指定します。

```
arn:aws:wafv2:us-east-1:111122223333:global/rulegroup/MyIPManagementRuleGroup/1111aaaa-bbbb-cccc-dddd-example-id
```

 AWS WAF アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS WAF](security_iam_id-based-policy-examples.md)。

## のポリシー条件キー AWS WAF
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*IAM ユーザーガイド*の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

さらに、 は、IAM ポリシーにきめ細かなフィルタリングを提供するために使用できる以下の条件キー AWS WAF をサポートしています。
+ **wafv2:LogDestinationResource**

  この条件キーは、ログ記録の送信先の Amazon リソースネーム (ARN) 仕様を取得します。これは、REST API コール `PutLoggingConfiguration` を使用する際に、ログ送信先として指定する ARN です。

  ARN を明示的に指定し、ARN のフィルタリングを指定できます。次の例では、特定の位置とプレフィックスを持つ Amazon S3 バケット ARN のフィルタリングを指定します。

  ```
  "Condition": { "ArnLike": { "wafv2:LogDestinationResource": "arn:aws:s3:::aws-waf-logs-suffix/custom-prefix/*" } }
  ```
+ **wafv2:LogScope**

  この条件キーは、文字列内のログ記録設定のソースを定義します。現在、これは常に のデフォルトに設定されています。これは `Customer`、ログ記録の送信先がユーザーによって所有および管理されていることを示します。

 AWS WAF 条件キーのリストを確認するには、*「サービス認可リファレンス*[」の AWS WAF V2 の条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-policy-keys)」を参照してください。条件キーを使用できるアクションとリソースについては、[AWS WAF V2 で定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html#awswafv2-actions-as-permissions)」を参照してください。

 AWS WAF アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS WAF](security_iam_id-based-policy-examples.md)。

## ACLs AWS WAF
<a name="security_iam_service-with-iam-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## を使用した ABAC AWS WAF
<a name="security_iam_service-with-iam-tags"></a>

**ABAC (ポリシー内のタグ) のサポート:** 一部

属性ベースのアクセスコントロール (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

## での一時的な認証情報の使用 AWS WAF
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一時的な認証情報は AWS 、リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[IAM の一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および「[AWS のサービス と IAM との連携](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## サービスの転送アクセスセッション AWS WAF
<a name="security_iam_service-with-iam-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

 転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。

## のサービスロール AWS WAF
<a name="security_iam_service-with-iam-roles-service"></a>

**サービスロールのサポート:** あり

 サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイド**の [AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)を参照してください。

**警告**  
サービスロールのアクセス許可を変更すると、 AWS WAF 機能が破損する可能性があります。 AWS WAF が指示する場合にのみ、サービスロールを編集します。

## のサービスにリンクされたロール AWS WAF
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**サービスリンクロールのサポート:** あり

 サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。

 AWS WAF サービスにリンクされたロールの作成または管理の詳細については、「」を参照してください[のサービスにリンクされたロールの使用 AWS WAF](using-service-linked-roles.md)。