使用 IAM 角色 - AWS Identity and Access Management

使用 IAM 角色

在 IAM 使用者、應用程式或服務可以使用您建立的角色之前,您必須授予切換到該角色的許可。您可以使用連接到其中一個 IAM 使用者群組或使用者本身的任何政策來授予必要的許可。本節說明如何授予使用者使用角色的許可。其中也解釋了使用者如何從 AWS Management Console、Tools for Windows PowerShell、AWS Command Line Interface(AWS CLI) 以及 AssumeRole API 切換到角色。

重要

當您以程式設計方式而不是在 IAM 主控台中建立角色時,則除了 RoleName 之外,您還可以選擇新增高達 512 個字元的 Path,該字元長度最多 64 個字元。但是,如果您要透過 AWS Management Console 中的 Switch Role (切換角色) 功能使用角色,則組合的 PathRoleName 不能超過 64 個字元。

您可以從 AWS Management Console 進行切換角色。您可以透過呼叫 AWS CLI 或 API 操作或使用自訂的 URL 來擔任角色。您使用的方法決定誰可以擔任該角色以及角色工作階段可以持續多久。

比較使用角色的方法
擔任角色的方法 誰可以擔任這個角色 指定憑證生命週期的方法 憑證存留期 (最小 | 最大 | 預設)
AWS Management Console IAM 使用者 (透過切換角色) Role (角色) 摘要頁面上的 Maximum session duration (最大工作階段持續時間) 1 小時 | 最大工作階段持續時間設定² | 1 小時
assume-role CLI 或 AssumeRole API 操作 IAM 使用者或角色¹ duration-seconds CLI 或 DurationSeconds API 參數 15 分鐘 | 最大工作階段持續時間設定² | 1 小時
assume-role-with-saml CLI 或 AssumeRoleWithSAML API 操作 任何使用 SAML 驗證的使用者 duration-seconds CLI 或 DurationSeconds API 參數 15 分鐘 | 最大工作階段持續時間設定² | 1 小時
assume-role-with-web-identity CLI 或 AssumeRoleWithWebIdentity API 操作 使用 Web 身分提供者進行身分驗證的使用者 duration-seconds CLI 或 DurationSeconds API 參數 15 分鐘 | 最大工作階段持續時間設定² | 1 小時
使用 建構的主控台 URLAssumeRole IAM 使用者或角色 SessionDuration URL 中的 HTML 參數 15 分鐘 | 12 小時 | 1 小時
使用 建構的主控台 URLAssumeRoleWithSAML 任何使用 SAML 驗證的使用者 SessionDuration URL 中的 HTML 參數 15 分鐘 | 12 小時 | 1 小時
使用 建構的主控台 URLAssumeRoleWithWebIdentity 使用 Web 身分提供者進行身分驗證的使用者 SessionDuration URL 中的 HTML 參數 15 分鐘 | 12 小時 | 1 小時

¹ 使用一個角色的憑證來擔任不同的角色稱為角色鏈結。當您使用角色鏈結時,新憑證的最大持續時間限制為一小時。使用角色授予許可給在 EC2 執行個體上執行的應用程式時,那些應用程式不受此限制。

² 此設定的值可介於 1 小時至 12 小時。有關修改最大工作階段持續時間設定的詳細資訊,請參閱 修改角色。此設定決定取得角色憑證時可以請求的最大工作階段持續時間。例如,當您使用 AssumeRole* API 操作來擔任角色時,可以使用 DurationSeconds 參數指定工作階段長度。使用此參數指定 900 秒 (15 分鐘) 到角色的最大工作階段持續時間設定之間的角色工作階段長度。在主控台中切換角色的 IAM 使用者會被授予最長工作階段持續時間或 IAM 使用者工作階段中的剩餘時間,以較短者為準。假設您在角色上設定 5 小時的最大持續時間。已登入主控台 10 小時的 IAM 使用者 (超出預設最大值 12 小時) 會切換至角色。可用的角色工作階段持續時間為 2 小時。如要了解如何查看角色的最大值,請參閱本頁後述的 查看角色的最大工作階段持續時間設定

注意

工作階段持續時間設定上限不會限制由 AWS 服務擔任的工作階段。

查看角色的最大工作階段持續時間設定

您可以使用 AWS Management Console 或使用 AWS CLI 或 AWS API 來指定角色的最大工作階段持續時間。當您使用 AWS CLI 或 API 操作來擔任角色時,可以指定 DurationSeconds 參數的值。您可以使用此參數指定角色工作階段持續時間,範圍從 900 秒 (15 分鐘) 到角色的最大工作階段持續時間設定。在指定參數之前,您應該查看您的角色設定。如果您指定 DurationSeconds 參數的值高於最大設定值,則操作將失敗

要查看角色的最大工作階段持續時間 (主控台)

  1. 在 IAM 主控台的導覽窗格中,選擇 Roles (角色)。

  2. 選擇要查看的角色名稱。

  3. Maximum session duration (持續時間上限) 旁,檢視授予角色的工作階段長度上限。這是您可以在 AWS CLI 或 API 操作中指定的最大工作階段持續時間。

要查看角色的最大工作階段持續時間設定 (AWS CLI)

  1. 如果您不知道要擔任的角色的名稱,請執行以下命令列出您帳戶中的角色:

  2. 要查看角色的最大工作階段持續時間,請執行以下命令。然後,檢視最大工作階段持續時間參數。

要查看角色的最大工作階段持續時間設定 (AWS API)

  1. 如果您不知道要擔任的角色的名稱,請呼叫以下操作列出您帳戶中的角色:

  2. 要查看角色的最大工作階段持續時間,請執行以下操作。然後,檢視最大工作階段持續時間參數。