설명
Secrets Manager는 KmsKeyId를 생략하면 AWS 관리형 aws/secretsmanager 키로 비밀 값을 암호화합니다. 생략 자체가 암호화 비활성화를 뜻하지는 않습니다. 조직이 키 정책과 수명주기를 직접 통제해야 하거나 다른 계정에서 비밀정보에 접근해야 한다면 고객 관리형 키가 필요합니다.
잠재적 영향
기본 키만으로 별도 키 관리 요구사항이나 계정 간 접근을 충족하지 못할 수 있습니다. 키 권한을 잘못 제한하면 필요한 비밀정보 조회가 실패할 수 있습니다.
해결 방법
필요한 경우 KmsKeyId에 실제 고객 관리형 키 ARN을 지정하세요. 비밀정보 접근 정책과 KMS 키 정책을 함께 검토해 필요한 주체와 작업만 허용하고, 변경 후 애플리케이션의 조회가 정상 동작하는지 확인하세요.
예시
암호화 키 선택의 발췌입니다. 두 예제는 비밀 값을 생성하거나 입력하지 않아 빈 비밀정보를 생성합니다. 실제 값은 별도의 적절한 생성·저장 절차로 관리하세요.
변경 전
yaml
Resources:
MySecret:
Type: AWS::SecretsManager::Secret
Properties:
Description: secret description
값을 저장할 때 기본 aws/secretsmanager 키를 사용합니다.
변경 후
yaml
Resources:
MySecret:
Type: AWS::SecretsManager::Secret
Properties:
Description: secret description
KmsKeyId: !Ref SecretKeyArn
SecretKeyArn으로 제공한 고객 관리형 키를 사용합니다. 키를 지정하는 것만으로 비밀정보의 과도한 접근 권한이 제거되지는 않습니다.