Back to Posts
Jan 12, 2025

Hướng dẫn quản lý biến môi trường với AWS Secrets Manager cho App Runner

Khi triển khai các dự án Backend lên App Runner, thay vì nhập trực tiếp các giá trị nhạy cảm vào phần cấu hình Environment Variables (dễ bị lộ khi ai đó có quyền xem console), chúng ta sẽ sử dụng AWS Secrets Manager làm “két sắt” lưu trữ.


1. Tạo Secret trong Secrets Manager

Bước đầu tiên là đưa các thông tin nhạy cảm vào “két sắt” của AWS.

  1. Truy cập Dashboard của AWS Secrets Manager.
  2. Nhấn “Store a new secret”.
  3. Chọn loại secret là “Other type of secret”.
  4. Nhập các cặp Key/Value của bạn (Ví dụ: Key là DB_PASSWORD, Value là mật-khẩu-của-bạn).
  5. Chọn khóa mã hóa (Encryption key): Bạn có thể dùng khóa mặc định của AWS hoặc tạo khóa KMS riêng.
  6. Hoàn tất các bước đặt tên và cấu hình xoay vòng (rotation) nếu cần.
  7. Sau khi tạo xong, hãy copy mã Secret ARN ở trang chi tiết. Bạn sẽ cần nó cho bước sau.

2. Phân quyền cho App Runner (IAM Role)

Đây là bước quan trọng nhất. Mặc định, App Runner sẽ không có quyền “mở két” để lấy thông tin. Bạn cần cấp quyền thông qua một IAM Role.

  1. Truy cập dịch vụ IAM và tìm đến mục Roles.
  2. Chọn Role mà bạn đã gán cho App Runner (Instance Role). Nếu chưa có, hãy tạo mới một Role cho dịch vụ App Runner.
  3. Nhấn “Add permission” và chọn “Create inline policy”.
  4. Chuyển sang chế độ JSON và dán đoạn mã sau vào:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "kms:Decrypt*" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret-name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key-id>" ] } ] }

Giải mã đoạn Policy này:

  1. Lưu Policy và đặt tên (ví dụ: AppRunnerSecretsPolicy).

3. Cấu hình trên App Runner

Cuối cùng, hãy quay lại dịch vụ App Runner để áp dụng:

  1. Đi tới cấu hình dự án của bạn trên App Runner.
  2. Trong mục Configuration > Environment variables, thay vì chọn “Plaintext”, hãy chọn “Reference a secret”.
  3. Dán ARN mà chúng ta đã học cách định dạng ở bài trước (có kèm dấu : và tên Key cụ thể).
  4. Đảm bảo rằng bạn đã chọn đúng IAM Role mà mình vừa thêm Policy ở Bước 2.
  5. Nhấn Save and Deploy để App Runner khởi động lại và nhận giá trị mới.

Tổng kết

Bằng cách này, biến môi trường của bạn sẽ được bảo mật đa lớp:

Chúc các bạn triển khai hệ thống an toàn và chuyên nghiệp hơn!

Related

© 2026 Aiden Tran