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

Amazon web services 如何使用AWS SNS服务向每个AWS IAM用户发送单独的电子邮件,告知他们的旧访问密钥?,amazon-web-services,aws-lambda,amazon-iam,amazon-sns,Amazon Web Services,Aws Lambda,Amazon Iam,Amazon Sns,到目前为止,我已经实现了以下功能: 我使用AWS系统管理器自动化、AWS配置和AWS SNS服务在我的电子邮件中获取所有过期访问密钥的列表。这工作正常 要求: 我在AWS帐户中有多个IAM用户,其访问密钥在过去90天内未轮换。 现在,我想在帐户中建立一些自动化,向每个IAM用户发送电子邮件,告知他们的旧访问密钥 请对此进行指导。我已经创建了一个Lambda来完成这项工作,每天运行它,并向用户发送电子邮件 从IAM获取用户列表 循环浏览用户列表 对于与用户关联的每个访问密钥,确定其年龄(今天-访问

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

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


请对此进行指导。

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

  • 从IAM获取用户列表
  • 循环浏览用户列表
  • 对于与用户关联的每个访问密钥,确定其年龄(今天-访问密钥创建日期)
  • 如果超过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 ()
    
    导入json
    进口boto3
    导入日期时间
    从dateutil.tz导入tzutc
    users=iam.list_users()['users']
    def列表旧密钥(已发送警告,禁用密钥):
    对于用户中的用户:
    对于iam中的访问密钥。列出访问密钥(UserName=user['UserName'])['AccessKeyMetadata']:
    delta=(今天-访问_键['CreateDate'].replace(tzinfo=None)).days
    如果访问键['Status']=“Active”:
    如果增量>=90:
    其他:
    如果增量>=90:
    
    你不能用SNS做到这一点。你调查过SES吗?还没有。我将检查IAM用户和AWS SE的连接。谢谢,IAM用户和AWS SES之间没有连接。您必须从IAM用户配置文件中提取电子邮件地址。然后通过调用AWS SES API发送个人电子邮件。我的评论主要是说,没有办法向使用SNS的人发送个人电子邮件。