有关为 Aurora MySQL RDS 数据库创建凭证轮换 Lambda 函数的问题

waw*_*awa 6 credentials rotation amazon-web-services aws-lambda aws-secrets-manager

我找到了这个轮换函数模板,我将修改此模板以创建我自己的轮换函数并告诉 Secrets Manager 使用它执行轮换。

我的问题是我应该更改模板中的哪一部分,模板中不是很清楚,例如第47-49行,我应该替换SecretId为我的Secret ARN吗?

arn = event['SecretId']
token = event['ClientRequestToken']
step = event['Step']
Run Code Online (Sandbox Code Playgroud)

另一个例子:第 57 行

endpoint_url=os.environ['SECRETS_MANAGER_ENDPOINT']
Run Code Online (Sandbox Code Playgroud)

'SECRETS_MANAGER_ENDPOINT'也许我应该使用什么值'https://secretsmanager.region.amazonaws.com'

另外,第205-206行

This is where the lambda will validate the user's permissions. 
Uncomment/modify the below lines to
# tailor these validations to your needs
Run Code Online (Sandbox Code Playgroud)

我到底需要在这部分添加什么来授予 Secrets Manager 调用此函数的权限?

有点困惑,我几乎一整天都在搞乱整个凭证轮换,任何建议将不胜感激。

com*_*der 8

您不需要对加载事件或环境变量的逻辑进行任何更改。

这样想吧。当轮换发生时,秘密管理器将调用您的 lambda。该调用有一个与之关联的事件,其中包含轮换步骤、要轮换的密钥的 SecretId、ClientRequestToken 等

您不需要修改该逻辑。

关于 lambda,您需要为机密管理器端点设置一个环境变量 - https://docs.aws.amazon.com/lambda/latest/dg//go-programming-model-env-variables.html

  • 嘿,谢谢您的回答,您提到的“环境变量”,我可以在 Secret Manager 控制台中哪里设置它?我找不到它... (2认同)