

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

# 刪除角色或執行個體設定檔
<a name="id_roles_manage_delete"></a>

如果您不再需要角色，建議您刪除角色及其關聯的許可。如此一來，您就沒有未主動監控或維護的未使用實體。

如果角色與 EC2 執行個體相關聯，您也可以從執行個體設定檔中移除角色，然後刪除執行個體設定檔。

**警告**  
確保您沒有任何 Amazon EC2 執行個體與您即將刪除的角色或執行個體描述檔一起執行。若刪除與執行中的執行個體相關聯的角色或執行個體描述檔，將會中斷執行個體上執行的所有應用程式。

如果您不想永久刪除某個角色，則可以停用該角色。若要執行此操作，請變更角色的政策，然後撤銷所有目前的工作階段。例如，您可以將政策新增至拒絕存取所有 的角色 AWS。您也可以編輯信任政策，以拒絕任何嘗試擔任該角色的人存取。如需有關撤銷工作階段的詳細資訊，請參閱 [撤銷 IAM 角色臨時安全憑證](id_roles_use_revoke-sessions.md)。

**Topics**
+ [檢視角色存取](#roles-delete_prerequisites)
+ [刪除服務連結角色](#id_roles_manage_delete_slr)
+ [刪除 IAM 角色 (主控台)](#roles-managingrole-deleting-console)
+ [刪除 IAM 角色 (AWS CLI)](#roles-managingrole-deleting-cli)
+ [刪除 IAM 角色 (AWS API)](#roles-managingrole-deleting-api)
+ [相關資訊](#roles-managingrole-deleting-related-info)

## 檢視角色存取
<a name="roles-delete_prerequisites"></a>

刪除角色之前，建議您先檢閱上次使用角色的時間。您可以使用 AWS 管理主控台、 AWS CLI或 AWS API 來執行此操作。您應該檢視此資訊，因為您不想移除正在使用該角色之某個使用者的存取權。

角色上次活動的日期可能與**上次存取**索引標籤中報告的上次使用日期不符。[**上次存取**](access_policies_last-accessed-view-data.md)索引標籤僅報告角色許可政策允許服務的活動。角色上次活動的日期包括上次嘗試存取其中任何服務的日期 AWS。

**注意**  
角色上次活動和「上次存取」資料的追蹤期間為過去 400 天。如果您的區域在過去一年內已開始支援這些功能，此期間可能會縮短。該角色的上次使用時間可能已經超過 400 天。如需有關追蹤期間的詳細資訊，請參閱 [其中 會 AWS 追蹤上次存取的資訊](access_policies_last-accessed.md#last-accessed_tracking-period)。

**檢視上次使用角色的時間 (主控台)**

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

1. 在導覽窗格中，選擇 **Roles** (角色)。

1. 尋找具有您要檢視活動之角色的資料列。您可以使用搜尋欄位縮減結果。檢視 **Last activity (上次活動)** 欄，查看自上次使用該角色後的天數。如果在追蹤期間內未曾使用該角色，資料表會顯示 **None (無)**。

1. 選擇角色名稱以查看詳細資訊。角色的 **Summary** (摘要) 頁面也包含 **Last activity** (上次活動)，會顯示角色上次使用的日期。如果過去 400 天內未使用過該角色，則 **Last activity (上次活動)** 會顯示 **Not accessed in the tracking period (在追蹤期間內未存取)**。

**檢視上次使用角色的時間 (AWS CLI)**  
`[aws iam get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)` - 執行此命令以傳回角色的資訊，包括 `RoleLastUsed` 物件。此物件包含 `LastUsedDate` 和上次使用角色的 `Region`。如有 `RoleLastUsed` 但不包含值，即表示未在追蹤期間內使用過該角色。

**檢視上次使用角色的時間 (AWS API)**  
`[GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/GetRole.html)` - 呼叫此操作以傳回角色的資訊，包括 `RoleLastUsed` 物件。此物件包含 `LastUsedDate` 和上次使用角色的 `Region`。如有 `RoleLastUsed` 但不包含值，即表示未在追蹤期間內使用過該角色。

## 刪除服務連結角色
<a name="id_roles_manage_delete_slr"></a>

您用來刪除服務連結角色的方法取決於服務。在某些情況下，您不需要手動刪除一個服務連結角色。例如，當您在服務中完成特定動作 (例如移除資源)，該服務可能會為您刪除服務連結角色。在其他情況下，服務可能支援從服務主控台、API 或 AWS CLI手動刪除服務連結角色。

請檢閱連結服務中*[服務連結角色](id_roles.md#iam-term-service-linked-role)*的文件，以了解如何刪除該角色。您可以前往主控台的 IAM **Roles** (角色) 頁面，檢視您帳戶中的服務連結角色。服務連結角色會在表格的 **Trusted entities (受信任實體)** 欄中以 **(Service-linked role) ((服務連結角色))** 顯示。在 **Summary** (摘要) 頁面上的橫幅，也會指出角色是一個服務連結角色。

如果服務不包含刪除服務連結角色的文件，您可以使用 IAM 主控台 AWS CLI或 API 來刪除角色。

## 刪除 IAM 角色 (主控台)
<a name="roles-managingrole-deleting-console"></a>

當您使用 AWS 管理主控台 刪除角色時，IAM 會自動分離與該角色相關聯的受管政策。它還會自動刪除與該角色關聯的內嵌政策，以及包含該角色的任何 Amazon EC2 執行個體設定檔。

**重要**  
在某些情況下，角色可能會與 Amazon EC2 執行個體描述檔相關聯，而且角色和執行個體描述檔的名稱可能完全相同。在這種情況下，您可以使用 AWS 管理主控台 來刪除角色和執行個體描述檔。此連結就會自動為您在主控台建立的角色和執行個體設定檔。如果您從 AWS CLI、Tools for Windows PowerShell 或 AWS API 建立角色，則角色和執行個體描述檔可能有不同的名稱。在該情況下，您無法使用主控台將它們刪除。反之，您必須使用 AWS CLI Tools for Windows PowerShell 或 AWS API，先從執行個體描述檔中移除角色。然後，您必須採取不同步驟刪除該角色。

**刪除角色 (主控台)**

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

1. 在導覽窗格中，選擇 **Roles (角色)**，然後勾選您要刪除之角色名稱旁的核取方塊。

1. 在頁面頂端，選擇 **Delete (刪除)**。

1. 在確認對話方塊中，檢閱上次存取的資訊，其中顯示每個所選角色上次存取 AWS 服務的時間。這可協助您確認角色目前是否在作用中。如果您要繼續，請在文字輸入欄位中輸入角色的名稱，並選擇 **Delete** (刪除)。如果您確定，可以繼續刪除，即使上次存取的資訊仍持續載入。

**注意**  
除非執行個體設定檔和角色同名，否則您不能使用主控台刪除執行個體設定檔。作為刪除角色的過程的一部分，執行個體描述檔會被刪除，如前面的程序中所述。若要刪除執行個體描述檔而不同時刪除角色，您必須使用 AWS CLI 或 AWS API。如需詳細資訊，請參閱下列區段。

## 刪除 IAM 角色 (AWS CLI)
<a name="roles-managingrole-deleting-cli"></a>

當您使用 AWS CLI 刪除角色時，您必須先刪除與該角色相關聯的內嵌政策。您還必須分離與該角色關聯的受管政策。如果您要刪除包含角色的相關聯執行個體設定檔，您必須分開刪除。

**刪除角色 (AWS CLI)**

1. 如果您不知道想要刪除的角色名稱，請輸入以下命令列出帳戶中的角色：

   ```
   aws iam list-roles
   ```

   此清單包含每個角色的 Amazon Resource Name (ARN)。透過 CLI 命令，使用角色名稱 (而非 ARN) 來參照角色。例如，如果角色具有下列 ARN：`arn:aws:iam::123456789012:role/myrole`，請將角色參照為 **myrole**。

1. 從角色關聯的所有執行個體設定檔移除該角色。

   1. 若要列出所有與角色相關聯的執行個體設定檔，請輸入下列命令：

      ```
      aws iam list-instance-profiles-for-role --role-name {{role-name}}
      ```

   1. 若要從執行個體設定檔中移除該角色，請針對每個執行個體設定檔輸入下列命令：

      ```
      aws iam remove-role-from-instance-profile --instance-profile-name {{instance-profile-name}} --role-name {{role-name}}
      ```

1. 刪除所有與該角色相關聯的政策。

   1. 若要列出角色中所有的內嵌政策，請輸入下列命令：

      ```
      aws iam list-role-policies --role-name {{role-name}}
      ```

   1. 若要刪除角色中的每個內嵌政策，請針對每個政策輸入下列命令：

      ```
      aws iam delete-role-policy --role-name {{role-name}} --policy-name {{policy-name}}
      ```

   1. 若要列出連接至角色的所有受管政策，請輸入下列命令：

      ```
      aws iam list-attached-role-policies --role-name {{role-name}}
      ```

   1. 若要從角色分離每個受管政策，請針對每個政策輸入下列命令：

      ```
      aws iam detach-role-policy --role-name {{role-name}} --policy-arn {{policy-arn}}
      ```

1. 輸入下列命令以刪除角色：

   ```
   aws iam delete-role --role-name {{role-name}}
   ```

1. 如果您不打算重複使用曾與角色相關聯的執行個體設定檔，您可以輸入下列命令予以刪除：

   ```
   aws iam delete-instance-profile --instance-profile-name {{instance-profile-name}}
   ```

## 刪除 IAM 角色 (AWS API)
<a name="roles-managingrole-deleting-api"></a>

當您使用 IAM API 刪除該角色，您必須先刪除與該角色關聯的內嵌政策。您還必須分離與該角色關聯的受管政策。如果您要刪除包含角色的相關聯執行個體設定檔，您必須分開刪除。

**刪除角色 (AWS API)**

1. 若要列出角色關聯的所有執行個體設定檔，請呼叫 [ListInstanceProfilesForRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListInstanceProfilesForRole.html)。

   若要從執行個體設定檔移除角色，請呼叫 [RemoveRoleFromInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_RemoveRoleFromInstanceProfile.html)。您必須傳遞角色名稱和執行個體設定檔名稱。

   如果您不打算重複使用曾與角色相關聯的執行個體描述檔，請呼叫 [DeleteInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteInstanceProfile.html) 予以刪除。

1. 若要列出角色的所有內嵌政策，請呼叫 [ListRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRolePolicies.html)。

   若要刪除與角色建立關聯的所有內嵌政策，請呼叫 [DeleteRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteRolePolicy.html)。您必須傳遞角色名稱和內嵌政策名稱。

1. 若要列出連接至角色的所有受管政策，請呼叫 [ListAttachedRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedRolePolicies.html)。

   若要分離連接至該角色的受管政策，請呼叫 [DetachRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DetachRolePolicy.html)。您必須傳遞角色名稱和受管政策 ARN。

1. 呼叫 [DeleteRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteRole.html) 以刪除該角色。

## 相關資訊
<a name="roles-managingrole-deleting-related-info"></a>

如需有關執行個體設定檔的一般資訊，請參閱[使用執行個體設定檔](id_roles_use_switch-role-ec2_instance-profiles.md)。

如需服務連結角色的一般資訊，請參閱 [建立服務連結角色](id_roles_create-service-linked-role.md)。