簡體   English   中英

使用 boto3 創建帳戶后,如何通過電子郵件自動邀請 IAM 用戶?

[英]How to automatically invite an IAM user via email after creating account using boto3?

我正在使用boto3編程方式創建 IAM 用戶。

我還想邀請我剛剛使用電子郵件創建的用戶。

這是我迄今為止嘗試創建和更新密碼的方法。

iam.create_user(UserName='username')
iam.create_login_profile(
    UserName='username',
    Password='password',
    PasswordResetRequired=False
)

但是我還沒有找到在創建后自動向用戶發送邀請電子郵件的選項。

有沒有辦法自動發送帶有密碼的邀請郵件,以便用戶可以登錄?

就像是

invite_mail='somemail'

沒有內置的 AWS 功能可以向用戶發送他們的登錄信息。

事實上,甚至沒有用於存儲 IAM 用戶電子郵件地址的標准字段。

您需要自己編寫此類功能。

1

您可以使用雲跟蹤在 IAM 用戶創建事件時觸發 Lambda,並使用 AWS SES 客戶端向新創建的用戶發送電子郵件。 您可以使用像 abc.xyx@company.com 這樣的正則表達式來驗證電子郵件的格式。 僅當用戶名采用電子郵件格式時才能執行此操作。

2

import boto3

import logging

ses_client = boto3.client('ses', region_name='us-east-1')

iam_client = boto3.client('iam')


response = iam_client.create_user(
    Path='string',
    UserName='string',
    PermissionsBoundary='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)

#if username as email id 
user_email =  response['User']['UserName']

#if user has tagged with email

#user_email =  response['User']['Tags']['KeyName']

SMTP_FROM = 'EMAIL_ADDRESS'

html = "html_email_template"

SMTP_TO = user_email

try:
    response = ses_client.send_email(
        Source=SMTP_FROM,
        Destination={
            'ToAddresses': SMTP_TO 
        },
        Message={
            'Body': {
                'Html': {
                    'Charset': "UTF-8",
                    'Data': html,
                }
            },
            'Subject': {
                'Data': 'New User Created '
            }
        }
    )
    logger.info(response)
except ClientError as e:
    logger.error(e.response['Error']['Message'])
else:
    logger.info("Email sent! Message ID: " + response['MessageId'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM