撤銷 IAM 角色暫時性安全憑證 - AWS Identity and Access Management

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

撤銷 IAM 角色暫時性安全憑證

警告

如果您遵循此頁面上的步驟,則所有具有目前工作階段 (假設角色) 建立的使用者都會遭拒絕存取所有 AWS 動作和資源。這會導致使用者遺失未儲存的工作。

當您允許使用者存取 AWS Management Console 具有較長工作階段持續時間 (例如 12 小時) 的存取時,他們的臨時登入資料不會如此快速過期。如果使用者不慎將他們的憑證向未經授權的第三方公開,該方在工作階段的持續時間均有權存取。不過,您可以立即撤銷所有在某個時間點前授予該角色的憑證許可,如果需要的話。該角色在指定時間點前發出的所有暫時性憑證變成無效。這會強迫所有使用者重新驗證和請求新的憑證。

注意

您無法撤銷服務連結角色的工作階段。

當您使用本主題中的程序撤銷角色的權限時,會將新的內嵌原則 AWS 附加至拒絕所有動作的所有權限的角色。如果使用者在您撤銷許可的時間點「之前」擔任該角色,則它只會包含套用限制條件的情況。如果使用者在撤銷許可「之後」擔任該角色,則拒絕政策不會套用至該使用者。

如需拒絕存取的詳細資訊,請參閱 停用臨時安全性憑證的許可

重要

此拒絕政策適用於指定角色的所有使用者,而不只是具主控台工作階段較長持續時間的角色。

從角色撤銷工作階段許可的最低許可

若要從角色成功地撤銷工作階段許可,您必須擁有該角色的 PutRolePolicy 許可。這可讓您將 AWSRevokeOlderSessions 內嵌政策連接至該角色。

撤銷工作階段許可

您可以撤銷角色的工作階段許可。

立即拒絕對任何目前使用者的角色憑證的所有許可
  1. 登入 AWS Management Console 並開啟身分與存取權管理主控台,網址為 https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 Roles (角色),然後選擇您想要撤銷其許可的角色名稱 (不是核取方塊)。

  3. 在所選取角色的 Summary (摘要) 頁面上,選擇 Revoke sessions (工作階段) 標籤。

  4. Revoke sessions (撤銷工作階段) 標籤上,選擇 Revoke active sessions (撤銷作用中的工作階段)

  5. AWS 會要求您確認動作。選取 I acknowledge that I am revoking all active sessions for this role. (我確認我將撤銷此角色的所有作用中工作階段。) 核取方塊,然後在對話方塊中選擇 Revoke active sessions (撤銷作用中工作階)。

    IAM 接著會將名為的政策附加AWSRevokeOlderSessions至該角色。選擇 [撤銷作用中階段作業] 之後,原則會拒絕過去擔任該角色的使用者以及 future 大約 30 秒的所有存取權。此 future 時間選項會考量原則的傳輸延遲,以處理在指定區域中更新的政策生效之前取得或更新的新階段作業。在您選擇「撤銷作用中工作階段」後,擔任角色超過 30 秒的任何使用者都不會受到影響。若要了解變更不一定會立即顯示的原因,請參閱 我所做的變更不一定都會立刻生效

注意

如果您選擇稍後再撤銷作用中階段作業,則會重新整理原則中的日期和時間戳記,並再次拒絕任何在新指定時間之前擔任該角色的使用者的所有權限。

以這種方式呼叫工作階段的有效使用者必須獲得臨時憑證,新工作階段才能繼續運作。在憑證過期前, AWS CLI 會快取憑證。若要強制 CLI 刪除並重新整理已失效的快取憑證,請執行以下命令之一:

Linux、macOS 或 Unix

$ rm -r ~/.aws/cli/cache

Windows

C:\> del /s /q %UserProfile%\.aws\cli\cache

在指定時間之前撤銷工作階段許可

您也可以隨時使用 AWS CLI 或 SDK 撤銷工作階段權限,在原則的「條件」元素中指定AWS:TokenIssueTime金鑰的值。

aws:TokenIssueTime 的值早於指定的日期和時間時,此政策會拒絕所有許可。aws:TokenIssueTime 的值對應於臨時安全性憑證的確切建立時間。該aws:TokenIssueTime值僅存在於使用臨時安全登入資料簽署的 AWS 請求內容中,因此政策中的 Deny 陳述式不會影響使用 IAM 使用者長期登入資料簽署的請求。

此政策也可連接至角色。在這種情況下,該政策只會影響由該角色在指定日期和時間之前建立的臨時安全性憑證。

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "DateLessThan": {"aws:TokenIssueTime": "2014-05-07T23:47:00Z"} } } }

以這種方式呼叫工作階段的有效使用者必須獲得臨時憑證,新工作階段才能繼續運作。會 AWS CLI 快取認證,直到認證過期為止。若要強制 CLI 刪除並重新整理已失效的快取憑證,請執行以下命令之一:

Linux、macOS 或 Unix

$ rm -r ~/.aws/cli/cache

Windows

C:\> del /s /q %UserProfile%\.aws\cli\cache