在AWS Secrets Manager中,可以使用AWS SDK或AWS CLI来创建和轮换RDS凭据。下面是一个使用AWS SDK(Python)的示例代码:
import boto3
def rotate_rds_credentials(secret_name, rds_instance_identifier):
client = boto3.client('secretsmanager')
# 获取当前存储在Secret Manager中的RDS凭据
response = client.get_secret_value(SecretId=secret_name)
current_username = response['SecretString']['username']
current_password = response['SecretString']['password']
# 创建新的RDS凭据
response = client.rotate_secret(SecretId=secret_name, RotationLambdaARN='')
# 获取新的RDS凭据
response = client.get_secret_value(SecretId=secret_name)
new_username = response['SecretString']['username']
new_password = response['SecretString']['password']
# 更新RDS凭据
rds_client = boto3.client('rds')
response = rds_client.modify_db_credentials(
DBInstanceIdentifier=rds_instance_identifier,
Username=new_username,
Password=new_password,
CurrentPassword=current_password
)
print("RDS凭据轮换完成。")
# 示例用法
rotate_rds_credentials('my-rds-secret', 'my-rds-instance')
在示例代码中,rotate_rds_credentials
函数首先使用AWS Secrets Manager的get_secret_value
方法获取当前存储在Secret Manager中的RDS凭据。然后,使用rotate_secret
方法创建新的RDS凭据,该方法需要指定一个Lambda函数ARN来处理凭据轮换逻辑。最后,使用modify_db_credentials
方法更新RDS凭据。
请注意,示例代码中的
需要替换为实际的Lambda函数ARN。另外,需要确保您的AWS SDK配置正确,并且具有执行相关操作的权限。