Lambda function で Secrets Manager の値をローテーションする
Secrets Manager
に格納された値を
Lambda
function でローテートできる
ドキュメント:
https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-lambda-function-overview.html
コードのひながた:
https://github.com/aws-samples/aws-secrets-manager-rotation-lambdas/blob/master/SecretsManagerRotationTemplate/lambda_function.py
たとえば
Vault/Secrets Engine/GCP
を利用する場合に役立つ
ひとつの
サービスアカウント
に 10 コまでしか private key を保持できない
Lambda
function から
Vault
を経由して
GCP
のクレデンシャルを得る場合に、同時実行数が増えると 10 コ制限にあたってしまう
そこで
Lambda
function からは
Secrets Manager
からクレデンシャルを読むことにし、この機能を利用して定期的に
Vault
からクレデンシャルを更新する、という実装が可能
自動ローテートの最小の日数は 1 日
テストするためには RotateSecret API を呼び出して実行させるとよさそう:
https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html
#AWS