刪除角色或執行個體設定檔 - AWS Identity and Access Management

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

刪除角色或執行個體設定檔

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

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

警告

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

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

檢視角色存取

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

角色上次活動的日期可能與 Access Advisor (存取 Advisor) 索引標籤報告的上次使用日期不符。Access Advisor (存取 Advisor) 索引標籤只報告角色許可政策允許服務的活動。角色上次活動的日期包括上次嘗試存取 AWS 中的任何服務。

注意

角色上次活動和 Access Advisor 資料的追蹤期間為過去 400 天。如果您的區域在過去一年內已開始支援這些功能,此期間可能會縮短。該角色的上次使用時間可能已經超過 400 天。如需有關追蹤期間的詳細資訊,請參閱 AWS 會追蹤上次存取資訊的位置

檢視上次使用角色的時間 (主控台)
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在導覽窗格中,選擇 Roles (角色)。

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

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

檢視上次使用角色的時間 (AWS CLI)

aws iam get-role - 執行此命令以傳回角色的資訊,包括 RoleLastUsed 物件。此物件包含 LastUsedDate 和上次使用角色的 Region。如有 RoleLastUsed 但不包含值,即表示未在追蹤期間內使用過該角色。

檢視上次使用角色的時間 (AWS API)

GetRole - 呼叫此操作以傳回角色的資訊,包括 RoleLastUsed 物件。此物件包含 LastUsedDate 和上次使用角色的 Region。如有 RoleLastUsed 但不包含值,即表示未在追蹤期間內使用過該角色。

刪除服務連結角色

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

如果服務不包含用於刪除服務連結角色的文件,您就可以使用 IAM 主控台、AWS CLI 或 API 刪除角色。如需詳細資訊,請參閱 刪除服務連結角色

刪除 IAM 角色 (主控台)

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

重要

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

刪除角色 (主控台)
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

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

  3. 在頁面頂端,選擇 Delete (刪除)

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

注意

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

刪除 IAM 角色 (AWS CLI)

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

刪除角色 (AWS CLI)
  1. 如果您不知道想要刪除的角色名稱,請輸入以下命令列出帳戶中的角色:

    aws iam list-roles

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

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

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

      aws iam list-instance-profiles-for-role --role-name role-name
    2. 若要從執行個體設定檔中移除該角色,請針對每個執行個體設定檔輸入下列命令:

      aws iam remove-role-from-instance-profile --instance-profile-name instance-profile-name --role-name role-name
  3. 刪除所有與該角色相關聯的政策。

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

      aws iam list-role-policies --role-name role-name
    2. 若要刪除角色中的每個內嵌政策,請針對每個政策輸入下列命令:

      aws iam delete-role-policy --role-name role-name --policy-name policy-name
    3. 若要列出連接至角色的所有受管政策,請輸入下列命令:

      aws iam list-attached-role-policies --role-name role-name
    4. 若要從角色分離每個受管政策,請針對每個政策輸入下列命令:

      aws iam detach-role-policy --role-name role-name --policy-arn policy-arn
  4. 輸入下列命令以刪除角色:

    aws iam delete-role --role-name role-name
  5. 如果您不打算重複使用曾與角色相關聯的執行個體設定檔,您可以輸入下列命令予以刪除:

    aws iam delete-instance-profile --instance-profile-name instance-profile-name

刪除 IAM 角色 (AWS API)

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

刪除角色 (AWS API)
  1. 若要列出角色關聯的所有執行個體設定檔,請呼叫 ListInstanceProfilesForRole

    若要從執行個體設定檔移除角色,請呼叫 RemoveRoleFromInstanceProfile。您必須傳遞角色名稱和執行個體設定檔名稱。

    如果您不打算重複使用曾與角色相關聯的執行個體描述檔,請呼叫 DeleteInstanceProfile 予以刪除。

  2. 若要列出角色的所有內嵌政策,請呼叫 ListRolePolicies

    若要刪除與角色建立關聯的所有內嵌政策,請呼叫 DeleteRolePolicy。您必須傳遞角色名稱和內嵌政策名稱。

  3. 若要列出連接至角色的所有受管政策,請呼叫 ListAttachedRolePolicies

    若要分離連接至該角色的受管政策,請呼叫 DetachRolePolicy。您必須傳遞角色名稱和受管政策 ARN。

  4. 呼叫 DeleteRole 以刪除該角色。

如需有關執行個體設定檔的一般資訊,請參閱使用執行個體設定檔

如需服務連結角色的一般資訊,請參閱 使用服務連結角色