

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

# 未使用のアクセス検出結果に関するポリシーレコメンデーションの生成
<a name="unused-access-recommendations"></a>

 未使用のアクセス許可の検出結果については、Security Hub は、スコープダウンされた置換ポリシーを示す最小特権ポリシーのレコメンデーションを生成できます。この推奨事項では、IAM プリンシパルにアタッチされた各ポリシーを評価し、プリンシパルが実際に使用したアクセス許可のみを保持する置換を生成します。この機能は、すべての Security Hub のお客様に追加料金なしで提供されます。

## ポリシーレコメンデーションの仕組み
<a name="recommendations-how-it-works"></a>

 ポリシーレコメンデーションの生成は非同期オペレーションです。レコメンデーションを生成して取得するには: 

1.  `GetFindingsV2` API オペレーションを使用して、Security Hub から未使用のアクセス許可の検出結果を取得します。検出結果の `metadata.uid`フィールドを書き留めます。

1.  検出結果の `GenerateRecommendedPolicyV2`を使用して を呼び出します`metadata.uid`。これにより、レコメンデーションの生成が開始され、通常は 20 秒以内に完了します。

1.  `status` フィールドが を返す`metadata.uid`まで、同じ `GetRecommendedPolicyV2` でポーリングします`SUCCEEDED`。

1.  レスポンスには、1 つ以上のレコメンデーションステップが含まれます。各ステップでは、 `CREATE_POLICY` (スコープダウンされた置換ポリシーを作成してアタッチする) または `DETACH_POLICY` (権限が過剰な元のポリシーをデタッチする) `recommendedAction`のいずれかの を指定します。`CREATE_POLICY` ステップの場合、レスポンスには JSON `existingPolicy` と JSON `recommendedPolicy` の両方が含まれているため、それらを比較できます。

 その検出結果に対して推奨事項が以前に生成されていない場合は`GetRecommendedPolicyV2`、 を呼び出す`GenerateRecommendedPolicyV2`前に を呼び出す必要があります。

## レコメンデーションを生成できるユーザー
<a name="recommendations-who-can-generate"></a>

 アカウント所有者と委任された管理者の両方が、次の API オペレーションを呼び出すことができます。
+  **アカウント所有者**は、自分のアカウントで未使用のアクセス許可の検出結果に関する推奨事項を生成して表示できます。
+  **委任管理者は**、組織内のメンバーアカウントの未使用のアクセス許可の検出結果に関する推奨事項を生成して表示できます。

 委任管理者ではなく、検出結果が別のアカウントに属している場合、API オペレーションは`AccessDeniedException`エラーを返します。

## レコメンデーションのライフサイクル
<a name="recommendations-lifecycle"></a>
+  レコメンデーションは 90 日間キャッシュされ、結果がアクティブ (クローズされていない) である限り使用できます。ただし、 を`GenerateRecommendedPolicyV2`複数回呼び出すとキャッシュが無効になり、キャッシュされたポリシーを置き換える新しいジョブが開始されます。検出結果ごとに 1 `GenerateRecommendedPolicyV2`回だけ を呼び出すことをお勧めします。
+  推奨事項は、detach-and-attachパターンに従います。既存の IAM ポリシーは変更されません。推奨ポリシーを確認し、IAM コンソールまたは IAM API を使用して手動で適用します。
+  検出結果が解決された場合 (たとえば、以前に未使用のアクセス許可が現在使用されているため）、レコメンデーションは使用できなくなります。

## エラーケース
<a name="recommendations-errors"></a>

 API オペレーションは、次の状況でエラーを返します。
+  検出結果は解決されました — `InvalidInputException` (HTTP 400)。
+  検出結果は未使用のアクセス許可の検出結果ではありません — `InvalidInputException` (HTTP 400)。
+  IAM プリンシパルは、IAM Identity Center アクセス許可セットを使用して作成されました。アクセス許可セットプリンシパルのポリシーを直接変更することはできません。レコメンデーションは、説明付きの`FAILED`ステータスを返します。
+  呼び出し元は委任管理者ではなく、検出結果は別のアカウント `AccessDeniedException` (HTTP 403) に属しています。
+  推奨事項はまだ生成されておらず、最初の呼び出し`GetRecommendedPolicyV2`なしで を呼び出します `GenerateRecommendedPolicyV2` — `ResourceNotFoundException` (HTTP 404)。

## コンソールを使用する
<a name="recommendations-console"></a>

 Security Hub コンソールで、未使用のアクセス許可の結果を表示し、**修復**タブを選択することで、ポリシーの推奨事項を生成できます。レコメンデーションの作成中に、コンソールにロードスピナーが表示されます。レコメンデーションの準備ができたら、**プレビュー**を選択して、現在のポリシーと推奨される最小特権の置き換えをside-by-side比較できます。推奨ポリシーは JSON 形式でコピーできます。

## API リファレンス
<a name="recommendations-api-reference"></a>
+  **GenerateRecommendedPolicyV2** — 未使用のアクセス許可の検出結果に対して、最小特権ポリシーのレコメンデーションの非同期生成を開始します。結果の入力`metadata.uid`として を取得します。成功時に空の本文を持つ HTTP 200 を返します。
+  **GetRecommendedPolicyV2** — 生成されたポリシーレコメンデーションを取得します。結果の入力`metadata.uid`として を取得します。`maxResults` (1～100) および `nextToken`パラメータを使用したページ分割をサポートします。レコメンデーションステータス (`IN_PROGRESS`、`SUCCEEDED`、または `FAILED`)、レコメンデーションステップ、リソース ARN、およびエラーを返します。

 API ドキュメントの詳細については、*Security Hub API リファレンス*を参照してください。