[AWS Căn bản] Switch Role
Bài hướng dẫn tham khảo cho môi trường multi-account để có thể chuyển đổi qua lại quyền access giữa những tài khoản AWS khác nhau. Thông thường, mình sử dụng tính năng này để từ user trong AWS Management Account truy cập các tài khoản còn lại trong Organization.
Trường hợp giả định 2 Người dùng AWS, gọi là A, và B. Người dùng B cấp quyền cho Người dùng A truy cập vào tài khoản của mình.
##
I. Tạo Role & Policy
Giống như việc chia sẻ resource giữa các AWS Account, chúng ta cần cấu hình cả IAM Role/Policy trên cả 2 tài khoản.
Với người dùng được tạo từ AWS Organizations, mặc định sẽ tạo role có tên: OrganizationAccountAccessRole
.
Tại tài khoản người dùng B. Giả định là chưa cấu hình role, truy cập vào IAM > Roles, thực hiện các bước:
- Khởi tạo role cho AWS Account, và nhập vào Account ID của người dùng cần quyền truy cập, Trust relationships tương tự như sau:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::XXXXXXXXXXXX:root"
},
"Action": "sts:AssumeRole"
}
]
}
Với:
XXXXXXXXXXXX
là Account ID của người dùng Aarn:aws:iam::XXXXXXXXXXXX:root
: tương ứng với người dùng tại Account A. Có thể chỉ định user có thể sử dụng, vd:arn:aws:iam::XXXXXXXXXXXX:user/an
- Lựa chọn gán quyền liên quan cho người dùng quản trị, tùy thuộc vào việc bạn cấp phát quyền cho người dùng với những quyền hạn có thể sử dụng dịch vụ gì, hay Admin/Read-only access.
- Đặt tên role, và tag theo ý của bạn.
Tại account A: tạo Policy chỉ định vào user/group cho phép Assume role của tài khoản B:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::XXXXXXXXXXXX:role/OrganizationAccountAccessRole"
}
}
Với:
XXXXXXXXXXXX
: Account ID của Account BOrganizationAccountAccessRole
: Tên role mà người dùng A có thể sử dụng
Cơ bản chúng ta sẽ chỉ có những bước khởi tạo IAM role/policy như vậy.
##
II. Switch role
Từ AWS Console, trên Người dùng A. Sử dụng Nút Switch Role Trong menu Account, thanh Header góc phải > Switch Role. Tại trang Switch Role, nhập:
- Account: Account id của user đã cấu hình role.
- Role: nhập tên Role đã khởi tạo trên người dùng B, vd được đặt là:
OrganizationAccountAccessRole
- Display Name & Color: Sử dụng tùy chọn theo tùy nhu cầu của bạn.
Bài viết căn bản, nên nội dung cũng căn bản. Cảm ơn bạn đã đọc bài viết này!
##
Tham khảo
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-cli.html (Hiện mình bị lỗi switch role trên CLI)
- https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html
##
Tools
- https://goteleport.com/ - Sử dụng tính năng Application Access
- https://awsu.me/ - switch account (CLI)
- https://github.com/Noovolari/leapp