AWS Organizations
AWS Organizations là một dịch vụ quản lý tài khoản AWS để quản lý các tài khoản và tài nguyên AWS một cách hiệu quả. Nó cho phép tổ chức sử dụng nhiều tài khoản AWS trong một tổ chức thay vì sử dụng một tài khoản duy nhất cho tất cả các dịch vụ. Sử dụng AWS Organizations, người dùng có thể quản lý các tài khoản AWS của họ từ một vị trí tập trung.
AWS Organizations cung cấp nhiều lợi ích như:
- Quản lý nhiều tài khoản AWS từ một vị trí tập trung.
- Sử dụng các chuẩn đánh giá theo thẻ để phân bổ chi phí cho các dự án hoặc nhóm.
- Thiết lập quyền truy cập theo phân cấp và kiểm soát quyền truy cập với chính sách điều khiển dịch vụ (SCP).
- Tự động kích hoạt CloudTrail trên tất cả các tài khoản và chuyển nhật ký về một tài khoản S3 trung tâm.
- Thiết lập các quyền truy cập chéo tài khoản để quản lý và sử dụng tài nguyên giữa các tài khoản khác nhau.
- Tạo chính sách IAM để giới hạn quyền truy cập của người dùng và vai trò trên các tài khoản hoặc tổ chức.
Ngoài ra, người dùng có thể sử dụng AWS Organizations để thực hiện nhiều thao tác quản lý khác nhau trên các tài khoản AWS của mình một cách hiệu quả hơn.
Organizational Units (OU) – Examples
Organizational Units (OU) là các đơn vị tổ chức trong AWS Organizations được sử dụng để quản lý nhiều tài khoản AWS.
- Business Unit (Đơn vị kinh doanh): OU được phân chia theo từng đơn vị kinh doanh trong tổ chức. Ví dụ: Phòng kinh doanh, Phòng marketing, Phòng kế toán.
- Environmental (Môi trường): OU được phân chia theo các môi trường khác nhau, ví dụ như Production, Staging, Development, Test.
- Lifecycle (Vòng đời): OU được phân chia theo vòng đời của dự án hoặc sản phẩm, ví dụ như Planning, Development, Testing, Deployment, Retirement.
- Project-Based (Dự án): OU được phân chia theo các dự án riêng biệt của tổ chức. Ví dụ: Dự án A, Dự án B, Dự án C.
Đây là một số lợi ích của việc sử dụng AWS Organizations:
- Sử dụng nhiều tài khoản thay vì một tài khoản đơn để quản lý chi phí, tăng tính linh hoạt và giảm rủi ro an ninh.
- Sử dụng các chuẩn gắn thẻ để quản lý chi phí.
- Kích hoạt CloudTrail trên tất cả các tài khoản, gửi nhật ký đến tài khoản S3 trung tâm.
- Gửi CloudWatch Logs đến tài khoản ghi nhật ký trung tâm.
- Thiết lập Cross Account Roles để quản lý quyền quản trị viên.
- Bảo mật bằng cách sử dụng Service Control Policies (SCP).
- Áp dụng chính sách IAM cho các OU hoặc tài khoản để giới hạn quyền hạn của người dùng và vai trò.
- Chúng không áp dụng cho tài khoản quản lý (có quyền quản trị đầy đủ).
- Cần có lệnh cho phép cụ thể (không cho phép bất cứ điều gì mặc định – giống như IAM).
SCP Hierarchy
SCP (Service Control Policy) là một tính năng quản lý tổ chức trong AWS Organizations, cho phép bạn thiết lập các chính sách an ninh cho toàn bộ tổ chức hoặc một phần của nó. SCP được sử dụng để giới hạn quyền truy cập và các hoạt động được phép trong tài khoản AWS của bạn. SCPs có thể được áp dụng trên tất cả các tài khoản trong tổ chức hoặc trên một số tài khoản. SCPs hoạt động dựa trên một cấu trúc phân cấp, trong đó các SCP được áp dụng ở cấp cao nhất sẽ áp dụng cho tất cả các tài khoản con bên dưới nó. Ví dụ, bạn có thể thiết lập SCP để giới hạn quyền truy cập vào các dịch vụ nhất định (ví dụ như EC2, RDS, S3…) cho một số tài khoản trong tổ chức.
SCP Examples Blocklist and Allowlist strategies
SCP (Service Control Policies) là một tính năng quản lý quyền truy cập của AWS Organizations, cho phép bạn thiết lập và áp dụng các chính sách quản lý tài nguyên được áp dụng cho các tài khoản AWS trong tổ chức của bạn.
SCP có thể được sử dụng để áp dụng chiến lược Blocklist và Allowlist. Chiến lược Blocklist sẽ từ chối các hành động được liệt kê trong danh sách đen, trong khi chiến lược Allowlist sẽ chỉ cho phép các hành động được liệt kê trong danh sách trắng.
Ví dụ, nếu bạn muốn ngăn chặn nhóm người dùng cụ thể trong tổ chức của bạn truy cập vào các tài nguyên nhất định, bạn có thể tạo một SCP blocklist để chặn truy cập đến những tài nguyên đó. Tương tự, nếu bạn muốn chỉ cho phép nhóm người dùng cụ thể trong tổ chức của bạn truy cập vào một số tài nguyên nhất định, bạn có thể tạo một SCP allowlist để chỉ cho phép truy cập đến những tài nguyên đó.
Organizations – Hands On
aws-course-master và aws-course-child
Create an organization
“Create an AWS account” là tính năng cho phép người dùng tạo tài khoản AWS mới. Khi sử dụng tính năng này, người dùng sẽ cung cấp thông tin cần thiết như tên, địa chỉ email, số điện thoại và thông tin thanh toán để hoàn thành quá trình đăng ký tài khoản AWS.
“Invite an existing AWS account” là tính năng cho phép một tài khoản AWS tồn tại mời một tài khoản AWS khác vào tổ chức của mình. Khi sử dụng tính năng này, người dùng sẽ cung cấp địa chỉ email liên kết với tài khoản AWS mà họ muốn mời và sau đó gửi lời mời tới tài khoản đó. Sau khi tài khoản được mời chấp nhận lời mời, nó sẽ trở thành một thành viên của tổ chức đó và có thể được gán quyền truy cập tương ứng.
Thông báo An invitation to join your AWS organization has been sent cho biết bạn đã gửi lời mời thành công. Bạn có thể bấm vào View all invitations để xem chi tiết hơn.
Các thuật ngữ liên quan đến quá trình mời người dùng vào một AWS account.
- Email address hoặc account ID: Đây là định danh của người dùng mà bạn muốn mời vào AWS account. Nếu bạn biết địa chỉ email hoặc account ID của họ, bạn có thể sử dụng nó để mời họ vào account của bạn.
- Request date: Đây là ngày mà yêu cầu được gửi đi để mời người dùng vào AWS account.
- Expiration: Đây là thời điểm mà yêu cầu sẽ hết hạn. Sau thời gian này, người dùng không thể sử dụng liên kết mời để truy cập vào AWS account nữa.
- Status: Đây là trạng thái của yêu cầu mời, cho biết liệu người dùng đã chấp nhận hoặc từ chối yêu cầu. Các trạng thái có thể bao gồm “đang chờ phản hồi”, “đã chấp nhận”, “đã từ chối”, “hết hạn”, và “hủy bỏ
Bây giờ bạn vào account aws-course-child, bạn sẽ thấy 1 lời mời, nếu đồng ý bạn có thể bấm Accept invitation hoặc không đồng ý thì bạn bấm vào Decline invitation.
Sau khi bấm đồng ý bạn sẽ thấy thêm 1 số thông tin về ID của Organization, Management account email address đã ở trạng thái (verified).
Và bạn cũng có thể tự ý rời bỏ Organization đã tham gia bằng cách bấm vào Leave this organization.
Quay lại aws-course-master bạn đã thấy aws-course-child có trong danh sách.
Bạn có thể tạo ra các OU mới như sau, vào Actions › Create new.
VÍ dụ mình tạo OU Dev và bấm Create organizational unit.
Bạn sẽ có 1 OU Dev như dưới.
Mình tiếp tục tạo thêm 2 OU mới đó là Prod và Test.
Giờ mình vào OU Prod bấm Action › Create new để tạo các OU con nằm trong OU cha là Prod.
Mình sẽ tạo 2 OU con như dưới.
Sau khi tạo xong các OU mình sẽ có 1 cây thư mục như dưới.
Giờ mình sẽ đưa aws-course-child vào OU Finance bằng cách tích vào aws-course-child.
Vào Action › Move.
Chọn OU Finance và bấm Move AWS account.
Như vậy trong Finance bạn đã thấy aws-course-child ở trong.
Bạn có thể vào 1 policy bất kỳ để bật nó lên, ví dụ Service control policies.
Để bật policy này bạn bấm Enable service control policies.
Dưới đây là giải thích các chính sách quản lý dịch vụ AWS bằng tiếng Việt:
- Chính sách opt-out dịch vụ: Là chính sách cho phép người dùng tắt hoặc không sử dụng một số dịch vụ AWS. Việc tắt các dịch vụ không cần thiết giúp giảm chi phí và tăng tính bảo mật cho hệ thống của bạn.
- Chính sách sao lưu: Là chính sách quản lý việc sao lưu và phục hồi dữ liệu của người dùng trên các dịch vụ AWS. Điều này bao gồm việc tạo bản sao lưu thường xuyên của dữ liệu và kiểm tra tính khả dụng của các bản sao lưu đó để đảm bảo rằng bạn có thể phục hồi được dữ liệu khi cần thiết.
- Chính sách kiểm soát dịch vụ: Là chính sách quản lý việc sử dụng các dịch vụ AWS bằng cách áp dụng các quy định và giới hạn về cách mà người dùng có thể sử dụng các dịch vụ đó. Điều này bao gồm việc thiết lập quy tắc và giới hạn truy cập vào các dịch vụ AWS để đảm bảo an toàn và bảo mật cho hệ thống của bạn.
- Chính sách thẻ: Là chính sách quản lý việc sử dụng các thẻ để phân loại và quản lý các tài nguyên AWS của bạn. Chính sách này cho phép người dùng phân loại các tài nguyên AWS bằng các thẻ để quản lý chi phí và các tài nguyên của mình một cách hiệu quả.
Nếu bạn vào Service control policies bạn sẽ thấy có 1 policy toàn quyền tên FullAWSAccess đang có sẵn, bạn có thể tạo policy mới bằng cách nhấp vào Create policy.
Ví dụ mình tạo 1 chính sách ngăn chặn truy cập tới S3.
Chính sách này là một chính sách từ chối (deny) tất cả các hoạt động (actions) liên quan đến dịch vụ S3 trên tất cả các tài nguyên (resources). Nó có hiệu lực cho tất cả các tài khoản trong phạm vi áp dụng. Cụ thể, nó sử dụng toàn bộ các action có sẵn trên S3 và đối tượng resource là tất cả các tài nguyên (resource) có thể truy cập được. Với chính sách này, không có hoạt động nào được phép trên dịch vụ S3, bất kể ai đang sử dụng tài khoản AWS đó. Sau khi thiết lập xong chính sách, hãy bấm Create policy.
Bạn sẽ có 1 chính sách mới.
Sau khi thiết lập xong, bạn có thể vào thư mục root, bạn sẽ thấy chính sách đã được enable.
Bạn kéo xuống dưới chúng ta thấy có 1 chính sách đang được áp dụng trực tiếp vào thư mục root đó chính là chính sách toàn quyền, điều này có nghĩa là tất cả các phần tử con đều có quyền truy cập tất cả các dịch vụ của AWS.
Nếu chúng ta vào OU Prod chúng ta sẽ thấy có 2 chính sách đó là 1 chính sách được kế thừa từ thư mục root và 1 chính sách được đính kèm trực tiếp. Cả 2 loại chính sách này đều được toàn quyền sử dụng tất cả các dịch vụ của AWS.
Và nếu chúng ta vào Finance.
Và vào Policies chúng ta sẽ có 3 chính sách được đính kèm đó là 1 kế thừa từ root, 1 kế thừa từ Prod và 1 là đính kèm trực tiếp, có lẽ là nó đã được tự kích hoạt khi tạo OU.
Vậy nếu khi chúng ta vào Finance thì sao.
Ở đây chúng ta lại có 4 chính sách như dưới.