AWS Organizations にに登録されているアカウントをboto3で取り出すにはlist_accounts
を利用します。
AWS Doc
しかしこれを利用すると最大20件までしか取得することができません。(これに気づかずハマっていました)
もっとアカウント数があるときの取得の方法です。
def list_accounts_organizations(server_account): session = boto3.session.Session(profile_name=master_acct) client = session.client('sts') organizations = session.client('organizations') pagenator = organizations.get_paginator('list_accounts') page_iterator = pagenator.paginate() list_accounts = list() for page in page_iterator: for acct in page['Accounts']: list_accounts.append(acct) print(str(list_accounts)) return list_accounts
このようにすることで、Organizationsに登録されているアカウントのIDや名前をすべて取り出す事ができます!