2016-02-13 19 views
8

Cách được khuyến nghị để truyền các biến môi trường nhạy cảm là gì, ví dụ: mật khẩu, để Amazon ECS công việc? Với Docker Compose, tôi có thể sử dụng key-only environment variables, kết quả là các giá trị được đọc từ môi trường hệ điều hành. Tuy nhiên, tôi không thể thấy bất kỳ phương thức tương ứng nào cho ECS task definitions.Tôi nên chuyển các biến môi trường nhạy cảm đến các nhiệm vụ của Amazon ECS như thế nào?

Trả lời

3

Trong liên kết định nghĩa tác vụ bạn đã đăng có phần "môi trường" cho phép bạn thực hiện việc này. Chúng trở thành biến môi trường bên trong container.

Nếu bạn muốn giữ thông tin ngoài định nghĩa nhiệm vụ và nhiệm vụ đó có thể tham chiếu, bạn không thể. Đặt cược tốt nhất của bạn trong trường hợp đó là để thùng chứa của bạn lấy thông tin đó từ một nguồn bên ngoài và không có cấu hình nhiệm vụ ECS cố gắng tham khảo nó.

1

Bạn có thể sử dụng Parameter Store để lưu trữ các biến. Nó cũng hỗ trợ mã hóa, nếu bạn lưu trữ chúng như SecureString.

Bạn có thể tham chiếu chúng dưới dạng biến môi trường trong định nghĩa tác vụ.

Bạn cần phải lấy lại chúng trong thùng chứa lệnh khởi động

value_from_parameter_store =`aws ssm get-parameters --names parameter_store_key --with-decryption --region $REGION --output text 2>& 1| awk '{print $4}'` 

Bạn cũng có thể đề cập đến parameter_store_key biến môi trường. để bạn có thể sử dụng $parameter_store_key

0

nếu bạn sử dụng biến môi trường, chúng có thể được nhìn thấy khi bạn đăng nhập vào bảng điều khiển AWS. AWS đã viết hướng dẫn về cách sử dụng "bí mật" thích hợp để giữ cho dữ liệu nhạy cảm của bạn bị ẩn. Các thùng chứa tải khi khởi động vào các biến môi trường dựa trên bộ nhớ. Đây là hướng dẫn: https://aws.amazon.com/blogs/security/how-to-manage-secrets-for-amazon-ec2-container-service-based-applications-by-using-amazon-s3-and-docker/

Các vấn đề liên quan