AWS Secrets Manager 모범 사례 - AWS Secrets Manager

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

AWS Secrets Manager 모범 사례

Secrets Manager는 자체 보안 정책을 개발하고 구현할 때 고려해야 할 여러 보안 기능을 제공합니다. 다음 모범 사례는 일반적인 지침이며 완벽한 보안 솔루션을 나타내지는 않습니다. 이러한 모범 사례는 환경에 적절하지 않거나 충분하지 않을 수 있으므로 참고용으로만 사용하십시오.

자격 증명 및 기타 민감한 정보를 AWS Secrets Manager에 저장

Secrets Manager는 보안 태세와 규정 준수를 개선하고, 민감한 정보에 대한 무단 액세스 위험을 줄이는 데 도움이 될 수 있습니다. Secrets Manager는 사용자가 소유하고 AWS Key Management Service(AWS KMS)에 저장하는 암호화 키를 사용하여 저장 중인 보안 암호를 암호화합니다. 보안 암호를 검색하면 Secrets Manager는 보안 암호를 복호화한 후 TLS를 통해 이를 로컬 환경으로 안전하게 전송합니다. 자세한 내용은 AWS Secrets Manager 보안 암호 생성 단원을 참조하십시오.

코드에서 보호되지 않은 보안 암호 찾기

CodeGuru Reviewer는 Secrets Manager와 통합되어 코드에서 보호되지 않는 보안 암호를 찾는 보안 암호 탐지기를 사용합니다. 보안 암호 탐지기는 하드코딩된 암호, 데이터베이스 연결 문자열, 사용자 이름 등을 검색합니다. 자세한 내용은 Amazon CodeGuru Reviewer를 사용하여 코드에서 보호되지 않는 보안 암호 찾기 단원을 참조하십시오.

Amazon Q는 코드베이스에서 보안 취약성 및 코드 품질 문제를 스캔하여 개발 주기 전체에서 애플리케이션의 태세를 개선할 수 있습니다. 자세한 내용은 Amazon Q Developer 사용 설명서의 Scanning your code with Amazon Q 단원을 참조하세요.

보안 암호에 대한 암호화 키 선택

대부분의 경우 aws/secretsmanager AWS 관리형 키를 사용하여 보안 암호를 암호화하는 것이 좋습니다. 이를 사용하는 데 드는 비용은 없습니다.

다른 계정의 보안 암호에 액세스하거나 키 정책을 암호화 키에 적용하려면 고객 관리형 키를 사용하여 보안 암호를 암호화합니다.

  • 키 정책에서 secretsmanager.<region>.amazonaws.com 값을 kms:ViaService 조건 키에 할당합니다. 이렇게 하면 Secrets Manager의 요청에만 키를 사용하도록 제한됩니다.

  • 올바른 컨텍스트를 가진 Secrets Manager의 요청에만 키를 사용하도록 제한하려면, 다음 항목을 생성하여 KMS 키를 사용하는 조건으로 Secrets Manager 암호화 컨텍스트의 키 또는 값을 사용합니다.

자세한 내용은 AWS Secrets Manager에서 보안 암호 암호화 및 복호화 단원을 참조하십시오.

캐싱을 사용하여 보안 암호 검색

보안 암호를 가장 효율적으로 사용하려면 다음과 같은 지원되는 Secrets Manager 캐싱 구성 요소 중 하나를 사용하여 보안 암호를 캐싱하고, 필요한 경우에만 업데이트하는 것이 좋습니다.

보안 암호 교체

오랜 기간 동안 보안 암호를 바꾸지 않으면 보안 암호가 손상될 가능성이 높아집니다. Secrets Manager를 사용하면 최대 4시간 간격으로 자동 교체를 설정할 수 있습니다. Secrets Manager에서는 단일 사용자대체 사용자라는 두 가지 교체 전략이 제공됩니다. 자세한 내용은 AWS Secrets Manager 보안 암호 교체 단원을 참조하십시오.

CLI 사용의 위험 완화

AWS CLI를 사용하여 AWS 작업을 간접적으로 호출하려면 명령 셸에 해당 명령을 입력합니다. 대부분의 명령 쉘은 로깅 및 마지막으로 입력한 명령을 볼 수 있는 기능처럼 보안 암호를 손상시킬 수 있는 기능을 제공합니다. AWS CLI를 사용하여 민감한 정보를 입력하기 전에 먼저 AWS Secrets Manager 보안 암호 저장 시 AWS CLI 사용으로 발생 가능한 위험 줄이기 단원을 확인하세요.

보안 암호에 대한 액세스 제한

보안 암호에 대한 액세스를 제어하는 IAM 정책 설명에서 최소 권한 액세스 원칙을 사용합니다. IAM 역할 및 정책, 리소스 정책, 속성 기반 액세스 제어(ABAC)를 사용할 수 있습니다. 자세한 내용은 AWS Secrets Manager에 대한 인증 및 액세스 제어 단원을 참조하십시오.

