説明
Lambda の環境変数は標準で保存時に暗号化されます。Serverless Framework の kmsKeyArn で、既定のキーの代わりにカスタマーマネージド KMS キーを選べます。未指定でも平文保存を意味するわけではありません。
想定される影響
キーポリシーやライフサイクルを直接管理する要件を満たせないおそれがあります。
対処方法
カスタマーマネージドキーが必要なら provider.kmsKeyArn または関数の kmsKeyArn にキー ARN を指定し、権限を確認してください。関数単位の上書きも確認し、実際のシークレットは Secrets Manager などで管理してください。
例
この例はプロバイダーと hello 関数に同じキーを指定しています。関数に同じ値を繰り返す必要はありません。ARN は実際のキーの 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