Site icon Mr. 沙先生

在 AWS 用 switch Role 的方式管理多個 Account

由於在公司每個 team 都擁有自己的 AWS Account 去管理,by  team 管理可以方便出帳,但帳號一多就會出現管理上的議題

 

對於多 AWS Account 可以用 switch Role 的方式,由一個統一 Portal AWS Account 登入之後用 switch Role 選擇你要 switch 的 account。

 

在 Portal AWS Account 內你只需要替每個 User 開啟 IAM User,在要被登入的 AWS Account 裡面加入一個 Role

 

建立起來的 Role trust policy 應該會像這樣

{
  “Version”: “2012-10-17”,
  “Statement”: [
    {
      “Effect”: “Allow”,
      “Principal”: {
        “AWS”: “arn:aws:iam::0123456789:root”
      },
      “Action”: “sts:AssumeRole”
    }
  ]
}
用 root 代表所有的 0123456789 這個 Portal AWS Account 所有的使用者都可以 switch 這個 Role

概念就是讓 Portal AWS Account 可以 Assume 到這個 Role 做事,但很可惜的是 Principal 不能加入不是 identity 的 Group 與 Managed policy

 

IAM Policy Elements Reference 文件清楚的提到:

You specify a principal using the Amazon Resource Name (ARN) of the AWS account, IAM user, IAM role, federated user, or assumed-role user. You cannot specify IAM groups as principals

 

 

所以你無法在 Portal AWS Account 這邊在做權限切分,如果 Role Principal User,當人員組織異動要修改 Role 又很麻煩

 

如果想要更好的管理方式,或許用 HashiCorp 的 Terraform 會是一個不錯的選擇。

 

Exit mobile version