보안 암호에 대한 광범위한 액세스 차단

PutResourcePolicy 작업을 허용하는 자격 증명 정책에서 BlockPublicPolicy: true를 사용하는 것이 좋습니다. 이 조건은 정책에서 광범위한 액세스를 허용하지 않는 경우에만 사용자가 리소스 정책을 보안 암호에 연결할 수 있음을 의미합니다.

Secrets Manager는 Zelkova 자동화된 추론을 사용하여 광범위한 액세스에 대한 리소스 정책을 분석합니다. Zelkova에 대한 자세한 내용은 AWS 보안 블로그의 AWS에서 자동화된 추론을 사용하여 대규모 보안을 달성하는 방법을 참조하세요.

다음 예에서는 BlockPublicPolicy를 사용하는 방법을 보여줍니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "secretsmanager:PutResourcePolicy", "Resource": "SecretId", "Condition": { "Bool": { "secretsmanager:BlockPublicPolicy": "true" } } } }

정책의 IP 주소 조건에 주의하세요.

그러나 Secrets Manager에 대한 액세스를 허용하거나 거부하는 정책문에서 IP 주소 조건 연산자 또는 aws:SourceIp 조건 키를 지정할 때는 주의해야 합니다 예를 들어, 회사 네트워크 IP 주소 범위의 요청에 대한 AWS 작업을 보안 암호로 제한하는 정책을 연결할 경우 회사 네트워크의 요청을 호출하는 IAM 사용자의 요청은 예상대로 작동합니다. 하지만 다른 서비스에서 사용자를 대신하여 보안 암호에 액세스하도록 허용할 경우(예: Lambda 함수를 통한 교체를 활성화할 경우) 해당 함수는 AWS 내부 주소 범위에서 Secrets Manager 작업을 호출합니다. IP 주소 필터가 있는 정책의 영향을 받는 요청은 실패합니다.

또한 요청이 Amazon VPC 엔드포인트에서 이루어지는 경우 aws:sourceIP 조건 키는 유효하지 않습니다. 요청을 특정 VPC 엔드포인트로 제한하려면 VPC 엔드포인트 조건이 있는 요청 제한를 사용합니다.

VPC 엔드포인트 조건이 있는 요청 제한

특정 VPC 또는 VPC 엔드포인트의 요청으로 액세스를 허용하거나 거부하려면 aws:SourceVpc를 사용하여 지정된 VPC 요청으로 액세스를 제한하거나 aws:SourceVpce를 사용하여 지정된 VPC 엔드포인트의 요청으로 액세스를 제한합니다. 예: 권한 및 VPC 섹션을 참조하세요.

  • aws:SourceVpc는 지정된 VPC의 요청으로 액세스를 제한합니다.

  • aws:SourceVpce는 지정된 VPC 엔드포인트의 요청으로 액세스를 제한합니다.

Secrets Manager 보안 암호에 대한 액세스를 허용하거나 거부하는 보안 암호 정책문에 이러한 조건 키를 사용하면 사용자를 대신해 Secrets Manager를 사용하여 보안 암호에 액세스하는 서비스에 대한 액세스를 실수로 거부하게 될 수 있습니다. 일부 AWS 서비스만 VPC 내의 엔드포인트에서 실행할 수 있습니다. 보안 암호에 대한 요청을 VPC 또는 VPC 엔드포인트로 제한하면 구성되지 않은 서비스로부터의 Secrets Manager 호출에 실패할 수 있습니다.

AWS Secrets Manager VPC 엔드포인트 사용 섹션을 참조하세요.

보안 암호 복제

Secrets Manager는 복원력 또는 재해 복구 요구 사항을 충족하기 위해 보안 암호를 여러 AWS 리전에 자동으로 복제할 수 있습니다. 자세한 내용은 리전 간 AWS Secrets Manager 보안 암호 복제 단원을 참조하십시오.

보안 암호 모니터링

Secrets Manager를 통해 AWS 로깅, 모니터링, 알림 서비스와 통합하여 보안 암호를 감사하고 모니터링할 수 있습니다. 자세한 내용은 다음을 참조하세요.

프라이빗 네트워크에서 인프라 실행

가능한 경우 대부분의 인프라를 퍼블릭 인터넷에서 액세스할 수 없는 프라이빗 네트워크에서 실행하는 것이 좋습니다. 인터페이스 VPC 엔드포인트를 생성하여 VPC와 Secrets Manager 간에 프라이빗 연결을 설정할 수 있습니다. 자세한 내용은 AWS Secrets Manager VPC 엔드포인트 사용 단원을 참조하십시오.