

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 根據存取活動產生政策
<a name="getting-started_reduce-permissions-edit-policy"></a>

您可以使用 中針對 IAM 使用者或 IAM 角色記錄 AWS CloudTrail 的存取活動，讓 IAM Access Analyzer 產生客戶受管政策，僅允許存取特定使用者和角色所需的服務。

IAM Access Analyzer 產生 IAM 政策時，系統會傳回資訊以協助您進一步自訂政策。產生政策時，可以傳回兩種類別的資訊：
+ **具有動作層級資訊的政策 –** 對於某些 AWS 服務，例如 Amazon EC2，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)。

   例如，您可能會編輯包含 `Allow` 效果和 `NotAction` 元素的第一個陳述式，以僅允許 Amazon EC2 和 Amazon S3 動作。為此，請使用含 `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 **Event history (事件歷程記錄)** 查看您的事件。您可以在這裡查看您的使用者曾存取之特定動作和資源的詳細資訊。如需詳細資訊，請參閱 *AWS CloudTrail 使用者指南*中的[在 CloudTrail 主控台中檢閱 CloudTrail 事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html)。

1. 檢閱並驗證政策後，使用描述性名稱儲存它。

1. 導覽至**角色**頁面，選擇當人員執行新政策允許的任務時，將擔任的角色。

1. 在**許可**索引標籤上依序選擇**新增許可**、**連接政策**。

1. 在**連接許可政策**頁面的**其他許可政策**清單中，選取您建立的政策，然後選擇**連接政策**。

1. 您會返回**角色**詳細資訊頁面。有兩個政策連接到角色，您先前的 AWS 受管政策，例如 **PowerUserAccess**，以及您的新政策。選取 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)

------