Cách tạo Switch Role giữa hai tài khoản AWS Chuyên mục Devops 2024-10-16 1 Lượt xem 1 Lượt thích 0 Bình luận
Switch Role cho phép bạn truy cập tài nguyên trong một tài khoản AWS khác bằng cách giả lập một vai trò (role) từ tài khoản nguồn của bạn. Dưới đây là hướng dẫn từng bước để thiết lập switch role giữa hai tài khoản.
Bước 1: Cấu hình vai trò trong tài khoản đích (Account B)
Đầu tiên, bạn cần tạo một vai trò (role) trong tài khoản đích, cho phép tài khoản nguồn có quyền truy cập.
-
Đăng nhập vào AWS Management Console của tài khoản B.
-
Trong thanh tìm kiếm, nhập IAM và chọn IAM (Identity and Access Management).
-
Trong menu bên trái, chọn Roles, sau đó nhấp vào Create Role.
-
Chọn Another AWS account và nhập Account ID của tài khoản nguồn (Account A). Bạn có thể lấy Account ID từ trang My Account của tài khoản nguồn (nếu bạn muốn bất cứ user nào bên tài nguồn cũng có thể truy cập thì bỏ qua còn bạn muốn chỉ định user thì hãy chọn option này).
-
Chọn quyền (permissions) cho vai trò:
- Tùy thuộc vào mục đích sử dụng, bạn có thể cấp quyền quản lý toàn bộ tài khoản hoặc chỉ một số tài nguyên cụ thể. Ví dụ:
- Chọn chính sách AdministratorAccess để cấp quyền quản trị.
- Hoặc chọn các chính sách giới hạn quyền hơn như S3FullAccess, EC2ReadOnlyAccess, v.v.
- Tùy thuộc vào mục đích sử dụng, bạn có thể cấp quyền quản lý toàn bộ tài khoản hoặc chỉ một số tài nguyên cụ thể. Ví dụ:
- Ở tab Trust relationships thêm policy sau
-
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SOURCE_ACCOUNT_ID:root" }, "Action": "sts:AssumeRole" } ] }
-
-
Đặt tên cho vai trò của bạn (ví dụ: SwitchRoleAccountProd).
-
Sau khi hoàn thành, lưu lại vai trò.
Bước 2: Cấu hình IAM Policy cho vai trò
Trong bước này, bạn cần đảm bảo vai trò vừa tạo cho phép tài khoản nguồn thực hiện các hành động cần thiết. Bạn có thể tùy chỉnh policy của vai trò.
Ví dụ, để cho phép Account A chỉ truy cập tài nguyên S3 trong Account B, bạn có thể thêm policy sau:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
Bước 3: Tạo vai trò IAM trong tài khoản nguồn (Account A)
- Đăng nhập vào tài khoản A.
- Vào IAM Console và chọn Roles.
- Tạo một vai trò mới với policy tương ứng, nếu cần kiểm soát quyền của tài khoản A.
Bước 4: Cấu hình Switch Role trong Account A
-
Sau khi hoàn tất các bước trên, quay lại tài khoản nguồn (Account A).
-
Trong AWS Console của Account A, nhấp vào tên của bạn ở góc trên bên phải, sau đó chọn Switch Role.
-
Nhập thông tin tài khoản đích (Account B):
- Account ID của tài khoản B.
- Role name là tên của role bạn đã tạo trong Account B (ví dụ: SwitchRoleAccountProd).
-
Nhập Display name để dễ nhận diện vai trò khi chuyển đổi, sau đó nhấp vào Switch Role.
Bước 5: Cấu hình Switch Role qua AWS CLI
Nếu bạn muốn sử dụng Switch Role qua dòng lệnh (CLI), bạn có thể cấu hình profile trong file ~/.aws/config của AWS CLI.
Ví dụ:
[profile source-account]
aws_access_key_id=YourAccessKey
aws_secret_access_key=YourSecretKey
region=ap-northeast-1
[profile target-role]
role_arn=arn:aws:iam::ACCOUNT_B_ID:role/SwitchRoleAccountA
source_profile=source-account
region=ap-northeast-1
- source-account là IAM user của tài khoản A.
- role_arn là ARN của vai trò trong tài khoản B mà bạn muốn switch sang.
Sau đó, bạn có thể sử dụng switch role bằng CLI với profile target-role:
aws s3 ls --profile target-role
Lợi ích của việc sử dụng Switch Role
- Bảo mật tốt hơn: Thay vì sử dụng nhiều tài khoản với quyền hạn khác nhau, bạn có thể quản lý quyền truy cập từ một tài khoản duy nhất.
- Dễ dàng quản lý: Giảm bớt nhu cầu phải nhớ nhiều cặp access key cho từng tài khoản khác nhau.
Bài viết blog của bạn có thể kết thúc với phần hướng dẫn chi tiết như trên, giúp người đọc hiểu rõ cách tạo và sử dụng Switch Role một cách trực quan và dễ dàng.
Chúc bạn viết bài thành công!
Bình luận (0)