Python 如何在使用boto3创建帐户后通过电子邮件自动邀请IAM用户?
我正在使用Python 如何在使用boto3创建帐户后通过电子邮件自动邀请IAM用户?,python,amazon-web-services,boto3,amazon-iam,Python,Amazon Web Services,Boto3,Amazon Iam,我正在使用bot3以编程方式创建IAM用户 我还想邀请我刚刚使用电子邮件创建的用户 以下是我迄今为止为创建和更新密码所做的尝试 iam.create_user(UserName='username') iam.create_login_profile( UserName='username', Password='password', PasswordResetRequired=False ) 但我还没有找到一个选项,可以在创建邀请电子邮件后自动向用户发送邀请电子邮件
bot3
以编程方式创建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.
既然你已经在使用boto3,你有没有尝试过使用SNS或SES发送电子邮件?是的。这就是我一直在用的。我用Django中的
send\u mail()
发送邮件。我只是在想是否有其他方法可以用boto3来做。谢谢你的澄清。
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'])