Professional Documents
Culture Documents
Tổng quan phân quyền trên AWS Identity and Access Management
Tổng quan phân quyền trên AWS Identity and Access Management
AWS hiện là nhà cung cấp dịch vụ cloud đi tiên phong và đứng đầu thị
trường cloud, với hơn 200 service.
AWS cloud đã tạo nên một hệ sinh thái khổng lồ đáp ứng hầu hết các nhu
cầu điện toán đám mây, với một hệ thống sinh thái lớn yêu cầu khả năng
quản trị chặt chẽ, linh hoạt và bảo mật.
Để tránh các mất mát không đáng có, việc quản trị truy cập và phân
quyền là tất yếu và vô cùng quan trọng khi sử dụng cloud. Bài viết
mong muốn đem lại cái nhìn tổng quan cách AWS Identity and Access
Management quản lý phân quyên trên các tài nguyên.
Phân quyền là việc tạo ra một tập hợp các chính sách quyết định
"một chủ thể được phép thực thi một hành động trên một tài nguyên hay
không"
Chính sách - policy : là đơn vị cơ bản và quan trong nhất trong quá
trính phân quyền, trong aws một hầu hết policy có định dạng json và
có các syntax và cấu trúc được aws quy đinh củ thể.
Chủ thể - principal bao gồm : user, role, federated user, application.
Chủ thể gửi các request yêu cầu thực hiện một action trên resouce.
Hành động - action là hành động thực hiện trên tài nguyên được
định nghĩa trong từng service .
Tài nguyên - resource là một đối tượng trong service.
Với aws việc phân quyền và định danh nhằm kiểm soát các truy cập vào tài
nguyên từ các định danh (IAM Identity) trong cùng tài khoản, đảm bảo việc
các service làm việc với nhau an toàn và kiểm xoát các truy cập tài nguyên
từ ngoài tài khoản. Bao gồm các truy cập định danh bên ngoài tài khoản và
truy cập không định danh tới các tài nguyên công khai.
https://docs.aws.amazon.com/service-authorization/latest/reference/
reference_policies_actions-resources-contextkeys.html
Ví dụ :
Link tham khảo:
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html
Mỗi policy là tập hợp của các các statement và mỗi statement quy định
việc DENY/ALLOW một hoặc nhiều action được thực hiện trên một hoặc
nhiều resource. Policy aws có thể chỉ định chủ thể có hiệu lực với quy tắc
trên statement với Principal dựa trên cơ chế Resource-base policy (chỉ áp
dụng với một số resource )
3. IAM Identity
AWS account root user: root user được tạo khi bạn tạo một
account, nó có quyền cao nhất trong account, không thể bị xoá và
chỉnh sửa phân quyền. Root user chỉ nên được sử dụng các tác vụ
riêng biệt. Aws khuyên cáo không nên sử dụng root user tạo các
credentials và không nên sử dụng aws account root user cho các
hoạt động thông thường.
IAM users là một chủ thể được người dùng tạo trong aws và được sử
dụng để đại diện cho một người hoặc một service tương tác với AWS.
IAM user có thể được xác thực bằng name và password hoặc sử
dụng với aws api, aws cli bằng các credentials được tạo.
IAM groups là một đại diện cho tập hợp các user. Được sử dụng để
phân quyên cho một nhóm các user có chung một nhóm các policy.
Một group được phân quyên giống như các user dựa trên các policy
được gắn và các user trong group cũng sẽ được áp dụng chung các
chính sách trong policy. Nhớ đó dễ dàng quản lý phân quyên cho
từng nhóm người dùng trong aws account.
IAM roles tương tự như các user được gắn các policy để phân
quyền nhưng thay vì đại diên cho 1 người . Role có thể được sử
dụng để ủy quyền cho một principal (không thể chỉ định *). Đặc
điểm:
o Không có long-term credentials hoặc name password cho
phép bạn truy cập aws
o Được sử dụng để cấp quyền tạm thời cho các application,
user, service trước đó không có quyền truy cập
o Iam role có thể cấp quyền truy cập tạm thời cho các
service quyền truy cập resource của 1 service khác (aws
service role) hoặc uỷ quyền truy cập cho 1 service khác
(aws service-linked role, AWS service role for an EC2
instance)
o Cơ chế trust police là 1 resource-based police cho phép
chỉnh định principal được phép sử dụng role.
Temporary credentials in IAM là một giấy phép tạm thời được sử
dụng cho các tác vụ ngắn hạn, các giấy phép tạm thời có quyền truy
cập dựa trên IAM Identity được chỉ định (user hoặc role).
4. Chính sách và phân quyền trong IAM
Trong aws người dùng kiểm soát phân quyền bằng cách tạo ra chính
sách - policies và gắn chúng với IAM identities (users, groups of users, or
roles) hoặc AWS resources. Tập hợp các policy có hiệu lực trên chủ thể
và trên resouce quyết định kết quả phân quyền ALLOW hoặc DENY
Policy Type
Để đáp ứng các nhu cấu phân quyền cho các định danh, các resource, kiểm
soát quyền của các định danh (IAM Identity) và xác đinh quyền truy cập của
các account trong Origanizations. Aws sử dụng nhiều policy type cho từng
mục đích khác nhau.
Nếu chia tách theo mục đính sử dụng ta sẽ có: Identity-based policy,
Session policy, Resource-based policy là các chính sách cấp quyền. Với
Permission boundaries, Organization SCPs là các chính sách hạn chế
quyền truy cập.
Được aws chia thành 6 bước đánh giá dựa trên phân loại policy:
Việc truy cập tài nguyên bằng 1 định danh thuộc một account khác yêu cầu
sự cho phép từ một resource-based policy được chỉ định bởi resource cần
truy cập.
6. Authorization strategy
Với aws IAM cho phép bạn thực hiện 2 chiến lược phân quyền Attribute-
based access control (ABAC) và role-based access control (RBAC). Trong đó:
RBAC phân quyền dựa trên vai trò là cách thức phân quyền theo đó
bạn tạo ra các phân quyên theo vai trò người sử dụng (Dev,
Database admin,...). Trong IAM, việc này tương đương với tạo ra các
policy và gắn với các định danh. Điều này giúp cấp tối thiểu các đặc
quyền cho người sử dụng
ABAC phân quyền dưa trên thuộc tính theo đó các chính sách định
nghĩa phân quyền dựa trên thuộc tính của tài nguyên và của người
sử dụng. Từ đó đạt được sự linh hoạt và kiểm soát dễ dàng các phân
quyền. Trong IAM ABAC được sử dụng dựa trên các tag được gắn với
các resource và Identity để dễ dàng phân quyền theo nhóm các tài
nguyên và nhóm định danh.