설명
Lambda 환경 변수는 기본적으로 저장 중 암호화됩니다. Serverless Framework에서 kmsKeyArn을 지정하면 기본 키 대신 고객 관리 KMS 키를 사용할 수 있습니다. 키 미지정이 곧 평문 저장을 뜻하지는 않습니다.
잠재적 영향
조직이 키 정책이나 수명 주기를 직접 관리해야 하는 경우 해당 요구사항을 충족하지 못할 수 있습니다.
해결 방법
고객 관리 키가 필요하면 provider.kmsKeyArn 또는 함수의 kmsKeyArn에 키 ARN을 지정하고 권한을 확인하세요. 함수별 재정의도 점검하고 실제 비밀값은 Secrets Manager 등으로 관리하세요.
예시
예시는 공급자 수준과 hello 함수에 같은 키를 지정합니다. 함수에 같은 값을 반복할 필요는 없으며, 키 ARN은 실제 값으로 바꾸세요. KMS 설정은 소스 파일의 환경 변수 값을 암호화하지 않습니다.
변경 전
yaml
provider:
name: aws
environment:
TABLE_NAME: tableName1
functions:
hello:
handler: handler.hello
environment:
TABLE_NAME: tableName2
변경 후
yaml
provider:
name: aws
kmsKeyArn: arn:aws:kms:us-east-1:111122223333:key/12345678-1234-1234-1234-123456789012
environment:
TABLE_NAME: tableName1
functions:
hello:
handler: handler.hello
kmsKeyArn: arn:aws:kms:us-east-1:111122223333:key/12345678-1234-1234-1234-123456789012
environment:
TABLE_NAME: tableName2