Hiểu rõ về Switch Role & Assume role

03 tháng 08, 2024 - 346 lượt xem

1. Giới thiệu

aws

Trong quá trình làm các bài Lab thì mình thấy các bạn học viên và thậm chí là giảng viên đôi khi sẽ gặp các lỗi hoặc nhầm lẫn về việc quản lí sercurity đặc biệt là phần định danh (Indentity) và Phân quyền (Access) xem ai hay dịch vụ nào có quyền access như thế nào đến các resource trên AWS.

2. Assume Role

Cùng đưa vào tình huống cụ thể để hiểu rõ khái niêm này.

User A đang đang muốn truy cập vào để xem list các resource trên S3, tuy nhiên do chưa có quyền nên sẽ báo lỗi deny không thể acess.

Lúc này nếu chỉ muốn cấp quyền tạm thời cho user A này truy cập vào S3 thì sẽ sử dụng Assume Role

Các step để thực hiên như sau:
Step1: Tạo role có quyền truy cập S3

Step2: Thiết lập trust policy cho phép user A có thể assume role đã tạo ở step 1
Chú ý là trong trust policy này
Có thể quy định cho được cả service và user khác nữa. Khi allow việc assume role có thể chỉ định thêm xác thực 2 lớp MFA hoặc chỉ định IP có thể thực hiện để đảm bảo sercurity

Step3: Tạo policy cho phép user có thể PassRole và attach policy này cho user A

Sau các bước này user A có thể assume role bằng câu lệnh

Cú pháp:

aws sts assume-role --role-arn --role-session-name

Ví dụ:

Giả sử bạn có ARN của vai trò là arn:aws:iam::123456789012:role/ExampleRole và session name là MySession.

aws sts assume-role --role-arn arn:aws:iam::123456789012:role/ExampleRole --role-session-name MySession

Lệnh này sẽ trả về một chuỗi JSON chứa thông tin xác thực tạm thời bao gồm Access Key ID, Secret Access Key, và Session Token.
Sau khi có 3 thông tin này user A có thể sử dụng nó để tạo ra profile dùng AWS CLI để truy cập vào S3

3. Swich Role

Chúng ta cũng đi vào tình huống cụ thể
User 1 role Admin muốn chuyển sang vài trò của user2 role Dev thường để test các setting mà mình đã đã áp dụng

Các step để thực hiện như sau:
Step 1 : Login tài khoản user Admin tạo role Y chỉ có quyền view ko được chỉnh sửa để khi switch qua role Dev sẽ sử dụng role Y này.

Step 2 : Setting trust policy cho user Dev có thể swich qua role Y này

Step 3 : Add permission cho user Dev có quyền asumeRole

Step 4 : Logout Admin và login user Dev

Step 5 : Swich sang role Y của Admin

Với cách này user Dev có thể nhìn thấy tất cả những gì Admin thấy tuy nhiên ko chỉnh sửa được do role Y setting.
Cach này sẽ không cần tạo ra profile

Hy vọng qua bài viết moi người có thể hiểu và áp dụng trong dự án thực tế

Bình luận

avatar
Trịnh Minh Cường 2024-08-03 02:03:11.693245 +0000 UTC

Bạn nên vẽ hình minh họa sẽ dễ hiểu hơn

Avatar
* Vui lòng trước khi bình luận.
Ảnh đại diện
  0 Thích
0