

# アクセスアクティビティに基づいてポリシーを生成する
<a name="getting-started_reduce-permissions-edit-policy"></a>

AWS CloudTrail に記録された IAM ユーザーまたは IAM ロールのアクセスアクティビティを使用すると、IAM Access Analyzer はカスタマー管理ポリシーを生成して、特定のユーザーとロールが必要とするサービスに対してのみアクセスを許可できます。

IAM Access Analyzer が IAM ポリシーを生成したとき、ポリシーをさらにカスタマイズするための情報を返します。ポリシーが生成されたとき、次の 2 つのカテゴリの情報を返すことができます。
+ **アクションレベルの情報を持つポリシー** – Amazon EC2 など一部の AWS サービスでは、IAM Access Analyzer によって、CloudTrail イベント内のアクションを識別し、生成されたポリシーで使用されるアクションを一覧表示することができます。サポートされているサービスのリストについては、「[IAM Access Analyzer のポリシー生成サービス](access-analyzer-policy-generation-action-last-accessed-support.md)」を参照してください。一部のサービスでは、IAM Access Analyzer によって、生成されたポリシーにサービスのアクションを追加するように求められます。
+ **サービスレベル情報を持つポリシー– **IAM Access Analyzer は[最終アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed.html)情報を使用して、最近使用したすべてのサービスを含むポリシーテンプレートを作成します。AWS マネジメントコンソール を使用する場合、サービスを確認し、ポリシーを完了するためのアクションを追加するよう求められます。

## アクセスアクティビティに基づいてポリシーを生成するには
<a name="getting-started_reduce-permissions-edit-policy-section-1"></a>

以下の手順では、ロールに付与されるアクセス許可をユーザーの使用状況に合わせて削減します。ユーザーを選択するときは、使用状況がロールの特徴をよく表しているユーザーを選択してください。お客様がよく使用する手順は、テストユーザーアカウントを **PowerUser** アクセス許可付きで設定し、特定のタスクセットを短期間実行して、そうしたタスクを実行するためにはどのようなアクセス権が必要になるかを確認するというものです。

------
#### [ Console ]

1. *AWSサインインユーザーガイド*の「[AWS へのサインイン方法](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)」のトピックで説明されているように、ユーザータイプに適したサインイン手順に従ってください。

1. **[IAM コンソールのホーム]** ページの左側のナビゲーションペインで、**[検索の IAM]** テキストボックスにクエリを入力します。

1. ナビゲーションペインで、**[ユーザー]** を選択し、ユーザー名を選択してユーザーの詳細ページに移動します。

1. **[アクセス許可]** タブの [CloudTrail イベントに基づいてポリシーを生成] セクションで、**[ポリシーを生成]** を選択します。

1. **[ポリシーを生成]** ページで、次の項目を設定します。
   + **[期間を選択]** で、**[過去 7 日間]** を選択します。
   + **CloudTrail 証跡を分析する**には、このユーザーのアクティビティが記録されるリージョンと証跡を選択します。
   + **[新しいサービスロールの作成と使用]** を選択します。

1. **[ポリシーの生成]** を選択し、ロールが作成されるまで待ちます。**[ポリシーの生成が進行中]** の通知メッセージが表示されるまで、コンソールページを更新したり、コンソールページから移動したりしないでください。

1. ポリシーが生成されたら、そのポリシーを確認し、必要に応じてリソースのアカウント ID と ARN でカスタマイズする必要があります。また、自動生成されたポリシーには、ポリシーを完了するために必要なアクションレベルの情報が含まれないことがあります。詳細については、「[IAM Access Analyzer ポリシーの生成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html)」を参照してください。

   例えば、Amazon EC2 および Amazon S3 アクションのみ許可するように、`Allow` 効果と `NotAction` 要素を含む最初のステートメントを編集します。そのためには、`FullAccessToSomeServices` ID を含むステートメントと置き換えます。新しいポリシーは、次のサンプルポリシーのようになります。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "FullAccessToSomeServices",
             "Effect": "Allow",
             "Action": [
                 "ec2:*",
                 "s3:*"
             ],
             "Resource": "*"
         },
         {
             "Effect": "Allow",
             "Action": [
                 "iam:CreateServiceLinkedRole",
                 "iam:DeleteServiceLinkedRole",
                 "iam:ListRoles",
                 "organizations:DescribeOrganization"
             ],
             "Resource": "*"
         }
     ]
   }
   ```

------

1. [最小限の特権を認める](best-practices.md#grant-least-privilege)ベストプラクティスをサポートするには、[ポリシーの検証](access_policies_policy-validator.md)中に返されたすべてのエラー、警告、または提案を確認して修正します。

1. ポリシーのアクセス許可を特定のアクションやリソースに制限するには、CloudTrail の [**イベント履歴**] でイベントを確認します。ここでは、ユーザーがアクセスした特定のアクションおよびリソースに関する詳細情報を表示できます。詳細については、[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html)の *CloudTrail Console での CloudTrail イベントの表示*を参照してください。

1. ポリシーを確認して検証したら、わかりやすい名前を付けて保存します。

1. **[ロール]** ページに移動し、新しいポリシーで許可されたタスクを実行する場合に引き受けるロールを選択します。

1. **[アクセス許可]** タブで、**[アクセス許可を追加]**、**[ポリシーをアタッチ]** の順に選択します。

1. **[アクセス許可ポリシーのアタッチ]** ページの **[その他の許可ポリシー]** リストで、作成したポリシーを選択し、**[ポリシーをアタッチ]** を選択します。

1. **ロール**の詳細ページに戻ります。ロールにアタッチされたポリシーが 2 つあります。**PowerUserAccess** などの以前からある AWS マネージドポリシーと、お客様の新しいポリシーです。AWS マネージドポリシーのチェックボックスをオンにし、**[削除]** を選択します。削除の確認を求めるメッセージが表示されたら、**[削除]** を選択します。

作成した新たなポリシーにより、このロールを引き受ける IAM ユーザー、SAML および OIDC のフェデレーティッドプリンシパル、ワークロードのアクセス権が減少されました。

------
#### [ AWS CLI ]

次のコマンドを使用して、AWS CLI を使用したポリシーを生成できます。

**ポリシーを生成するには**
+ [aws accessanalyzer start-policy-generation](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/start-policy-generation.html)

**生成されたポリシーを表示するには**
+ [aws accessanalyzer get-generated-policy](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/get-generated-policy.html)

**ポリシー生成要求を取り消すには**
+ [aws accessanalyzer cancel-policy-generation](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/cancel-policy-generation.html)

**ポリシー生成要求のリストを表示するには**
+ [aws accessanalyzer list-policy-generations](https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/list-policy-generations.html)

------
#### [ API ]

以下のオペレーションを使用して、AWS API を使用したポリシーの生成ができます。

**ポリシーを生成するには**
+ [StartPolicyGeneration](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_StartPolicyGeneration.html)

**生成されたポリシーを表示するには**
+ [GetGeneratedPolicy](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_GetGeneratedPolicy.html)

**ポリシー生成要求を取り消すには**
+ [CancelPolicyGeneration](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CancelPolicyGeneration.html)

**ポリシー生成要求のリストを表示するには**
+ [ListPolicyGenerations](https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_ListPolicyGenerations.html)

------