首页 > 解决方案 > 将 IAM 用户列表发送到电子邮件的 SNS 主题

问题描述

我有一个 python 脚本,它获取 IAM 用户名和他们最后一次登录到 AWS 控制台。我已将 SNS 主题配置为将最终结果发送到我的邮件。但我在电子邮件中收到的结果仅显示一个用户名。其余用户名丢失。请帮忙

today = datetime.datetime.now()

PhysicalString =''

for user in resource.users.all():
    if user.password_last_used is not None:
        delta = (today - user.password_last_used.replace(tzinfo=None)).days
        final_result=("username: ", [user.user_name][0]," - ",str(delta) , "days")
        physicalString = 'IAM user details : \n\n' + ''.join(final_result)
        response = sns.publish(
            TopicArn='************************',
            Message= physicalString,
            Subject='IAM USER',
        )
        return final_result

标签: python-3.xamazon-web-servicesaws-lambdaamazon-sns

解决方案


您的代码在return 语句for中使用。

因此,代码将在第一个非空的用户之后退出password_last_used

其他一些事情也很奇怪:

  • PhysicalString =''正在定义一个未使用的变量(带有大写字母P
  • final_result将仅包含一个用户的信息,因此尚不清楚此信息是通过什么/为什么传递的return

推荐阅读