擔任角色的方法 - AWS Identity and Access Management

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

擔任角色的方法

在使用者、應用程式或服務可以使用您建立的角色之前,您必須授予切換到該角色的許可。您可以使用連接至群組或使用者的任何政策,來授予必要的許可。授予許可後,使用者可以從 AWS Management Console、Tools for Windows PowerShell、 AWS Command Line Interface (AWS CLI) 和 AssumeRole API 擔任角色。

重要

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

用於擔任角色的方法決定誰可以擔任該角色以及角色工作階段可以持續多久。使用 AssumeRole* API 操作時,您擔任的 IAM 角色是資源。呼叫 AssumeRole* API 操作的使用者或角色是主體。

下表比較擔任角色的方法。

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

1 使用某個角色的登入資料來擔任不同的角色,稱為角色鏈結。當您使用角色鏈結時,角色的工作階段持續時間限制為一小時。這適用於 AWS Management Console 角色切換 AWS CLI和 API 操作。此限制不適用於從使用者登入資料擔任角色的初始假設,或使用執行個體描述檔在 Amazon EC2 執行個體上執行的應用程式。

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

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

  • Amazon EC2 IAM 角色登入資料不受角色中設定的工作階段持續時間上限限制。

  • 若要允許使用者在角色工作階段中再次擔任目前角色,請在角色信任政策中將角色 ARN 或 AWS 帳戶 ARN 指定為主體。 AWS 服務 會提供運算資源,例如 Amazon EC2、Amazon ECS、Amazon EKS 和 Lambda,可提供臨時登入資料並自動更新這些登入資料。此可確保您始終擁有一組有效的憑證。對於這些服務,不需要再次擔任目前的角色即可取得臨時憑證。但是,如果您想要傳遞工作階段標籤或一個工作階段政策,則需要再次擔任目前的角色。若要了解如何修改角色信任政策以新增主要角色 ARN 或 AWS 帳戶 ARN,請參閱 更新角色信任政策