AWS: 開発者グループの作成
開発者グループとしてInfraUserGroupを作成する。このグループに所属することで開発者ロールにスイッチできるようにする。
- [UserGroup] InfraUserGroup
- [Policy(Customer)] InfraUserGroup-SwitchRolePolicy
InfraUserGroup-SwitchRolePolicyでは例えば基盤開発者用のロールと基盤管理者用のロールに変更できるよう次のような設定を行う。今回は任意のAWSアカウントを操作できるようにAWSアカウントの箇所はワイルドカード(*)としている。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": [
"arn:aws:iam::*:role/InfraPowerUserRole",
"arn:aws:iam::*:role/InfraAdminRole"
]
}
]
}
InfraPowerUserRoleではEC2の操作などでリージョンを限定しつつ、PowerUserAccessが行えるようにする。
- [Role] InfraPowerUserRole
- [Policy(AWS)] PowerUserAccess
- [Policy(Customer)] AccessRegionControlPolicy
- [Role] InfraAdminRole
- [Policy(AWS)] AdministratorAccess
- [Policy(Customer)] AccessRegionControlPolicy
AccessRegionControlPolicyでは特定の操作について東京リージョンのみで行えるようにする。EC2やRDSあたりで誤操作を防げればよいのでActionは適当に設定。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ec2:*",
"rds:*",
"redshift:*",
"ecs:*",
"lambda:*",
"dynamodb:*",
"apigateway:*",
"batch:*",
"workspaces:*",
"glue:*"
],
"Resource": [
"*"
],
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": [
"ap-northeast-1"
]
}
}
}
]
}
この場合、AdminRoleに変更した場合のEC2画面は次のようになる。バージニア北部では制限により読み込みエラーが発生しているが、東京リージョンでは制限が掛かっていない。