

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

# IAM Access Analyzer AWS の使用
<a name="iam-access-analyzer-overview"></a>

以下のセクションでは、 AWS Toolkit for Visual Studio Codeで IAM ポリシー検証とカスタムポリシーチェックを実行する方法について説明します。詳細については、 AWS Identity and Access Management 「 ユーザーガイド」の[「IAM Access Analyzer ポリシーの検証](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)」および[「IAM Access Analyzer カスタムポリシーチェック](https://docs.aws.amazon.com//IAM/latest/UserGuide/access-analyzer-custom-policy-checks.html)」を参照してください。

## 前提条件
<a name="w2aac17c39c13b5"></a>

ツールキットから IAM Access Analyzer ポリシーチェックを使用する前に、次の前提条件を満たす必要があります。
+ Python バージョン 3.6 以降をインストールします。
+ Python CLI ツールで必要であり、IAM ポリシーチェックウィンドウで指定されている [CloudFormation用の IAM Policy Validator](https://github.com/awslabs/aws-cloudformation-iam-policy-validator)または [Terraform 用の IAM Policy Validator](https://github.com/awslabs/terraform-iam-policy-validator)のいずれかをインストールします。
+  AWS ロールの認証情報を設定します。

## IAM Access Analyzerのポリシーチェック
<a name="w2aac17c39c13b7"></a>

を使用して、 CloudFormation テンプレート、Terraform プラン、JSON ポリシードキュメントのポリシーチェックを実行できます AWS Toolkit for Visual Studio Code。チェックの検出結果は VS Code の **[Problems Panel]** に表示されます。次の図は、VS Code の **[Problems Panel]** を示しています。

![\[VS Code Problems Panel displaying security warnings and version recommendations.\]](http://docs.aws.amazon.com/ja_jp/toolkit-for-vscode/latest/userguide/images/vscproblemspanel2024.png)


IAM Access Analyzer には 4 種類のチェックがあります。
+ ポリシーの検証
+ CheckAccessNotGranted
+ CheckNoNewAccess
+ CheckNoPublicAccess

次のセクションでは、各種類のチェックを実行する方法について説明します。

**注記**  
任意のタイプのチェックを実行する前に、 AWS ロールの認証情報を設定します。サポートされているファイルには、 CloudFormation テンプレート、Terraform プラン、JSON ポリシードキュメントのドキュメントタイプが含まれます。  
ファイルパス参照は通常、管理者またはセキュリティチームによって提供され、システムファイルパスまたは Amazon S3 バケット URI となります。Amazon S3 バケット URI を使用するには、現在のロールが Amazon S3 バケットにアクセスできる必要があります。  
料金は、各カスタムポリシーチェックに関連付けられます。カスタムポリシーチェックの料金の詳細については、[AWS IAM Access Analyzer の料金](https://aws.amazon.com/iam/access-analyzer/pricing/)ガイドを参照してください。

### ポリシー検証の実行
<a name="w2aac17c39c13b7c15"></a>

ポリシーの検証チェックは、ポリシーの検証とも呼ばれ、IAM ポリシーの文法と AWS ベストプラクティスに照らしてポリシーを検証します。詳細については、「 *AWS Identity and Access Management*ユーザーガイド」の[「IAM JSON ポリシー言語の文法](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html)」と AWS [「IAM トピックのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

1. VS Code から、VS Code AWS エディタで IAM ポリシーを含むサポートされているファイルを開きます。

1. IAM Access Analyzer ポリシーチェックを開くには、**CRTL\$1Shift\$1P** を押して VS Code コマンドパレットを開き、**IAM Policy Checks** を検索し、クリックして VS Code エディタの **[IAM Policy Checks]** ペインを開きます。

1. **[IAM Policy Checks]** ペインで、ドロップダウンメニューからドキュメントタイプを選択します。

1. **[Validate Policies]** セクションから、**[Run Policy Validation]** ボタンを選択して、ポリシーの検証チェックを実行します。

1. VS Code **[Problems Panel]** から、ポリシーチェックの検出結果を確認します。

1. ポリシーを更新し、この手順を繰り返します。ポリシーチェックの結果にセキュリティ警告やエラーが表示されなくなるまで、ポリシーの検証チェックを再実行します。

### CheckAccessNotGranted の実行
<a name="w2aac17c39c13b7c17"></a>

CheckAccessNotGranted は、特定の IAM アクションがポリシーで許可されていないことを確認するカスタムポリシーチェックです。

**注記**  
ファイルパス参照は通常、管理者またはセキュリティチームによって提供され、システムファイルパスまたは Amazon S3 バケット URI となります。Amazon S3 バケット URI を使用するには、現在のロールが Amazon S3 バケットにアクセスできる必要があります。少なくとも 1 つのアクションまたはリソースを指定し、次の例にしたがってファイルを構成する必要があります。  

```
              {"actions": ["action1", "action2", "action3"], "resources": ["resource1", "resource2", "resource3"]}
```

1. VS Code から、VS Code AWS エディタで IAM ポリシーを含むサポートされているファイルを開きます。

1. IAM Access Analyzer ポリシーチェックを開くには、**CRTL\$1Shift\$1P** を押して VS Code コマンドパレットを開き、**IAM Policy Checks** を検索し、クリックして VS Code エディタの **[IAM Policy Checks]** ペインを開きます。

1. **[IAM Policy Checks]** ペインで、ドロップダウンメニューからドキュメントタイプを選択します。

1. **[Custom Policy Checks]** セクションで、**CheckAccessNotGranted** を選択します。

1. テキスト入力フィールドに、アクションとリソースの ARN を含むカンマ区切りのリストを入力できます。少なくとも 1 つのアクションまたはリソースを指定する必要があります。

1. **[Run Custom Policy Check]** ボタンを選択します。

1. VS Code **[Problems Panel]** から、ポリシーチェックの検出結果を確認します。カスタムポリシーチェックは、 `PASS` または `FAIL` の結果を返します。

1. ポリシーを更新し、この手順を繰り返して、`PASS` が返されるまで CheckAccessNotGranted チェックを再実行します。

### CheckNoNewAccess の実行
<a name="w2aac17c39c13b7c19"></a>

CheckNoNewAccess は、ポリシーが参照ポリシーと比較して新しいアクセスを許可していないかを確認するカスタムポリシーチェックです。

1. VS Code から、VS Code AWS エディタで IAM ポリシーを含むサポートされているファイルを開きます。

1. IAM Access Analyzer ポリシーチェックを開くには、**CRTL\$1Shift\$1P** を押して VS Code コマンドパレットを開き、**IAM Policy Checks** を検索し、クリックして VS Code エディタの **[IAM Policy Checks]** ペインを開きます。

1. **[IAM Policy Checks]** ペインで、ドロップダウンメニューからドキュメントタイプを選択します。

1. **[Custom Policy Checks]** セクションで、**[CheckNoNewAccess]** を選択します。

1. 参照 JSON ポリシードキュメントを入力します。または、JSON ポリシードキュメントを参照するファイルパスを指定することもできます。

1. 参照ドキュメントのタイプに一致する**参照ポリシータイプ**を選択します。

1. **[Run Custom Policy Check]** ボタンを選択します。

1. VS Code **[Problems Panel]** から、ポリシーチェックの検出結果を確認します。カスタムポリシーチェックは、 `PASS` または `FAIL` の結果を返します。

1. ポリシーを更新し、この手順を繰り返して、`PASS` が返されるまで CheckNoNewAccess チェックを再実行します。

### CheckNoPublicAccess の実行
<a name="w2aac17c39c13b7c21"></a>

CheckNoPublicAccess は、テンプレート内のサポートされているリソースタイプに対して、ポリシーがパブリックアクセスを付与していないかを検証するためのカスタムポリシーチェックです。

サポートされているリソースタイプの詳細については、[cloudformation-iam-policy-validator](https://github.com/awslabs/aws-cloudformation-iam-policy-validator?tab=readme-ov-file#supported-resource-based-policies) および [terraform-iam-policy-validator](https://github.com/awslabs/terraform-iam-policy-validator) GitHub リポジトリを参照してください。

1. VS Code から、VS Code AWS エディタで IAM ポリシーを含むサポートされているファイルを開きます。

1. IAM Access Analyzer ポリシーチェックを開くには、**CRTL\$1Shift\$1P** を押して VS Code コマンドパレットを開き、**IAM Policy Checks** を検索し、クリックして VS Code エディタの **[IAM Policy Checks]** ペインを開きます。

1. **[IAM Policy Checks]** ペインで、ドロップダウンメニューからドキュメントタイプを選択します。

1. **[Custom Policy Checks]** セクションで、**[CheckNoPublicAccess]** を選択します。

1. **[Run Custom Policy Check]** ボタンを選択します。

1. VS Code **[Problems Panel]** から、ポリシーチェックの検出結果を確認します。カスタムポリシーチェックは、 `PASS` または `FAIL` の結果を返します。

1. ポリシーを更新し、この手順を繰り返して、`PASS` が返されるまで CheckNoNewAccess チェックを再実行します。