本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新角色信任原則
若要變更誰可擔任該角色,您必須修改角色的信任政策。您無法修改服務連結角色的信任政策。
備註
-
如果使用者已於角色信任政策中列為主體,卻無法擔任該角色,請檢查該使用者的許可界限。如果已經設定使用者的許可界限,則其必須允許
sts:AssumeRole
動作。 -
若要允許使用者在角色工作階段中再次擔任目前的角色,請在角色信任原則中指定角色ARN或作 AWS 帳戶 ARN為主參與者。 AWS 服務 提供 Amazon EC2、Amazon、Amazon ECS 和 Lambda 等運算資源提供臨時登入資料EKS,並自動更新這些登入資料。此可確保您始終擁有一組有效的憑證。對於這些服務,不需要再次擔任目前的角色即可取得臨時憑證。但是,如果您想要傳遞工作階段標籤或一個工作階段政策,則需要再次擔任目前的角色。
更新角色信任原則 (主控台)
若要變更中的角色信任原則 AWS Management Console
登入 AWS Management Console 並開啟IAM主控台,位於https://console.aws.amazon.com/iam/
。 -
在IAM主控台的導覽窗格中,選擇 [角色]。
-
在您帳戶的角色清單中,選擇您想要修改的角色名稱。
-
選擇 Trust Relationships (信任關係) 標籤,然後選擇 Edit Trust Relationship (編輯信任政策)。
-
視需要編輯信任政策。若要新增其他可擔任該角色的主體,請在
Principal
元素中指定它們。例如,下列原則程式碼片段顯示如何參考Principal
元素 AWS 帳戶 中的兩個:"Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] },
如果您指定在另一個帳戶中的主體,這時在角色的信任政策中新增帳戶,只能建立一半的跨帳戶信任關係。根據預設,信任帳戶中沒有任何使用者可擔任該角色。剛信任的帳戶管理員必須授予新的使用者擔任該角色的許可。為了這樣做,管理員必須建立或編輯連接於使用者的政策,以允許使用者存取
sts:AssumeRole
動作。如需詳細資訊,請參閱下列程序或 授與使用者切換角色的權限。下列原則程式碼片段顯示如何參考
Principal
元素中的兩個 AWS 服務:"Principal": { "Service": [ "opsworks.amazonaws.com", "ec2.amazonaws.com" ] },
-
當您完成編輯您的信任政策,請選擇 Update policy (更新政策) 來儲存您的變更。
如需有關政策結構和語法的詳細資訊,請參閱 中的策略和權限 IAM 和 IAM JSON 政策元素參考。
允許信任外部帳戶中的使用者使用該角色 (主控台)
如需有關此程序的更多資訊和詳細資訊,請參閱 授與使用者切換角色的權限。
-
登入受信任的外部 AWS 帳戶。
-
決定是否將許可連接到使用者或群組。在IAM主控台的功能窗格中,選擇 [使用者] 或 [使用者群組]。
-
選擇要授予其存取許可的使用者或群組的名稱,然後選擇 Permissions (許可) 標籤。
-
執行下列任一步驟:
-
若要編輯客戶管理的策略,請選擇策略的名稱,選擇編輯策略,然後選擇標JSON籤。您無法編輯受 AWS 管理的策略。 AWS 受管理的策略會以 AWS 圖示 (
) 顯示。如需有關 AWS 受管政策與客戶受管政策之間差異的詳細資訊,請參閱 受管政策與內嵌政策。
-
若要編輯內嵌政策,請選擇政策名稱旁的箭頭,然後選擇 Edit policy (編輯政策)。
-
-
在政策編輯器中,新增一個指定以下內容的新
Statement
元素:{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
ACCOUNT-ID
:role/ROLE-NAME
" }以使用者可以承擔ARN的角色來取代陳述式ARN中的。
-
按照螢幕上的提示來完成政策編輯。
更新角色信任原則 (AWS CLI)
您可以使用 AWS CLI 來變更可擔任角色的人員。
修改角色信任政策 (AWS CLI)
-
(選用) 如果您不知道要修改的角色的名稱,請執行以下命令列出您帳戶中的角色:
-
(選用) 若要檢視角色的目前信任政策,請執行下列命令:
-
若要修改可以存取角色的信任主體,請使用更新的信任政策建立文字檔案。您可以使用任何文字編輯器來建構政策。
例如,下列信任政策顯示如何在
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
動作。如需詳細資訊,請參閱下列程序或 授與使用者切換角色的權限。 -
若要使用剛建立的檔案更新信任政策,請執行下列命令:
若要允許信任外部帳戶中的使用者使用該角色 (AWS CLI)
如需有關此程序的更多資訊和詳細資訊,請參閱 授與使用者切換角色的權限。
-
建立包含權限原則的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中的。
-
執行下列命令,將包含信任原則的JSON檔案上傳至IAM:
此命令的輸出包括策略ARN的。請記下這一點,ARN因為您將在後面的步驟中需要它。
-
決定將政策到連接哪位使用者或群組。如果您不知道適用的使用者或群組的名稱,請使用下列其中一個命令來列出帳戶中的使用者或群組:
-
使用下列命令之一將您在之前的步驟中建立的政策連接到使用者或群組:
更新角色信任原則 (AWS API)
您可以使用 AWS API來變更可擔任角色的人員。
修改角色信任原則 (AWS API)
-
(選用) 如果您不知道要修改的角色的名稱,請呼叫以下操作列出您帳戶中的角色:
-
(選用) 若要檢視角色的目前信任政策,請呼叫下列操作:
-
若要修改可以存取角色的信任主體,請使用更新的信任政策建立文字檔案。您可以使用任何文字編輯器來建構政策。
例如,下列信任政策顯示如何在
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
動作。如需詳細資訊,請參閱下列程序或 授與使用者切換角色的權限。 -
若要使用剛建立的檔案更新信任政策,請呼叫下列操作:
允許受信任外部帳戶中的使用者使用角色 (AWS API)
如需有關此程序的更多資訊和詳細資訊,請參閱 授與使用者切換角色的權限。
-
建立包含權限原則的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中的。
-
呼叫下列作業,將包含信任原則的JSON檔案上傳至IAM:
此作業的輸出包括原則ARN的輸出。請記下這一點,ARN因為您將在後面的步驟中需要它。
-
決定將政策到連接哪位使用者或群組。如果您不知道適用的使用者或群組的名稱,請呼叫下列其中一個操作來列出帳戶中的使用者或群組:
-
呼叫下列操作之一將您在之前的步驟中建立的政策連接到使用者或群組: