AWS访问密钥的自动轮换可以通过以下步骤完成:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:CreateAccessKey",
"iam:DeleteAccessKey",
"iam:ListAccessKeys",
"iam:UpdateAccessKey"
],
"Resource": "arn:aws:iam::account-id:user/user-name"
}
]
}
import boto3
def lambda_handler(event, context):
iam = boto3.client('iam')
user_name = 'user-name' # 替换为要进行自动轮换的IAM用户名
# 获取当前的访问密钥
response = iam.list_access_keys(UserName=user_name)
access_key_id = response['AccessKeyMetadata'][0]['AccessKeyId']
# 创建新的访问密钥
response = iam.create_access_key(UserName=user_name)
new_access_key_id = response['AccessKey']['AccessKeyId']
new_secret_access_key = response['AccessKey']['SecretAccessKey']
# 更新用户的访问密钥
response = iam.update_access_key(AccessKeyId=access_key_id, Status='Inactive')
# 返回新的访问密钥
return {
'statusCode': 200,
'body': {
'AccessKeyId': new_access_key_id,
'SecretAccessKey': new_secret_access_key
}
}
在AWS管理控制台中,导航到CloudWatch服务,然后点击左侧的“事件-规则”,点击“创建规则”。
配置如下:
这样,每当定时触发CloudWatch事件规则时,Lambda函数将被调用,自动轮换访问密钥。
上一篇:AWS发布时抛出异常
下一篇:aws访问密钥管理