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