Amazon ECS에서 Secrets Manager 시크릿을 프로그래매틱하게 전달하기
Amazon ECS에서 Secrets Manager 시크릿을 프로그래매틱하게 전달하기
애플리케이션에 민감한 정보를 평문으로 하드코딩하는 대신, Secrets Manager를 사용해 민감한 데이터를 저장할 수 있어요. Secrets Manager 시크릿이 나중에 업데이트되면 애플리케이션이 시크릿의 최신 버전을 자동으로 가져오기 때문에, 이렇게 민감한 데이터를 검색하는 방식을 권장합니다.
출처: 문서
본문
Secrets Manager에 시크릿 만들기
Secrets Manager에서 시크릿을 만든 뒤 애플리케이션 코드를 업데이트해 시크릿을 가져오도록 하세요. Secrets Manager에 민감한 데이터를 보호하기 전에 다음 고려 사항을 검토합니다:
- 텍스트 데이터를 저장하는 시크릿, 즉
CreateSecretAPI의SecretString파라미터로 만든 시크릿만 지원돼요. 바이너리 데이터를 저장하는 시크릿, 즉CreateSecretAPI의SecretBinary파라미터로 만든 시크릿은 지원되지 않습니다. - 보안 제어를 강화하려면 인터페이스 VPC 엔드포인트를 사용하세요. Secrets Manager용 인터페이스 VPC 엔드포인트를 만들어야 해요. VPC 엔드포인트에 대한 자세한 내용은 AWS Secrets Manager 사용자 가이드의 VPC 엔드포인트 만들기(Create VPC endpoints)를 참고하세요.
- 태스크가 사용하는 VPC는 DNS 확인을 사용해야 해요.
- 태스크 정의는 Secrets Manager에 대한 추가 권한이 있는 태스크 역할을 사용해야 합니다. 자세한 내용은 Amazon ECS 태스크 IAM 역할(Amazon ECS task IAM role)을 참고하세요.
Secrets Manager 시크릿 만들기
Secrets Manager 콘솔을 사용해 민감한 데이터용 시크릿을 만들 수 있어요. 시크릿을 만드는 방법은 AWS Secrets Manager 사용자 가이드의 AWS Secrets Manager 시크릿 만들기(Create an AWS Secrets Manager secret)를 참고하세요.
애플리케이션이 Secrets Manager 시크릿을 프로그래매틱하게 가져오도록 업데이트
애플리케이션에서 직접 Secrets Manager API를 호출해 시크릿을 가져올 수 있어요. 자세한 내용은 AWS Secrets Manager 사용자 가이드의 AWS Secrets Manager에서 시크릿 검색(Retrieve secrets from AWS Secrets Manager)을 참고하세요.
AWS Secrets Manager에 저장된 민감한 데이터를 가져오려면 AWS SDK Code Examples Code Library의 AWS SDK를 사용한 AWS Secrets Manager 코드 예시(Code examples for AWS Secrets Manager using AWS SDKs)를 참고하세요.