2023-09-21|閱讀時間 ‧ 約 4 分鐘

AWS IAM Role 的方式同時切換不同的帳號 (AssumeRole)

情境:想透過 IAM Role 的方式同時切換不同的帳號。

這邊以主帳號 "A" ,子帳號 "B" 為例。即在不重新登入的情況下,先登入A,然後利用 switch role的方式跳進B。


Account B Todo


建立IAM role

您需要在"B"此組帳號建立IAM Role,建立Role點選「其他 AWS帳戶」,在「 帳戶 ID」欄位輸入「A 」,

在篩選政策欄位輸入「 ReadOnlyAccess」,選取該政策(您可以自行抉擇您要的政策),

在「Role名稱」輸入「 MySubAccount」(您可以自訂您要的名字,但要和下面觸發切換動作的 url 一致),點選「 建立Role 」 即完成 此Role之建立。

詳細文件您可以參考 [1]


Account A Todo

  1. grant assumrole權限

登入 A 的 IAM user 帳號必須要有 sts:AssumeRole 的 Action 權限,因此您需要建立政策[2]

或是您可以使用以下的範例。

{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::B帳號:role/iKala*"
}
}

2.接著再將這個政策套用在 IAM User 身上,此時 IAM User 就會擁有切換 Role 來取得不同 AWS resource 存取權限的能力

測試方式

1.如果要切換角色到"B "您可以更改下列網址,請您先登入您的主帳號,接著請您修改下列網址。
https://signin.aws.amazon.com/switchrole?account=account_id_number&roleName=role_name&displayName=text_to_display

首先請您先把
account_id_number => B
role_name => MySubAccount
text_to_display => MySubAccount (此部分是在 console 顯示用,可以依您喜好命名)

最後範例如下
https://signin.aws.amazon.com/switchrole?account=B&roleName=MySubAccount&displayName=MySubAccount

完成後在瀏覽器輸入特定網址即可進行角色切換,您可以把此網址加入您的書籤,接著就可以透過書籤來進行角色切換了。
詳細文件您可以參考 [3]

2.或是console 點選右上角的switch role去做變更
a. 


b. 


[ 參考文件 ]
[1]https://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_create_for-user.html
[2]https://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html#roles-usingrole-createpolicy
[3]https://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/id_roles_use_switch-role-console.html

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.