Mục lục bài viết

IAM Role Anywhere là gì?

IAM Role Anywhere là cơ chế sử dụng tính năng của IAM Roles trong AWS và các workload bên ngoài AWS. Đối tượng bao gồm máy chủ on-premise, containers và các dịch vụ tính toán khác.

Cung cấp credential ngắn hạn từ on-premise đến AWS, sử dụng IAM Role để truy cập an toàn mà không cần sử dụng access keys.

Lợi ích là loại bỏ access keys, giảm chi phí vận hành rotation access keys và giảm rủi ro lộ thông tin, cải thiện bảo mật truy cập.

Một số trường hợp sử dụng có thể kể đến là:

– Backup dữ liệu on-premise lên S3

– Tích hợp workload Kubernetes on-premise với DynamoDB của AWS

– Gửi dữ liệu từ on-premise đến Security Hub để phân tích

Sử dụng certificates trong workload

Workload bên ngoài AWS cũng có thể sử dụng IAM role và Policy tương tự như đã cấu hình cho AWS để truy cập tài nguyên AWS. Kết nối từ on-premise đến AWS được thực hiện thông qua cơ chế PKI (Public Key Infrastructure).

Xác thực giữa on-premise và AWS được thực hiện bằng cách trao đổi X.509 certificate với credential tạm thời của AWS.

Sử dụng [trust anchor] trong AWS để trao đổi thông tin xác thực.

[trust Anchor] là cơ chế gửi thông báo từ on-premise đến AWS rằng “CA trên on-premise tin cậy vào workload này”. Khi tin cậy được xác lập theo trust anchor này, sẽ tạo một “profile” tổng hợp các role có thể đảm nhận.

Ví dụ, nếu một workload on-premise cần truy cập vào bucket S3 của AWS, nó sẽ chuyển certificates được ký bởi CA tới AWS và sử dụng private key để ký các yêu cầu.

Nếu certificates hợp lệ, AWS sẽ trả lại credential tạm thời của role đó tới workload gọi và thiết lập xác thực.

IAM Role Anywhere có thể được thiết lập từ [Roles] trong dịch vụ IAM của bảng điều khiển.

Bước đầu tiên để sử dụng IAM Role Anywhere là tạo private key và certificate signing request (CSR) trên máy chủ on-premise.

Nội dung cập nhật

Theo mặc định, việc phân biệt các workload đã được thực hiện bằng cách kiểm tra xem giá trị CN, OU có trong Issuer, Subject của end-entity certificates sử dụng cho xác thực có trùng với giá trị đã xác định trong Condition hay không. 

Điều này được cài đặt bằng key [aws:principalTag] do AWS quản lý và được sử dụng như một phần của điều kiện trong chính sách tin cậy của role.

Với bản cập nhật này, bạn có thể tùy chỉnh định nghĩa một tập mapping rules. Điều này cho phép bạn lựa chọn dữ liệu nào được trích xuất từ chứng chỉ xác thực. Việc ghi nhãn (tagging) trở nên đơn giản hơn, tạo ra một cảm giác linh hoạt hơn cho việc sử dụng.

Để thiết lập, bạn có thể sử dụng lệnh sau. CERTIFICATE_FIELD có thể là x509Subject, x509Issuer hoặc x509SAN.

aws rolesanywhere put-attribute-mapping \

–certificate-field CERTIFICATE_FIELD \

–mapping-rules specifier=SPECIFIER \

–profile-id PROFILE_ID

Và có thể chỉ định như sau:

$aws rolesanywhere put-attribute-mapping \

–certificate-field x509Subject \

–mapping-rules specifier=CN specifier=OU \

–profile-id PROFILE_ID