修改角色 (AWS CLI) - AWS Identity and Access Management

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

修改角色 (AWS CLI)

您可以使用 AWS Command Line Interface 來修改角色。若要變更角色的一組標籤,請參閱 管理 IAM 角色的標籤 (AWS CLI 或 AWS API)

修改角色信任政策 (AWS CLI)

若要變更誰可擔任該角色,您必須修改角色的信任政策。您無法修改服務連結角色的信任政策。

備註
  • 如果使用者已於角色信任政策中列為主體,卻無法擔任該角色,請檢查該使用者的許可界限。如果已經設定使用者的許可界限,則其必須允許 sts:AssumeRole 動作。

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

修改角色信任政策 (AWS CLI)
  1. (選用) 如果您不知道要修改的角色的名稱,請執行以下命令列出您帳戶中的角色:

  2. (選用) 若要檢視角色的目前信任政策,請執行下列命令:

  3. 若要修改可以存取角色的信任主體,請使用更新的信任政策建立文字檔案。您可以使用任何文字編輯器來建構政策。

    例如,下列信任政策顯示如何在 Principal 元素中參考兩個 AWS 帳戶。這可讓使用者在兩個不同的 AWS 帳戶 內擔任此角色。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ]}, "Action": "sts:AssumeRole" } }

    如果您指定在另一個帳戶中的主體,這時在角色的信任政策中新增帳戶,只能建立一半的跨帳戶信任關係。根據預設,信任帳戶中沒有任何使用者可擔任該角色。剛信任的帳戶管理員必須授予新的使用者擔任該角色的許可。為了這樣做,管理員必須建立或編輯連接於使用者的政策,以允許使用者存取 sts:AssumeRole 動作。如需詳細資訊,請參閱下列程序或 向使用者授予切換角色的許可

  4. 若要使用剛建立的檔案更新信任政策,請執行下列命令:

若要允許信任外部帳戶中的使用者使用該角色 (AWS CLI)

如需有關此程序的更多資訊和詳細資訊,請參閱 向使用者授予切換角色的許可

  1. 建立 JSON 檔案,其中包含擔任該角色所需的許可的許可政策。例如,以下政策包含最低必要許可:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::ACCOUNT-ID-THAT-CONTAINS-ROLE:role/ROLE-NAME" } }

    將陳述式中的 ARN 取代為使用者可擔任的角色的 ARN。

  2. 執行以下命令以上傳 JSON 檔案 (其中包含的信任政策) 至 IAM:

    此命令的輸出結果含有該政策的 ARN。記下此 ARN,因為您需要在稍後的步驟中使用。

  3. 決定將政策到連接哪位使用者或群組。如果您不知道適用的使用者或群組的名稱,請使用下列其中一個命令來列出帳戶中的使用者或群組:

  4. 使用下列命令之一將您在之前的步驟中建立的政策連接到使用者或群組:

修改角色許可政策 (AWS CLI)

若要變更角色允許的許可,請修改角色的許可政策 (或政策)。您無法修改 IAM 中服務連結角色的許可政策。您也許可以修改該服務 (取決於角色) 內的許可政策。若要檢查服務是否支援這項功能,請參閱AWS 與 IAM 搭配使用的服務,並且尋找 Service-linked roles (服務連結的角色) 資料列為 Yes (是) 的服務。選擇具有連結的 Yes (是),以檢視該服務的服務連結角色文件。

若要變更角色允許的許可 (AWS CLI)
  1. (選用) 若要檢視與角色關聯的目前許可,請執行下列命令:

    1. aws iam list-role-policies 列出內嵌政策

    2. aws iam list-attached-role-policies 列出受管政策

  2. 更新角色許可的命令會有所不同,具體取決於您是要更新受管政策還是內嵌政策。

    若要更新受管政策,請執行下列命令來建立新版本的受管政策:

    若要更新內嵌政策,請執行下列命令:

修改角色描述 (AWS CLI)

若要變更描述的描述,請修改描述文字。

變更角色的說明 (AWS CLI)
  1. (選用) 若要檢視角色的目前說明,請執行下列命令:

  2. 若要更新角色的說明,請使用說明參數執行下列命令:

修改角色最大工作階段持續時間 (AWS CLI)

若要為使用 AWS CLI 或 API 擔任角色指定最大工作階段持續時間設定,請修改最大工作階段持續時間設定的值。此設定的值可介於 1 小時至 12 小時。如果未指定值,則套用預設最大值 1 小時。此設定不會限制 AWS 服務擔任的工作階段。

注意

從 AWS CLI 或 API 擔任角色的任何人都可以使用 duration-seconds CLI 參數或 DurationSeconds API 參數來請求較長的工作階段。MaxSessionDuration 設定決定可以使用DurationSeconds 參數請求的角色工作階段的最大持續時間。如果使用者不為 DurationSeconds 參數指定一個值,則使用者的安全憑證有效期為 1 小時。

變更使用 AWS CLI (AWS CLI) 擔任之角色的最大工作階段持續時間設定
  1. (選用) 若要檢視角色的目前最大工作階段持續時間設定,請執行下列命令:

  2. 若要更新角色的工作階段持續時間設定,請使用 max-session-duration CLI 參數或 MaxSessionDuration API 參數執行以下命令:

    在下次有人擔任此角色之前,您的變更不會生效。若要了解如何撤銷此角色的現有工作階段,請參閱撤銷 IAM 角色暫時性安全憑證

修改角色許可界限 (AWS CLI)

若要變更角色適用的許可上限,請修改角色的許可界限

變更用於設定角色許可界限的受管政策 (AWS CLI)
  1. (選用) 若要檢視角色的目前許可界限,請執行下列命令:

  2. 若要使用不同的受管政策來更新角色的許可界限,請執行下列命令:

    角色只能有一個受管政策設定為許可界限。您若變更許可界限,您會變更角色適用的許可上限。