Amazon-Web-Services
如何以使用者身份在本地切換到 EC2 實例角色?
我將 ec2 實例角色應用於我的伺服器,但我想先在本地切換到這些角色以測試權限
我嘗試切換到一個,但出現錯誤:
aws sts assume-role --role-arn arn:aws:iam::1234567890:role/myrole --role-session abc An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::1234567890:user/meeee is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::1234567890:role/myrole
我是帳戶管理員。我是否需要修改信任策略或其他內容以允許使用者擔任 ec2 實例角色?
要允許您的帳戶擔任服務角色,您需要編輯該角色並將您的帳戶添加到
Principal
. 為此:在
IAM
->Roles
->Your Service Role
中轉到Trust relationship
選項卡並點擊Edit trust relationship
. 您的信任關係將是這樣的:{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
您需要添加類似這樣的 AWS 賬戶:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com", "AWS": "arn:aws:iam::<your AWS account number>:root" }, "Action": "sts:AssumeRole" } ] }
然後,您將能夠通過
sts
.獲得所需結果的另一種方法是使用Policy Simulator
在角色
Permissions
選項卡中,點擊策略左側的箭頭,它將顯示一個按鈕Simulate policy
:筆記
無法將 IAM 組用作
Principal
.請注意,組並不是真正的身份,因為它不能在基於資源或信任的策略中被辨識為委託人。這只是一次將策略附加到多個使用者的一種方式。
參考