Ở bước này, bạn sẽ đứng tại management account để truy cập vào các member account thông qua chức năng switch role
Nội dung
Đăng nhập vào management account
Lưu ý, nếu bạn đang dùng account root, bạn sẽ không thể nhìn thấy chức năng Switch role
Nếu bạn chưa thành thạo việc tạo IAM User (có quyền Admin) để phục vụ cho bài lab này, vui lòng xem lại bài: Quản trị quyền truy cập với AWS Identity and Access Management (AWS IAM)
Switch role
999999999943
OrganizationAccountAccessRole
(đây là role name được khuyến nghị bởi AWS)FCJ-DEV
lưu ý: nếu bạn cần thay đổi Display Name, chỉ cần làm lại bước 2 và thêm tên mà bạn muốn
Chúc mừng bạn đã Switch Role thành công!
Bạn có thể truy cập dễ dàng vào member account được tạo từ AWS Organizations & có đầy đủ quyền admin vì:
Bạn đang đứng tại member accouunt với Display name: FCJ-Dev, trong khung tìm kiếm, gõ và chọn dịch vụ IAM
Bên phải, chọn Roles
Chọn Role name: OrganizationAccountAccessRole
Bạn sẽ thấy quyền admin: AdministratorAccess với phần diễn giải Provides full access to AWS services and resources
Khi bạn đã làm theo bài: Quản trị quyền truy cập với AWS Identity and Access Management (AWS IAM) để tạo IAM User đăng nhập vào management account thì bạn cấp quyền admin: AdministratorAccess để thực hiện việc switch role, tức bạn không cần thêm quyền assume role (link giải thích) vì quyền admin đã bao hàm luôn quyền này.
Nhưng trong thật tế để đảm bảo tính least privilege cho việc cấp phát quyền tối thiểu, với vai trò quản trị viên, bạn chỉ nên cấp quyền assume role cho user được switch qua account - đại diện cho môi trường mà team cần.
Ví dụ: AWS Organizations của bạn có 4 account chạy workload tương ứng cho 3 môi trường: Dev, Test, Production và acc thứ 4 là management account (được AWS khuyến nghị: không nên chạy bất kỳ Workload nào, chỉ dành cho việc consolidated billing)! Vì tính chất công việc, DevLead cần duy chuyển qua lại giữa 2 môi trường Dev, Test mà không cần đăng nhập bằng User Name, Password vào 2 tài khoản AWS!
Thì lúc này, việc switch role để di chuyển giữa 2 môi trường sẽ rất nhanh chóng và tiện lợi. Vậy với vai trò quản trị viên - bạn sẽ cấp cho DevLead một IAM User truy cập vào management account chỉ có quyền assume role của 2 môi trường Dev, Test để thực hiện việc switch nhưng không có bất kỳ quyền gì khác trên môi trường Production.
Đứng tại management account thực hiện lại mục 2.1 trong bài Quản trị quyền truy cập với IAM
Tại bước 4, User Group Name nhập tên Group (Ví dụ: DevGroup)
Chọn Create policy, một cửa sổ mới xuất hiện
Choose a service: gõ STS -> tại bên trái, chọn STS
Actions -> Select actions -> gõ AssumeRole
-> tại chính giữa, chọn AssumeRole
Resources -> Specific -> Add ARN
999999999943
)OrganizationAccountAccessRole
)Chọn Next: Tags
Chọn Next: Review
Name* : điền policy name (vd:switch_role_999999999943
)
Chọn Create policy
Quay lại trang Create user group
Tại mục Attach permissions policies - Optional, chọn biểu tượng refresh
Tại khung tìm kiếm, nhập: switch_role_999999999943
Tích vào ô vuông
Chọn Create Group
Thực hiện lại mục 2.2 trong bài Quản trị quyền truy cập với IAM
Tại bước 2, User name nhập: DevLead,
Tại bước 3, chọn DevGroup
Hoàn thành các bước còn lại và kiểm tra IAM User vừa được tạo
-> Vậy IAM User: DevLead đã được tạo & có policy name: switch_role_999999999943 được gắn thông qua nhóm: DevGroup
Lưu ý: Bạn thấy rằng trong giao diện Users hay User Groups, đều có chức năng cho phép bạn gán quyền (Add permissions), nhưng theo best practice:
-> Điều này giúp bạn dễ dàng quản lý quyền ở mức tập trung theo nhóm, tránh việc cấp quyền theo user và khó khăn trong việc quản lý vì phải vào từng user để xem chính sách quyền nào mà ta đã từng trao.
Đăng nhập vào IAM User vừa được tạo
Kết quả:
Thực hiện switch role qua member account
lưu ý: bạn vừa đăng nhập vào IAM User nhưng vẫn thuộc management account, bây giờ bạn bắt đầu thực hiện switch role qua member account.
Thực hiện lại bước 2 phía trên
Chúc mừng bạn đã switch role qua member account (ID: 999999999943) với IAM User DevLead
Bạn có thể dùng chức năng Create an AWS account để tạo ra acc cho môi trường test và làm lại từ bước 3 đến bước 8 để switch role qua môi trường Test với ID Account tương ứng
Khi xem lại các mục:
-> Bạn sẽ thấy chức năng tạo AWS Account trong AWS Organizations (Create an AWS account) có sẵn phần tạo IAM role để management account dùng cho việc truy cập resources vào member account bằng cách Switch role
-> Nhưng điều trên hoàn toàn không có trong chức năng thêm AWS Account vào AWS Organization (Invite an existing AWS account), vậy bạn cần thêm IAM Role cho AWS Account đã được mời.
Dùng member account mà bạn đã tham gia vào AWS Organizations trong mục [1.3]
Truy cập vào AWS Management Comsole và tìm dịch vụ IAM trong thanh tìm kiếm, chọn Roles, chọn Create role
Chọn AWS account
Chọn Another AWS account
Điền Account ID của management account vào khung, vd: 999999999963
Chọn Next
Tại mục Permissions policies, nhập: AdministratorAccess
, nhấn enter
Tích vào ô vuông AdministratorAccess
chọn Next
Role name: nhập OrganizationAccountAccessRole
Kéo xuống cuối trang, chọn Create role
Kiểm tra role vừa tạo, sao chép Account ID member account (ID: 888800009920) bằng cách nhấn vào hình vuông
Đăng nhập vào management account (như bước 1 và 2 trong phần A)
Sổ dấu tam giác phía trên cùng bên tay trái - cạnh acc name, chọn Switch role
Tại mục Account, dán Account ID mà bạn đã sao chép ở bước 1, vd: 888800009920
Tại mục Role, điền role name bạn đã dùng trong lúc tạo Account (tạo bước 1), vd: OrganizationAccountAccessRole
Tại mục Display Name, dù đây không phải thông tin bắt buộc, nhưng khuyến khích bạn đặt tên để dễ dàng nhận biết & tránh việc truy cập vào nhầm môi trường! Trong thật tế sẽ có nhiều Account được switch. Vd: FCJ_Invite_Acc
Tại mục color: hãy chọn màu mà bạn thích
Chọn Switch Role
Chúc mừng, bằng cách Switch Role - bạn di chuyển thành công qua member account đã được mời vào AWS Organizations
Đúc kết: Từ bước 1.1 đến bước 1.4, chúng ta đã thấy được management account sẽ là acc quản trị trong dịch vụ AWS Organization và các member account sẽ là các acc thành viên thường trực. Ngoài ra, để member account xuất hiện trong Organization, chúng ta có hai cách:
Bên cạnh đó, chúng ta có thể đứng từ management account để truy cập vào member account qua chức năng switch role và với mỗi cách trong 2 cách trên, chúng ta lại cần các điều kiện khác nhau để switch role thành công:
Với cách Create an AWS account, việc switch role sẽ khá là đơn giản vì trong lúc khởi tạo member account chúng ta đã cho phép AWS tự động thêm role name OrganizationAccountAccessRole với quyền AdministratorAccess. Ngoài ra, chúng ta cần cấp quyền assume role tương ứng với member account ID cho IAM User thuộc management account
Với cách Invite an existing AWS account, việc switch role sẽ khó khăn hơn! Chúng ta cần tạo role name OrganizationAccountAccessRole và gán quyền AdministratorAccess cho account ID của management account Ngoài ra, chúng ta cần cấp quyền assume role tương ứng với member account ID cho IAM User thuộc management account
Tuy nhiên, switch role không phải là cách duy nhất để truy cập vào các member acount. Tại các bước trong mục số 2, các bạn sẽ khám phá ra một cách truy cập khác thông qua việc thiết lập AWS SSO.