보안 관리 - Amazon Elastic Container Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

보안 관리

API 키 및 데이터베이스 자격 증명과 같은 비밀은 응용 프로그램에서 다른 시스템에 액세스하는 데 자주 사용됩니다. 사용자 이름과 암호, 인증서 또는 API 키로 구성되는 경우가 많습니다. 이러한 비밀에 대한 액세스는 IAM을 사용하고 런타임 시 컨테이너에 삽입되는 특정 IAM 보안 주체로 제한되어야 합니다.

비밀은 완벽하게 컨테이너에 주입 할 수 있습니다.AWS Secrets Manager및 Amazon EC2 Systems Manager 파라미터 스토어를 사용합니다. 이러한 비밀은 작업에서 다음 중 하나와 같이 참조할 수 있습니다.

  1. 그들은 사용하는 환경 변수로 참조됩니다secrets컨테이너 정의 매개 변수입니다.

  2. 그들은 다음과 같이 참조됩니다.secretOptions로깅 플랫폼에 인증이 필요한 경우 자세한 내용은 단원을 참조하십시오.로깅 구성 옵션.

  3. 그들은 사용하는 이미지에 의해 가져온 비밀로 참조됩니다repositoryCredentials컨테이너 정의 매개 변수는 컨테이너를 가져올 레지스트리에 인증이 필요한 경우입니다. Docker Hub에서 이미지를 가져올 때이 방법을 사용하십시오. 자세한 내용은 단원을 참조하십시오.작업에 대한 개인 레지스트리 인증.

Recommendations

비밀 관리를 설정할 때 다음을 수행하는 것이 좋습니다.

사용AWS Secrets Manager보안 자료를 저장하기 위한 Amazon EC2 Systems Manager 파라미터 스토어

API 키, 데이터베이스 자격 증명 및 기타 비밀 자료를AWS Secrets Manager를 암호화된 파라미터Amazon EC2 Systems Manager 있습니다. 이러한 서비스는 둘 다 관리되는 키 - 값 저장소이기 때문에AWS KMS를 사용하여 기밀 데이터를 암호화합니다.AWS Secrets Manager에는 비밀을 자동으로 회전하고, 임의의 비밀을 생성하고, 비밀을 공유하는 기능도 포함되어 있습니다.AWS계정을 참조하십시오. 이러한 중요한 기능을 생각하면AWS Secrets Manager그렇지 않으면 암호화된 매개 변수를 사용합니다.

참고

의 암호를 참조하는 작업AWS Secrets Manager또는 Amazon EC2 Systems Manager 파라미터 스토어를 사용하려면작업 실행 역할를 Amazon ECS에게 원하는 비밀에 대한 액세스 권한을 부여하는 정책과 (해당되는 경우)AWS KMS키를 사용하여 해당 암호를 암호화하고 해독합니다.

중요

작업에서 참조되는 암호는 자동으로 회전되지 않습니다. 암호가 변경되면 새 배포를 강제 실행하거나 새 작업을 시작하여 최신 암호 값을 검색해야 합니다. 자세한 내용은 다음 항목을 참조하십시오.

암호화된 Amazon S3 버킷에서 데이터 검색

환경 변수의 값이 실수로 로그에서 누수 될 수 있으며docker inspect를 사용하는 경우 암호화된 Amazon S3 버킷에 암호를 저장하고 작업 역할을 사용하여 해당 비밀에 대한 액세스를 제한해야 합니다. 이렇게 하면 Amazon S3 버킷의 암호를 읽기 위해 애플리케이션을 작성해야 합니다. 지침은 단원을 참조하십시오.Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정.

사이드카 컨테이너를 사용하여 비밀을 볼륨에 마운트

환경 변수로 인해 데이터 유출의 위험이 높아지기 때문에AWS Secrets Manager를 사용하여 공유 볼륨에 쓸 수 있습니다. 이 컨테이너를 사용하여 응용 프로그램 컨테이너 전에 실행하고 종료 할 수 있습니다Amazon ECS 컨테이너 주문. 이렇게 하면 응용 프로그램 컨테이너는 이후에 비밀이 기록된 볼륨을 마운트합니다. Amazon S3 버킷 메서드와 마찬가지로 공유 볼륨에서 암호를 읽도록 애플리케이션을 작성해야 합니다. 볼륨은 작업 범위가 지정되기 때문에 작업이 중지된 후 볼륨이 자동으로 삭제됩니다. 사이드카 컨테이너의 예는aws-secret-sidecar-Injector프로젝트를 참조하십시오.

참고

Amazon EC2 비밀이 기록되는 볼륨은AWS KMS고객 관리형 키 :AWS Fargate를 선택하면 볼륨 저장소가 서비스 관리 키를 사용하여 자동으로 암호화됩니다.

추가 리소스