

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

# IAM 入門
<a name="getting-started"></a>

AWS Identity and Access Management (IAM) 可協助您安全地控制對 Amazon Web Services (AWS) 和您帳戶資源的存取。IAM 還可以讓您的登入認證保持私有。您不需專門註冊即可使用 IAM。使用 IAM 免費。

使用 IAM 為使用者和角色等身分提供您的帳戶中資源的存取權。例如，您可以將 IAM 與您在公司目錄中管理外部的現有使用者搭配使用， AWS 也可以 AWS 使用 建立使用者 AWS IAM Identity Center。聯合身分會擔任定義的 IAM 角色，以存取他們所需的資源。如需有關 IAM Identity Center 的詳細資訊，請參閱 *AWS IAM Identity Center 使用者指南*中的[什麼是 IAM Identity Center？](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

**注意**  
IAM 已與數個 AWS 產品整合。如需支援 IAM 的服務清單，請參閱 [AWS 使用 IAM 的 服務](reference_aws-services-that-work-with-iam.md)。

若要了解如何開始使用 AWS、建立管理使用者、 AWS Organizations和使用多個 服務來解決建置和啟動第一個專案等問題，請參閱 [入門資源中心](https://aws.amazon.com/getting-started/)。

# 設定您的 AWS 帳戶
<a name="getting-started-account-iam"></a>

開始使用 IAM 之前，請確定您已完成 AWS 環境的初始設定。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

當您註冊服務時，您使用 AWS 帳戶 電子郵件地址和密碼建立 。這些是您的 AWS 根使用者登入資料。最佳實務是，您不使用您的根使用者登入資料來存取 AWS 每日任務。僅將根使用者憑證用於執行[需要根使用者憑證的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/root-user-tasks.html)。另外，不要與任何人共用您的憑證。反之，將人員新增至您的目錄，並授予他們存取您的 AWS 帳戶的權限。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**將存取權授予帳單主控台**

 AWS 帳戶 內的 IAM 使用者和角色預設無法存取帳單和成本管理主控台。即使他們具有授予特定帳單功能之存取權的 IAM 政策，也是如此。若要授予存取權， AWS 帳戶 根使用者必須先啟用 IAM 存取權。
**注意**  
我們的安全最佳實務是建議您透過聯合身分與 [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)來提供資源存取權限。當您搭配 啟用 IAM Identity Center 時 AWS Organizations，預設會啟用 Billing and Cost Management 主控台，其中包含 AWS 帳戶 組織中所有 的合併帳單。如需詳細資訊，請參閱《帳單與成本管理使用者指南》**中的[合併 AWS Organizations的帳單](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/consolidated-billing.html)。

1.  AWS 管理主控台 使用您的根使用者登入資料登入 （特別是您用來建立 AWS 帳戶的電子郵件地址和密碼）。

1. 在導覽列上選取您的帳戶名稱，然後選取[帳戶](https://console.aws.amazon.com/billing/home#/account)。

1. 向下捲動頁面，直至找到**帳單資訊的 IAM 使用者和角色存取權**部分，然後選取**編輯**。

1. 選取**啟用 IAM 存取**核取方塊，以啟用對帳單和成本管理主控台頁面的存取。

1. 選擇**更新**。

    頁面會顯示**已啟用 IAM 使用者/角色對帳單資訊的存取權**訊息。
**重要**  
單獨啟用 IAM 存取並不會授予使用者或角色任何檢視帳單和成本管理主控台頁面的權限。還必須將必要的身分型政策連接至 IAM 角色，以授予對帳單主控台的存取權。角色會提供使用者在需要時可以使用的臨時憑證。

1. 使用 AWS 管理主控台 建立[角色，使用者可以擔任該角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)來存取帳單主控台。

1. 在角色的**新增許可**頁面上，新增許可以列出並檢視 AWS 帳戶中有關帳單資源的詳細資訊。

    AWS 受管政策 [Billing](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/managed-policies.html#security-iam-awsmanpol-Billing) 授予使用者檢視和編輯 Billing and Cost Management 主控台的許可。這包括檢視帳戶使用情況、修改預算和付款方式。如需可連接至 IAM 角色以控制對帳戶帳單資訊的存取的更多政策範例，請參閱 *Billing and Cost Management User Guide* 中的 [AWS Billing policy examples](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-example-policies.html)。

# 檢視您的 AWS 帳戶 ID
<a name="console-account-id"></a>

如果已登入主控台，您可以使用下列方法檢視 AWS 帳戶 的帳戶 ID。

## 檢視您的 AWS 帳戶 ID
<a name="console-account-id-section-1"></a>

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

當您前往 AWS 帳戶 區段中的 IAM **儀表板**時，會顯示 AWS 帳戶 ID。您也可以在右上角的導覽列中檢視帳戶 ID。選擇您的使用者名稱，帳戶 ID 即會顯示在使用者名稱上方。

![\[帳戶 ID 已反白顯示的帳戶資訊下拉式方塊\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/find-account-id.png)


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

使用以下命令來檢視您的使用者 ID、帳戶 ID 和您的使用者 ARN：
+ [aws sts get-caller-identity](https://docs.aws.amazon.com/cli/latest/reference/sts/get-caller-identity.html)

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

使用以下 API 來檢視您的使用者 ID、帳戶 ID 及您的使用者 ARN：
+ [GetCallerIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html) 

------

# 為您的 AWS 帳戶 ID 使用別名
<a name="console-account-alias"></a>

帳戶 ID 是一個 12 位數的號碼，可唯一識別您的帳戶。預設情況下，帳戶中的 IAM 使用者使用包含帳戶 ID 的 Web URL 登入。如果他們沒有 URL，則可以在登入時在 AWS 登入頁面上提供帳戶 ID。

預設情況下，您的登入頁面 URL 有以下格式。

```
https://Your_Account_ID.signin.aws.amazon.com/console/
```

許多人發現單字比數字更容易記住，因此為帳戶 ID 建立別名可以協助您的 IAM 使用者更輕鬆地登入。

如果您為 AWS 帳戶 ID AWS 帳戶 建立別名，您的登入頁面 URL 如下所示。

```
https://Your_Account_Alias.signin.aws.amazon.com/console/
```

**建立帳戶別名之前的考量**
+ 您的 只能 AWS 帳戶 有一個別名。如果您為 AWS 帳戶建立新的別名，新的別名會覆寫先前的別名，而包含先前別名的 URL 會停止運作。
+ 帳戶別名必須僅包含數字、小寫字母和連字號。如需 AWS 帳戶實體限制的詳細資訊，請參閱 [IAM AWS STS 和配額](reference_iam-quotas.md)。
+ 帳戶別名在指定網路*分割區*內所有 Amazon Web Services 產品中必須是唯一的。

  *分割區*是一組 AWS 區域。每個 AWS 帳戶的範圍為一個分割區。

  以下是支援的分割區：
  + `aws` - AWS 區域
  + `aws-cn` - 中國區域
  + `aws-us-gov` - AWS GovCloud (US) 區域

**注意**  
帳戶別名並非秘密，它們會顯示在您的面向公眾的登入頁面 URL 中。請勿在您的帳戶別名中包含任何敏感資訊。  
包含您 AWS 帳戶 ID 的原始 URL AWS 帳戶 會保持作用中狀態，並可在您建立別名後使用。

# 建立帳戶別名
<a name="account-alias-create"></a>

若要執行下列步驟，您至少必須擁有下列 IAM 許可：
+ `iam:ListAccountAliases`
+ `iam:CreateAccountAlias`

## 建立 AWS 帳戶 別名
<a name="console-account-alias-section-1"></a>

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

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **Dashboard (儀表板)**。

1. 在 **AWS  帳戶**區段中，選擇**帳戶別名**旁邊的**建立**。如果別名已存在，請選擇 **Edit** (編輯)。

1. 在對話方塊中，輸入要用作別名的名稱，然後選擇**儲存變更**。

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

執行以下命令：
+ `[aws iam create-account-alias](https://docs.aws.amazon.com/cli/latest/reference/iam/create-account-alias.html)`

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

若要為 AWS 管理主控台 登入頁面 URL 建立別名，請呼叫下列操作：
+ `[CreateAccountAlias](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccountAlias.html)` 

------

# 刪除帳戶別名
<a name="account-alias-delete"></a>

若要執行下列步驟，您至少必須擁有下列 IAM 許可：
+ `iam:ListAccountAliases`
+ `iam:DeleteAccountAlias`

## 刪除帳戶別名
<a name="console-account-alias-section-2"></a>

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

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在導覽窗格中，選擇 **Dashboard (儀表板)**。

1. 在 **AWS  帳戶**區段中，選擇**帳戶別名**旁邊的**刪除**。

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

若要刪除 AWS 帳戶 ID 別名，請執行下列命令：
+ `[aws iam delete-account-alias](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-account-alias.html)`

若要確認已刪除帳戶別名，請執行下列命令，嘗試顯示您的 AWS 帳戶 ID 別名：
+ `[aws iam list-account-aliases](https://docs.aws.amazon.com/cli/latest/reference/iam/list-account-aliases.html)`

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

若要刪除 AWS 帳戶 ID 別名，請呼叫下列操作：
+ `[DeleteAccountAlias](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccountAlias.html)` 

若要確認已刪除帳戶別名，請呼叫下列操作來嘗試顯示您的 AWS 帳戶 ID 別名：
+ `[ListAccountAliases](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAccountAliases.html)` 

------

**注意**  
刪除帳戶別名後，帳戶的唯一登入 URL 取決於帳戶 ID。連線至別名 URL 的任何嘗試都會失敗並且不會重新導向。

# 計劃存取您的帳戶 AWS
<a name="gs-identities"></a>

設定時 AWS，規劃您希望人員如何存取 AWS 您的帳戶和資源，以設定設計完善且安全的身分管理解決方案。

**身分來源**

根據 IAM 最佳實務，人類使用者和工作負載在存取您的 AWS 資源時應使用暫時登入資料。臨時憑證會授予使用 IAM 角色存取您的資源之人。聯合到 IAM 的使用者和 IAM Identity Center 中的使用者 (聯合的或者在 IAM Identity Center 目錄中建立的) 都使用 IAM 角色來存取資源。

開始使用 之前 AWS，請先規劃如何設定您的身分，方法如下：
+ 使用 啟用 IAM Identity Center， AWS Organizations 並將 IAM Identity Center 中的使用者直接新增至組織目錄。

  若要了解如何將使用者直接新增至 IAM Identity Center 組織目錄，請參閱 [Add users](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html)
+ 將您的現有外部身分提供者與 IAM Identity Center 或 IAM 聯合。

  若要了解如何將外部身分提供者聯合至 IAM Identity Center 組織目錄，請學習適當的[入門教程](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html)。

**存取管理**

識別您的使用者將存取 AWS 的資源和服務，並定義每個使用者、群組或角色所需的存取許可和政策。
+ 如果您使用 IAM Identity Center，IAM 身分提供者以及 IAM 角色和許可政策會自動在您組織中的每個 AWS 帳戶中建立。這些角色和許可與您將人員或群組指派給特定應用程式或 AWS 帳戶時指定的許可相符。

  如需詳細資訊，請參閱 [Assign user access](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-assign-account-access-user.html) 和 [Set up single sign-on access to your applications](https://docs.aws.amazon.com/singlesignon/latest/userguide/set-up-single-sign-on-access-to-applications.html)。
+ 如果您在 中將身分提供者直接與 IAM 聯合 AWS 帳戶，則必須為使用者建立角色以擔任 和兩個政策；信任政策指定誰可以擔任該角色，以及許可政策指定擔任該角色的人員被允許或拒絕存取 AWS 的動作和資源。

  如需詳細資訊，請參閱[身分提供者和聯合身分 AWS](id_roles_providers.md)

# IAM 使用者的使用案例
<a name="gs-identities-iam-users"></a>

您在 中建立的 IAM 使用者 AWS 帳戶 具有您直接管理的長期登入資料。

在 中管理存取權時 AWS，IAM 使用者通常不是最佳選擇。應該避免在大多數使用案例中依賴 IAM 使用者，主要原因有如下幾個。

首先，IAM 使用者是為個別帳戶而設計，因此不會隨著組織的成長而擴展。管理大量 IAM 使用者的許可和安全性可能很快就成為挑戰。

IAM 使用者也缺乏您透過其他 AWS 身分管理解決方案取得的集中式可見性和稽核功能。這可能加大維護安全性與合規性的難度。

最後，透過可擴展性更好的身分管理方法，實作安全最佳實務 (例如多重要素驗證、密碼政策和角色分離) 將更容易。

我們建議您使用更強大的解決方案，例如 IAM Identity Center 搭配 或來自外部供應商的聯合身分 AWS Organizations，而不是依賴 IAM 使用者。隨著 AWS 環境的增長，這些選項將為您提供更好的控制、安全和營運效率。

因此，建議您僅將 IAM 使用者用於[聯合身分使用者不支援的使用案例](https://docs.aws.amazon.com//IAM/latest/UserGuide/id.html#id_which-to-choose)。

下列清單識別需要 IAM 使用者長期登入資料的特定使用案例 AWS。您可以使用 IAM 在 AWS 帳戶的保護下建立這些 IAM 使用者，並使用 IAM 管理其許可。
+ 緊急存取您的帳戶 AWS 
+ 無法使用 IAM 角色的工作負載
  + AWS CodeCommit 存取
  + Amazon Keyspaces (適用於 Apache Cassandra)
+ 第三方 AWS 用戶端
+ AWS IAM Identity Center 不適用於您的帳戶，而且您沒有其他身分提供者



# 建立 IAM 使用者以進行緊急存取
<a name="getting-started-emergency-iam-user"></a>

*[IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*是 中的身分 AWS 帳戶 ，具有單一人員或應用程式的特定許可。

讓 IAM 使用者進行緊急存取是建立 IAM 使用者的建議原因之一，以便在身分提供者無法存取 AWS 帳戶 時存取您的 。

**注意**  
我們的安全[最佳實務](best-practices.md)是建議您透過聯合身分來提供資源存取權限，而不是建立 IAM 使用者。若要了解需要 IAM 使用者的特定情形，請參閱[建立 IAM 使用者 (而非角色) 的時機](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_which-to-choose)。

## 若要建立 IAM 使用者以進行緊急存取
<a name="getting-started-emergency-iam-user-section-1"></a>

**最低許可**  
若要執行下列步驟，您至少必須擁有下列 IAM 許可：  
`access-analyzer:ValidatePolicy`
`iam:AddUserToGroup`
`iam:AttachGroupPolicy`
`iam:CreateGroup`
`iam:CreateLoginProfile`
`iam:CreateUser`
`iam:GetAccountPasswordPolicy`
`iam:GetLoginProfile`
`iam:GetUser`
`iam:ListAttachedGroupPolicies`
`iam:ListAttachedUserPolicies`
`iam:ListGroupPolicies`
`iam:ListGroups`
`iam:ListGroupsForUser`
`iam:ListPolicies`
`iam:ListUserPolicies`
`iam:ListUsers`

------
#### [ Console ]<a name="gs-proc-iam-user-user"></a>

1. 按照《AWS ‭‬ 登入使用者指南》‭‬**[如何登入 AWS‭‬](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 主題中適合您使用者類型的登入程序操作。

1. 在 **IAM 主控台首頁**的左側導覽窗格中，在**搜尋 IAM** 文字方塊中輸入查詢。

1. 在導覽窗格中選取**使用者**，然後選取**建立使用者**。
**注意**  
如果您已啟用 IAM Identity Center，則 AWS 管理主控台 會顯示提醒，指出最好在 IAM Identity Center 中管理使用者的存取權。在此程序中，您建立的 IAM 使用者專門用於身分提供者無法使用的時機。

1. 在**指定使用者詳細資訊**頁面**使用者詳細資訊**下方的**使用者名稱**中，輸入新使用者的名稱。這是新使用者的 AWS登入名稱。在此範例中，請輸入 **EmergencyAccess**。
**注意**  
使用者名稱可以是長達 64 個字母、數字以及這些字元的組合：加號 (\$1)、等號 (=)、逗號 (,)、句號 (.)、@ 符號、底線 (\$1) 以及連字號 (-)。名稱在帳戶中必須是唯一的。它們無法透過大小寫進行區分。例如，您不可以建立兩個名為 TESTUSER 和 testuser 的使用者。使用者名稱用在政策中或作為 ARN 的一部分時，名稱區分大小寫。當主控台中的客戶顯示使用者名稱時 (例如在登入程序期間)，使用者名稱不區分大小寫。

1. 選取**為使用者提供 AWS 管理主控台存取權 (*選用*)** 旁的核取方塊，然後選擇**我想要建立 IAM 使用者**。

1. 在**主控台密碼**下選取**自動產生的密碼**。

1. 清除**使用者必須在下次登入時建立新密碼 (建議)** 旁的核取方塊。由於此 IAM 使用者是用於緊急存取，因此受信任的管理員會保留密碼，並僅在必要時提供密碼。

1. 在 **設定許可** 頁面的 **許可選項** 下方選取 **新增使用者至群組**。然後，在 **使用者群組** 下方選取 **建立群組**。

1. 在 **建立使用者群組** 頁面的 **使用者群組名稱** 中輸入**EmergencyAccessGroup**。然後，在**許可政策**下方選取 **AdministratorAccess**。

1. 選取**建立使用者群組**以返回**設定許可**頁面。

1. 在**使用者群組**下方選取先前建立的 **EmergencyAccessGroup** 的名稱。

1. 選取**下一步**以繼續前往**檢閱和建立**頁面。

1. 在**檢閱和建立**頁面上檢閱要新增至新使用者的使用者群組成員資格清單。準備好繼續時，請選取**建立使用者**。

1. 在**擷取密碼**頁面上選取**下載 .csv 檔案**，以儲存含有使用者憑證資訊 (連線 URL、使用者名稱和密碼) 的 .csv 檔案。

1. 如果您需要登入 IAM 且無法存取身分提供者，請儲存此檔案以供使用。

新的 IAM 使用者會顯示在**使用者**清單中。選取**使用者名稱**連結以檢視使用者詳細資訊。

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

1. 建立名為 **EmergencyAccess** 的使用者。
   + [aws iam create-user](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

   ```
   aws iam create-user \
      --user-name EmergencyAccess
   ```

1. (選用) 提供使用者 AWS 管理主控台存取權。這需要密碼。若要為 IAM 使用者建立密碼，可以使用 `--cli-input-json` 參數來傳遞包含密碼的 JSON 檔案。還必須為使用者提供[您的帳戶登入頁面的 URL。](id_users_sign-in.md)
   +  [aws iam create-login-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-login-profile.html)

     ```
      
     aws iam create-login-profile \
        --generate-cli-skeleton > create-login-profile.json
     ```
   + 在文字編輯器中開啟 `create-login-profile.json` 檔案並輸入符合密碼政策的密碼，然後儲存檔案。例如：

     ```
     {
      "UserName": "EmergencyAccess",
      "Password": "Ex@3dRA0djs",
      "PasswordResetRequired": false
     }
     ```
   + 再次使用 `aws iam create-login-profile` 命令，傳遞 `--cli-input-json` 參數以指定您的 JSON 檔案。

     ```
     aws iam create-login-profile \
        --cli-input-json file://create-login-profile.json
     ```
**注意**  
如果在 JSON 檔案中提供的密碼違反帳戶的密碼政策，您會收到 `PassworPolicyViolation` 錯誤。如果發生這種情況，請檢閱您帳戶的[密碼政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_account-policy.html#default-policy-details)，並依循要求更新 JSON 檔案中的密碼。

1. 建立 **EmergencyAccessGroup**、將 AWS 受管政策連接至 `AdministratorAccess` 群組，並將**EmergencyAccess**使用者新增至 群組。
**注意**  
「AWS 受管政策」**為獨立的政策，由 AWS建立並管理。每個政策都有自己的 Amazon Resource Name (ARN)，其中包含政策名稱。例如， `arn:aws:iam::aws:policy/IAMReadOnlyAccess` 是 AWS 受管政策。如需有關 ARN 的詳細資訊，請參閱 [IAM ARN](reference_identifiers.md#identifiers-arns)。如需 受 AWS 管政策的清單 AWS 服務，請參閱 [AWS 受管政策](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/policy-list.html)。
   + [aws iam create-group](https://docs.aws.amazon.com/cli/latest/reference/iam/create-group.html) 

     ```
     aws iam create-group \
        --group-name EmergencyAccessGroup
     ```
   + [aws iam attach-group-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-group-policy.html)

     ```
     aws iam attach-group-policy \
        --policy-arn arn:aws:iam::aws:policy/AdministratorAccess \
        --group-name >EmergencyAccessGroup
     ```
   + [aws iam add-user-to-group](https://docs.aws.amazon.com/cli/latest/reference/iam/add-user-to-group.html) 

     ```
     aws iam add-user-to-group \
        --user-name EmergencyAccess \
        --group-name EmergencyAccessGroup
     ```
   + 執行 [aws iam get-group](https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html) 命令會列出 **EmergencyAccessGroup** 及其成員。

     ```
     aws iam get-group \
        --group-name EmergencyAccessGroup
     ```

------

# 為無法使用 IAM 角色的工作負載建立 IAM 使用者
<a name="getting-started-workloads"></a>

**重要**  
[最佳實務](best-practices.md#lock-away-credentials)是，我們建議您要求人類使用者在存取時使用[臨時登入](id_credentials_temp.md)資料 AWS。  
或者，您可以使用 [AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html) 來管理使用者身分，包括管理使用者。建議您使用 IAM Identity Center 來管理帳戶的存取權和這些帳戶內的許可。如果使用的是外部身分提供者，也可以在 IAM Identity Center 中設定使用者身分的存取許可。

如果您的使用案例需要具有程式化存取權和長期憑證的 IAM 使用者，則建議您建立程序，以在需要時更新存取金鑰。如需詳細資訊，請參閱[更新存取金鑰](id-credentials-access-keys-update.md)。

若要執行一些帳戶和服務管理任務，必須使用根使用者憑證來登入。若要檢視您必須以根使用者身分登入的任務，請參閱[需要根使用者憑證的任務](id_root-user.md#root-user-tasks)。

## 若要為無法使用 IAM 角色的工作負載建立 IAM 使用者
<a name="getting-started-workloads-section-1"></a>

**最低許可**  
若要執行下列步驟，您至少必須擁有下列 IAM 許可：  
`iam:AddUserToGroup`
`iam:AttachGroupPolicy`
`iam:CreateAccessKey`
`iam:CreateGroup`
`iam:CreateServiceSpecificCredential`
`iam:CreateUser`
`iam:GetAccessKeyLastUsed`
`iam:GetAccountPasswordPolicy`
`iam:GetAccountSummary`
`iam:GetGroup`
`iam:GetLoginProfile`
`iam:GetPolicy`
`iam:GetRole`
`iam:GetUser`
`iam:ListAccessKeys`
`iam:ListAttachedGroupPolicies`
`iam:ListAttachedUserPolicies`
`iam:ListGroupPolicies`
`iam:ListGroups`
`iam:ListGroupsForUser`
`iam:ListInstanceProfilesForRole`
`iam:ListMFADevices`
`iam:ListPolicies`
`iam:ListRoles`
`iam:ListRoleTags`
`iam:ListSSHPublicKeys`
`iam:ListServiceSpecificCredentials`
`iam:ListSigningCertificates`
`iam:ListUserPolicies`
`iam:ListUserTags`
`iam:ListUsers`
`iam:UploadSSHPublicKey`
`iam:UploadSigningCertificate`

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

1. 按照《AWS ‭‬ 登入使用者指南》‭‬**[如何登入 AWS‭‬](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 主題中適合您使用者類型的登入程序操作。

1. 在 **IAM 主控台首頁**的左側導覽窗格中，在**搜尋 IAM** 文字方塊中輸入查詢。

1. 在導覽窗格中，選擇**使用者**，然後選擇**建立新使用者**。

1. 在**指定詳細資訊**頁面上，執行下列動作：

   1. 對於**使用者名稱**，輸入 ***WorkloadName***。將 ***WorkloadName*** 替換為將使用帳戶的工作負載的名稱。

   1. 選擇**下一步**。

1. 在**設定許可**頁面上，執行下列動作：

   1. 選擇**將使用者新增至群組**。

   1. 選擇**建立群組**。

   1. 在**建立使用者群組**對話方塊的**使用者群組名稱**中，輸入代表工作負載在群組中的用途的名稱。在此範例中，使用名稱 **Automation**。

   1. 在**許可政策**下，選取 **PowerUserAccess** 受管政策的核取方塊。
**提示**  
在**許可政策**搜尋方塊中輸入 *Power*，以快速尋找受管政策。

   1. 選擇**建立使用者群組**。

   1. 回到包含 IAM 群組清單的頁面，選取新使用者群組的核取方塊。如果沒有在清單中看到新使用者群組，選擇**重新整理**。

   1. 選擇**下一步**。

1. (選用) 在**標籤**區段，透過將標籤做為鍵值對連接，將中繼資料新增到使用者。如需詳細資訊，請參閱 [AWS Identity and Access Management 資源的標籤](id_tags.md)。

1. 驗證新使用者的使用者群組成員資格。準備好繼續時，選擇**建立使用者**。

1. 此時將顯示一則狀態通知，告知您使用者已成功建立。選取**檢視使用者**以前往使用者詳細資訊頁面

1. 選取**安全憑證**索引標籤。然後建立工作負載所需的憑證。
   + **存取金鑰**：選取**建立存取金鑰**可產生並為使用者下載存取金鑰。
**重要**  
這是您檢視或下載私密存取金鑰的唯一機會，您必須先將此資訊提供給使用者，然後他們才能使用 AWS API。請將使用者的新存取金鑰 ID 和私密存取金鑰存放在安全處。**在此步驟之後，您將無法再存取該私密金鑰。**
   + **的 SSH 公有金鑰 AWS CodeCommit** – 選取**上傳 SSH 公有金鑰**以上傳 SSH 公有金鑰，讓使用者可以透過 SSH 與 CodeCommit 儲存庫通訊。
   + **的 HTTPS Git 登入資料 AWS CodeCommit** – 選取**產生登入資料**以產生一組唯一的使用者登入資料，以便與 Git 儲存庫搭配使用。選取**下載憑證**可將使用者名稱和密碼儲存至 .csv 檔案。這是唯一可取得資訊的時機。如果忘記或遺失密碼，則需要重設。
   + **Amazon Keyspaces (適用於 Apache Cassandra) 的憑證**：選取**產生憑證**產生服務特定的使用者憑證，以搭配 Amazon Keyspaces 使用。選取**下載憑證**可將使用者名稱和密碼儲存至 .csv 檔案。這是唯一可取得資訊的時機。如果忘記或遺失密碼，則需要重設。
**重要**  
服務特定憑證是與特定 IAM 使用者關聯的長期憑證，只能用於為其建立的服務。若要授予 IAM 角色或聯合身分使用暫時登入資料存取所有 AWS 資源的許可，請使用身分 AWS 驗證搭配 Amazon Keyspaces 的 SigV4 身分驗證外掛程式。如需詳細資訊，請參閱《Amazon Keyspaces (適用於 Apache Cassandra) 開發人員指南》**中的[透過 IAM 角色和 SigV4 外掛程式使用臨時憑證連線到 Amazon Keyspaces (適用於 Apache Cassandra)](https://docs.aws.amazon.com/keyspaces/latest/devguide/access.credentials.html#temporary.credentials.IAM)。
   + **X.509 簽署憑證** – 如果您需要提出安全的 SOAP 通訊協定請求，且位於 不支援的區域，請選取**建立 X.509 憑證** AWS Certificate Manager。ACM 為佈建、管理和部署伺服器憑證的首選工具。如需有關使用 ACM 的詳細資訊，請參閱《AWS Certificate Manager 使用者指南》[https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)。

您已建立具有程式化存取權的使用者，並使用 **PowerUserAccess** 任務函數對其進行設定。此使用者的許可政策授予每個服務的完整存取權，IAM 和 除外 AWS Organizations。

如果工作負載無法擔任 IAM 角色，您可以使用這個相同的程序，讓其他工作負載以程式設計方式存取您的 AWS 帳戶 資源。此程序使用 **PowerUserAccess** 受管政策指派許可。若要遵循最低權限的最佳實務，請考慮使用更嚴格的政策或建立自訂政策，限制僅存取程式所需的資源。若要了解如何使用將使用者許可限制為特定 AWS 資源的政策，請參閱 [AWS 資源的存取管理](access.md)和 [以身分為基礎的 IAM 政策範例](access_policies_examples.md)。若要在建立使用者群組之後向其中新增其他使用者，請參閱[編輯 IAM 群組中的使用者](id_groups_manage_add-remove-users.md)。

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

1. 建立名為 **Automation** 的使用者。
   + [aws iam create-user](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

   ```
                 aws iam create-user \
                     --user-name Automation
   ```

1. 建立名為 的 IAM 使用者群組**AutomationGroup**，將 AWS 受管政策連接至`PowerUserAccess`群組，然後將**Automation**使用者新增至群組。
**注意**  
「AWS 受管政策」**為獨立的政策，由 AWS建立並管理。每個政策都有自己的 Amazon Resource Name (ARN)，其中包含政策名稱。例如， `arn:aws:iam::aws:policy/IAMReadOnlyAccess` 是 AWS 受管政策。如需有關 ARN 的詳細資訊，請參閱 [IAM ARN](reference_identifiers.md#identifiers-arns)。如需 的 AWS 受管政策清單 AWS 服務，請參閱 [AWS 受管政策](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/policy-list.html)。
   + [aws iam create-group](https://docs.aws.amazon.com/cli/latest/reference/iam/create-group.html) 

     ```
                       aws iam create-group \
                           --group-name AutomationGroup
     ```
   + [aws iam attach-group-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-group-policy.html)

     ```
                       aws iam attach-group-policy \
                           --policy-arn arn:aws:iam::aws:policy/PowerUserAccess \
                           --group-name AutomationGroup
     ```
   + [aws iam add-user-to-group](https://docs.aws.amazon.com/cli/latest/reference/iam/add-user-to-group.html) 

     ```
                      aws iam add-user-to-group \
                          --user-name Automation \
                          --group-name AutomationGroup
     ```
   + 執行 [aws iam get-group](https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html) 命令會列出 **AutomationGroup** 及其成員。

     ```
                     aws iam get-group \
                          --group-name AutomationGroup
     ```

1. 建立工作負載所需的安全憑證。
   + **建立用於測試的存取金鑰** – [aws iam create-access-key](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)

     ```
                            aws iam create-access-key \
                                --user-name Automation
     ```

     此命令的輸出中包含私密存取金鑰和存取金鑰 ID。記錄此資訊並存放在安全的位置。這些憑證一旦遺失，就無法復原，您必須建立新的存取金鑰。
**重要**  
這些 IAM 使用者存取金鑰是長期憑證，會對您的帳戶造成安全風險。完成測試後，建議刪除這些存取金鑰。如果您遇到正在考慮使用存取金鑰的情況，請調查是否可以為工作負載 IAM 使用者啟用 MFA，並使用 [aws sts get-session-token](https://docs.aws.amazon.com/cli/latest/reference/sts/get-session-token.html) 取得工作階段的臨時憑證，而不要使用 IAM 存取金鑰。
   + **上傳 SSH 公有金鑰給 AWS CodeCommit** –[aws iam upload-ssh-public-key](https://docs.aws.amazon.com/cli/latest/reference/iam/upload-ssh-public-key.html)

     下列範例假設您將 SSH 公有金鑰存放在 `sshkey.pub` 檔案中。

     ```
                            aws upload-ssh-public-key \
                                --user-name Automation \
                                --ssh-public-key-body file://sshkey.pub
     ```
   + **上傳 X.509 簽署憑證** – [aws iam upload-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/upload-signing-certificate.html)

     如果您需要提出安全的 SOAP 通訊協定請求，且位於 不支援的區域，請上傳 X.509 憑證 AWS Certificate Manager。ACM 為佈建、管理和部署伺服器憑證的首選工具。如需有關使用 ACM 的詳細資訊，請參閱《AWS Certificate Manager 使用者指南》[https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)。

     下列範例假設您將 X.509 簽署憑證存放在 `certificate.pem` 檔案中。

     ```
                           aws iam upload-signing-certificate \
                           --user-name Automation \
                           --certificate-body file://certificate.pem
     ```

如果工作負載無法擔任 IAM 角色，您可以使用這個相同的程序，讓其他工作負載以程式設計方式存取您的 AWS 帳戶 資源。此程序使用 **PowerUserAccess** 受管政策指派許可。若要遵循最低權限的最佳實務，請考慮使用更嚴格的政策或建立自訂政策，限制僅存取程式所需的資源。若要了解如何使用將使用者許可限制為特定 AWS 資源的政策，請參閱 [AWS 資源的存取管理](access.md)和 [以身分為基礎的 IAM 政策範例](access_policies_examples.md)。若要在建立使用者群組之後向其中新增其他使用者，請參閱[編輯 IAM 群組中的使用者](id_groups_manage_add-remove-users.md)。

------

# 對身分使用多重要素驗證
<a name="gs-identities-mfa"></a>

對身分使用多重要素驗證 (MFA) 是另一個 IAM 最佳實務。MFA 是額外的安全層，要求使用者在提供使用者名稱和密碼後，提供額外的驗證因素以驗證其身分。即使使用者的密碼外洩，它也能讓攻擊者很難取得未經授權的存取權，因此大幅提升安全性。MFA 被廣泛採用為保護存取線上帳戶、雲端服務和其他敏感資源的最佳實務。 AWS 支援根使用者、IAM 使用者、IAM Identity Center 中的使用者、建置器 ID 和聯合身分使用者的 MFA。為了提高安全性，您可以建立策略，要求使用者必須先設定 MFA 才能存取資源或執行特定動作，並將這些政策連接至 IAM 角色。依預設，IAM Identity Center 已預先設定啟用了 MFA，因此 IAM Identity Center 中的所有使用者在登入時除了使用其使用者名稱和密碼之外，還必須使用 MFA。

**注意**  
所有 AWS 帳戶 類型 （獨立、管理和成員帳戶） 都需要為其根使用者設定 MFA。 AWS 管理主控台 如果尚未啟用 MFA，使用者必須在第一次登入嘗試存取 的 35 天內註冊 MFA。

如需詳細資訊，請參閱 [Configure MFA in IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/mfa-getting-started.html) 和 [AWS IAM 中的多重要素驗證](id_credentials_mfa.md)。

# 為最低權限許可做好準備
<a name="getting-started-reduce-permissions"></a>

使用*最低權限許可*是 IAM 的最佳實務建議。最低權限許可的概念是指僅授與使用者執行任務所需的許可，而且無需額外許可。設定完成後，請思考支援最低權限許可的方式。根使用者、管理使用者和緊急存取 IAM 使用者擁有日常工作不需要的強大許可。當您了解 AWS 並測試不同的服務時，我們建議您在 IAM Identity Center 中建立至少一個額外的使用者，並具有較少的許可，您可以在不同的案例中使用。您可以使用 IAM 政策定義特定條件下可對特定資源採取的動作，然後透過權限較低的帳戶連結至這些資源。

如果您使用的是 IAM Identity Center，請考慮使用 IAM Identity Center 許可集來展開行動。若要了解詳情，請參閱《IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)。

如果您使用的不是 IAM Identity Center，請使用 IAM 角色為不同的 IAM 實體定義許可。如需詳細資訊，請參閱 [IAM 角色建立](id_roles_create.md)。

IAM 角色和 IAM Identity Center 許可集都可以根據任務函數使用 AWS 受管政策。如需這些政策所授與權限的詳細資訊，請參閱 [AWS 任務函數的 受管政策](access_policies_job-functions.md)。

**重要**  
請記住， AWS 受管政策可能不會授予特定使用案例的最低權限許可，因為它們可供所有 AWS 客戶使用。完成設定後，建議您使用 IAM Access Analyzer 來根據記錄在 AWS CloudTrail的存取活動產生最低權限政策。如需政策產生的詳細資訊，請參閱 [IAM Access Analyzer 政策產生](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html)。

當您開始使用時，我們建議您使用 AWS 受管政策來授予許可。在過了預先定義的閒置期間 (例如 90 天) 後，您可以檢閱人員和工作負載存取過的服務。然後，您可以建立新的客戶受管政策，並降低取代 AWS 受管政策的許可。新的政策應僅包含範例期間內存取的服務。更新您的許可以移除 AWS 受管政策，並連接您建立的新客戶受管政策。

# 檢閱您 AWS 帳戶的上次存取資訊
<a name="getting-started-reduce-permissions-last-accessed"></a>

您可以使用 IAM 主控台 AWS CLI或 AWS API 來檢視 IAM 的服務上次存取資訊。如需關於資料、必要許可、疑難排解及支援區域的重要資訊，請參閱[AWS 使用上次存取的資訊在 中精簡許可](access_policies_last-accessed.md)。

您可以在 IAM 中檢視下列資源類型的資訊。在每個案例中，資訊涵蓋指定報告期間允許的服務：
+ **IAM 使用者**：檢視使用者上一次嘗試存取每個允許服務的時間。
+ **IAM 群組**：檢視有關上一次 IAM 群組成員嘗試存取每個允許服務的資訊。此報告也包含曾嘗試存取的成員總數。
+ **IAM 角色**：檢視上一次有人使用該角色嘗試存取每個允許服務的時間。
+ **政策** – 檢視有關上一次使用者或角色嘗試存取每個允許服務的資訊。此報告也包含曾嘗試存取的實體總數。

**注意**  
在檢視 IAM 中的資源的存取資訊之前，請確定您了解報告期間、報告的實體，以及您資訊的評估政策類型。如需詳細資訊，請參閱[關於上次存取資訊的注意事項](access_policies_last-accessed.md#access_policies_last-accessed-know)。

如需上次存取資訊的詳細資訊，請參閱[AWS 使用上次存取的資訊在 中精簡許可](access_policies_last-accessed.md)。

## 若要檢閱 的上次存取資訊 AWS 帳戶
<a name="getting-started-reduce-permissions-last-accessed-proc"></a>

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

1. 按照《AWS ‭‬ 登入使用者指南》‭‬**[如何登入 AWS‭‬](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 主題中適合您使用者類型的登入程序操作。

1. 在 **IAM 主控台首頁**的左側導覽窗格中，在**搜尋 IAM** 文字方塊中輸入查詢。

1. 在導覽窗格中，選擇**使用者群組**、**使用者**、**角色**或**政策**。

1. 選擇任意使用者、使用者群組、角色或政策名稱以開啟其**摘要**頁面，然後選擇**上次存取**索引標籤。根據您選擇的資源，檢視下列資訊：
   + **使用者群組** – 檢視使用者群組成員可存取的服務清單。您也可以檢視成員上次存取服務的時間、他們使用的使用者群組政策，以及提出要求的使用者群組成員。選擇政策的名稱以了解其為受管政策或內嵌使用者群組政策。選擇使用者群組成員的名稱以檢視該使用者群組的所有成員，以及他們上次存取該服務的時間。
   + **使用者** – 檢視使用者可存取的服務清單。您也可以檢視他們上次存取服務的時間，以及目前與該名使用者關聯的政策有哪些。選擇政策的名稱，以了解該政策是受管政策、內嵌使用者政策還是使用者群組的內嵌政策。
   + **角色** – 檢視角色可存取的服務清單、角色上次存取該服務的時間，以及他們使用哪些政策。選擇政策的名稱以了解其為受管政策還是內嵌角色政策。
   + **政策** – 檢視政策中包含允許動作的服務清單。您也可以檢視上次使用政策來存取服務的時間，以及使用政策的實體 (使用者或角色)。**上次存取**日期也包含透過其他政策授予此政策存取權的時間。選擇實體的名稱以了解哪些實體有連接政策，以及它們上次存取服務的時間。

1. 在表格的**服務**欄中，選擇[其中一項包含動作上次存取資訊的服務](access_policies_last-accessed-action-last-accessed.md)之名稱，以檢視 IAM 實體嘗試存取的管理動作清單。您可以檢視 AWS 區域 和時間戳記，顯示上次有人嘗試執行動作的時間。

1. 針對[包含動作上次存取資訊的服務](access_policies_last-accessed-action-last-accessed.md)，將為其服務和管理動作顯示**上次存取**欄。檢閱此欄中傳回的下列可能結果。這些結果會根據是否允許、存取服務或動作，以及 AWS 是否追蹤上次存取的資訊而有所不同。  
**<number of> 天前**  
自追蹤期間內使用服務或動作之後的天數。服務的追蹤期為過去 400 天。Amazon S3 動作的追蹤期由 2020 年 4 月 12 日開始。Amazon EC2、IAM 和 Lambda 行動追蹤期由 2021 年 4 月 7 日開始。所有其他服務的追蹤期從 2023 年 5 月 23 日開始。若要進一步了解每個追蹤開始日期 AWS 區域，請參閱 [其中 會 AWS 追蹤上次存取的資訊](access_policies_last-accessed.md#last-accessed_tracking-period)。  
**在追蹤期內未存取**  
追蹤的服務或動作尚未由實體在追蹤期間內使用。

   您可以擁有清單中未出現的動作許可。如果 AWS目前不包含動作的追蹤資訊，就可能發生這種情況。您不應該只根據有沒有追蹤資訊來決定許可。相反地，建議您使用此資訊來告知並支援授予最低權限的整體策略。檢查您的政策以確認存取層級是否適當。

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

您可以使用 AWS CLI 來擷取上次 AWS 帳戶 使用 中的 IAM 資源來嘗試存取 AWS 服務和 Amazon S3、Amazon EC2、IAM 和 Lambda 動作的相關資訊。IAM 資源可以是使用者、使用者群組、角色或政策。
+ 在 AWS 帳戶中產生 IAM 資源的報告。此請求必須包含您需要報告的 IAM 資源 (使用者、使用者群組、角色或政策) 的 ARN。您可以在報告中指定要產生的資料粒度層級，以檢視任一服務或同時檢視服務和動作的存取詳細資訊。它會傳回 `job-id`，然後您可將它用於 `get-service-last-accessed-details` 和 `get-service-last-accessed-details-with-entities` 操作以監控 `job-status`，直到任務完成。
  + [aws iam generate-service-last-accessed-details](https://docs.aws.amazon.com/cli/latest/reference/iam/generate-service-last-accessed-details.html)

  1. 使用上個步驟的 `job-id` 參數來擷取報告的詳細資訊。
     + [aws iam get-service-last-accessed-details](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-last-accessed-details.html)

     根據您在 `generate-service-last-accessed-details` 操作中請求的資源類型與精細程度，此操作會傳回以下資訊：
     + **使用者** – 傳回指定的使用者可存取的服務清單。對於每個服務，此操作會傳回使用者最後一次嘗試的日期與時間，以及該使用者的 ARN。
     + **使用者群組** – 傳回指定使用者群組的成員可使用連接至該使用者群組的政策進行存取的服務清單。對於每個服務，此操作會傳回任何使用者群組成員最後一次嘗試的日期與時間。它也會傳回該使用者的 ARN 以及曾嘗試存取服務的使用者群組成員總數。使用 [GetServiceLastAccessedDetailsWithEntities](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetailsWithEntities.html) 操作來擷取所有成員的清單。
     + **角色** – 傳回指定的角色可存取的服務清單。對於每個服務，此操作會傳回角色最後一次嘗試的日期與時間，以及該角色的 ARN。
     + **政策** – 傳回指定的政策允許存取的服務清單。對於每個服務，此操作會傳回實體 (使用者或角色) 上次使用政策來嘗試存取服務的日期和時間。它也會傳回實體的 ARN 以及嘗試存取的實體總數。

  1. 進一步了解在嘗試存取特定服務時使用使用者群組或政策許可的實體。此操作會傳回實體清單，包括各實體的 ARN、ID、名稱、路徑、類型 (使用者或角色)，以及它們最後一次嘗試存取服務的時間。您也可以針對使用者和角色使用此操作，但只會傳回有關該實體的資訊。
     + [aws iam get-service-last-accessed-details-with-entities](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-last-accessed-details-with-entities.html)

  1. 進一步了解有關身分 (使用者、使用者群組或角色) 在嘗試存取特定服務時使用之以身分為基礎的政策。當您指定身分和服務時，此操作會傳回實體可用於存取指定服務的許可政策清單。此操作可提供政策的目前狀態，而且不倚賴產生的報告。它也不會傳回其他政策類型，例如以資源為基礎的政策、存取控制清單、 AWS Organizations 政策、IAM 許可界限或工作階段政策。如需詳細資訊，請參閱[政策類型](access_policies.md#access_policy-types)或[單一帳戶中請求的政策評估](reference_policies_evaluation-logic_policy-eval-basics.md)。
     + [aws iam list-policies-granting-service-access](https://docs.aws.amazon.com/cli/latest/reference/iam/list-policies-granting-service-access.html)

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

您可以使用 AWS API 擷取上次使用 IAM 資源嘗試存取 AWS 服務和 Amazon S3、Amazon EC2、IAM 和 Lambda 動作的相關資訊。IAM 資源可以是使用者、使用者群組、角色或政策。您可以在報告中指定要產生的資料細微層級，以檢視任一服務或同時檢視服務和動作的詳細資訊。

1. 產生報告。此請求必須包含您需要報告的 IAM 資源 (使用者、使用者群組、角色或政策) 的 ARN。它會傳回 `JobId`，然後您可將它用於 `GetServiceLastAccessedDetails` 和 `GetServiceLastAccessedDetailsWithEntities` 操作以監控 `JobStatus`，直到任務完成。
   + [GenerateServiceLastAccessedDetails](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GenerateServiceLastAccessedDetails.html)

1. 使用上個步驟的 `JobId` 參數來擷取報告的詳細資訊。
   + [GetServiceLastAccessedDetails](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetails.html)

   根據您在 `GenerateServiceLastAccessedDetails` 操作中請求的資源類型與精細程度，此操作會傳回以下資訊：
   + **使用者** – 傳回指定的使用者可存取的服務清單。對於每個服務，此操作會傳回使用者最後一次嘗試的日期與時間，以及該使用者的 ARN。
   + **使用者群組** – 傳回指定使用者群組的成員可使用連接至該使用者群組的政策進行存取的服務清單。對於每個服務，此操作會傳回任何使用者群組成員最後一次嘗試的日期與時間。它也會傳回該使用者的 ARN 以及曾嘗試存取服務的使用者群組成員總數。使用 [GetServiceLastAccessedDetailsWithEntities](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetailsWithEntities.html) 操作來擷取所有成員的清單。
   + **角色** – 傳回指定的角色可存取的服務清單。對於每個服務，此操作會傳回角色最後一次嘗試的日期與時間，以及該角色的 ARN。
   + **政策** – 傳回指定的政策允許存取的服務清單。對於每個服務，此操作會傳回實體 (使用者或角色) 上次使用政策來嘗試存取服務的日期和時間。它也會傳回實體的 ARN 以及嘗試存取的實體總數。

1. 進一步了解在嘗試存取特定服務時使用使用者群組或政策許可的實體。此操作會傳回實體清單，包括各實體的 ARN、ID、名稱、路徑、類型 (使用者或角色)，以及它們最後一次嘗試存取服務的時間。您也可以針對使用者和角色使用此操作，但只會傳回有關該實體的資訊。
   + [GetServiceLastAccessedDetailsWithEntities](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLastAccessedDetailsWithEntities.html)

1. 進一步了解有關身分 (使用者、使用者群組或角色) 在嘗試存取特定服務時使用之以身分為基礎的政策。當您指定身分和服務時，此操作會傳回實體可用於存取指定服務的許可政策清單。此操作可提供政策的目前狀態，而且不倚賴產生的報告。它也不會傳回其他政策類型，例如以資源為基礎的政策、存取控制清單、 AWS Organizations 政策、IAM 許可界限或工作階段政策。如需詳細資訊，請參閱[政策類型](access_policies.md#access_policy-types)或[單一帳戶中請求的政策評估](reference_policies_evaluation-logic_policy-eval-basics.md)。
   + [ListPoliciesGrantingServiceAccess](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListPoliciesGrantingServiceAccess.html)

------

# 根據存取活動產生政策
<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)

------

# 使用搜尋尋找 IAM 資源
<a name="console_search"></a>

當您處理存取權調查結果時，可以使用 IAM 主控台搜尋頁面做為更快的選項來尋找 IAM 資源。您可以使用部分資源名稱或 ARN 來搜尋資源。

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

IAM 主控台搜尋功能可以尋找下列任何內容：
+ 符合您的搜尋關鍵字 IAM 實體名稱 (適用於使用者、群組、角色、身分提供者和政策)
+ 符合您搜尋關鍵字的任務

IAM 主控台搜尋功能不會傳回 IAM Access Analyzer 的相關資訊。

在搜尋結果的每一列都是作用中的連結。例如，您可以在搜尋結果中選擇使用者名稱，該使用者名稱將帶您前往該使用者的詳細資訊頁面。或者，您可以選擇動作連結 (例如**建立使用者**) 前往 **Create User (建立使用者)** 頁面。

**注意**  
存取金鑰搜尋要求您在搜尋方塊中輸入完整的存取金鑰 ID。搜尋結果顯示與該金鑰關聯的使用者。然後您可以直接導覽至該使用者的頁面，您可以在其中管理存取金鑰。

使用 IAM 主控台中的 **Search (搜尋)** 頁面找到與該帳戶相關的項目。

**在 IAM 主控台中搜尋項目**

1. 按照《AWS 登入使用者指南》** [如何登入 AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 主題中適合您使用者類型的登入程序操作。

1. 在 **IAM 主控台首頁**的左側導覽窗格中，在**搜尋 IAM** 文字方塊中輸入查詢。

1. 在導覽窗格中，選擇 **Search (搜尋)**。

1. 在 **Search (搜尋)** 方塊中，輸入您的搜尋關鍵字。

1. 在搜尋結果清單中選擇連結來導覽至主控台的相應部分。

以下圖示識別搜尋發現的項目類型：


****  

| 圖示 | 描述 | 
| --- | --- | 
|  ![\[a portrait outline on gray background\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/search_user.png)  | IAM 使用者 | 
|  ![\[multiple portrait outlines on a blue background\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/search_group.png)  | IAM 群組 | 
|  ![\[a magic wand icon on a navy background\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/search_role.png)  | IAM 角色 | 
|  ![\[a document icon on an organe background\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/search_policy.png)  | IAM 政策 | 
|  ![\[a white start on an organe background\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/search_action.png)  | 任務，例如「建立使用者」或「連接政策」 | 
|  ![\[a white X on a red background\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/search_delete.png)  | 關鍵字 delete 的結果 | 

**搜尋字詞範例**

您可以在 IAM 搜尋中使用以下字詞。用您想要尋找的實際 IAM 使用者、群組、角色、存取金鑰、政策或身分提供者的名稱取代斜體中的術語。
+ ***user\$1name*** 或 ***group\$1name* ** 或 ***role\$1name*** 或 ***policy\$1name*** 或 ***identity\$1provider\$1name***
+ ***access\$1key***
+ **add user *user\$1name* to groups** 或 **add users to group *group\$1name***
+ **remove user *user\$1name* from groups**
+ **delete *user\$1name*** 或 **delete *group\$1name*** 或 **delete *role\$1name***、或 **delete *policy\$1name***、或 **delete *identity\$1provider\$1name***
+ **manage access keys *user\$1name***
+ **manage signing certificates *user\$1name***
+ **users**
+ **manage MFA for *user\$1name***
+ **manage password for *user\$1name***
+ **create role**
+ **password policy**
+ **edit trust policy for role *role\$1name***
+ **show policy document for role *role\$1name***
+ **attach policy to *role\$1name***
+ **create managed policy**
+ **create user**
+ **create group**
+ **attach policy to *group\$1name***
+ **attach entities to *policy\$1name***
+ **detach entities from *policy\$1name***

------