はじめに
AWSのユーザーIDを部署全員分作成する必要があり
コンソールからの手作業だと時間が掛かるためPython(boto3)による
自動作成プログラムを作成。
職業プログラマではないため、コードの記述が酷いのは容赦していただきたい。
やりたいこと
- ExcelファイルからユーザーIDを読み込む
- 乱数によるパスワードを生成して別ExcelファイルにユーザーID/パスワードを書き込み
- boto3によりIAMユーザーの作成、グループのアタッチ
読み込むExcelファイルイメージ
書き込み後
qiita.py
import boto3
import xlrd
import xlwt
import string
import random
def password_generator(size=8, chars=string.ascii_letters + string.digits):
return ''.join(random.choice(chars) for i in range(size))
def main():
wbr = xlrd.open_workbook('aws_create_user.xls')
book = xlwt.Workbook()
newSheet_1 = book.add_sheet('Users')
read_sheet = wbr.sheet_by_name('User')
for i in range(read_sheet.nrows):
cell = read_sheet.cell(i, 0)
if cell:
password = password_generator()
newSheet_1.write(i, 0, cell.value)
newSheet_1.write(i, 1, password)
Create_User(cell.value, password)
book.save('AWS_User_Account.xls')
def Create_User(User, password):
Group = 'admin'
client = boto3.client('iam')
client.create_user(
Path = '/',
UserName = User
)
client.add_user_to_group(
GroupName = Group,
UserName = User
)
iam = boto3.resource('iam')
login_profile = iam.LoginProfile(User)
login_profile.create(
Password = password,
PasswordResetRequired = True
)
if __name__ == '__main__':
main()
今後、追加する(したい)機能
- Google App Scriptで各ユーザーアカウント(メールアドレス)宛てにパスワードを通知