如何向每个AWS IAM用户发送单独的电子邮件,以告知他们使用AWS SNS服务的旧访问密钥



到目前为止,我已经实现了以下功能:我使用AWS系统管理器自动化、AWS配置和AWS SNS服务来获取我电子邮件上所有过期访问密钥的列表。这很好用。

要求:我在AWS帐户中有多个IAM用户,他们的访问密钥在过去90天内没有轮换。现在我想在账户中建立一些自动化功能,向每个IAM用户发送电子邮件,告知他们的访问密钥已过期。

请对此提供指导。

我创建了一个Lambda来完成这项工作,每天运行它,并向用户发送电子邮件。

  1. 从IAM获取用户列表
  2. 循环浏览用户列表
  3. 对于与用户关联的每个访问密钥,确定其年龄(今天-AccessKey创建日期(
  4. 如果超过90天,做点什么(在我的情况下,我会删除它们(

这是我的Lambda:中的一个python片段

import json
import boto3
import datetime
from dateutil.tz import tzutc
users = iam.list_users()['Users']
def list_old_keys(warning_sent, keys_disabled):
for user in users:
for  access_key in iam.list_access_keys(UserName = user['UserName'])['AccessKeyMetadata']:
delta = (today - access_key['CreateDate'].replace(tzinfo=None)).days
if access_key['Status'] == 'Active':
if delta >= 90: 
<Give a Strong Warning to update key>                        
else:
if delta >= 90:
<Disable the key because it's Inactive and Old>

return ()

顺便说一句,根据您的合规性,如果密钥超过90天,您可能至少需要禁用它。我开始警告75天大的人,他们的密钥将被删除,如果超过90天,就会被删除。

相关内容

  • 没有找到相关文章

最新更新