以下是一个使用AWS Secret Manager和Lambda函数来轮换秘密的解决方案的代码示例:
import boto3
def lambda_handler(event, context):
# 获取当前需要轮换的秘密
secret_name = event['SecretName']
# 创建AWS Secret Manager客户端
client = boto3.client('secretsmanager')
# 获取当前版本的秘密值
response = client.get_secret_value(SecretId=secret_name)
current_secret_value = response['SecretString']
# 轮换秘密值的逻辑处理,例如生成新的秘密值
new_secret_value = generate_new_secret_value()
# 更新秘密值
response = client.update_secret(SecretId=secret_name, SecretString=new_secret_value)
# 返回轮换后的秘密值
return {
'statusCode': 200,
'body': new_secret_value
}
请注意,此代码示例仅包含了秘密轮换的基本逻辑,您可能需要根据自己的需求进行进一步的修改和扩展。另外,您还需要为Lambda函数配置适当的IAM权限,以允许其访问AWS Secret Manager服务。