У меня есть скрипт на python, который пытается получить каждый EC2
идентификатор экземпляра в каждой учетной записи AWS, которой я владею. Я использую пользовательскую библиотеку (nwmaws
), в которой будет указан каждый идентификатор моей учетной записи. Я использую функцию, которая генерирует токен sts
и извлекает каждый идентификатор учетной записи и интерполирует идентификатор для динамического создания ARN
, чтобы я мог взять на себя роль в каждой учетной записи и получить идентификаторы экземпляра. Я могу сгенерировать токены sts
, но я не получаю идентификаторы экземпляров в ответе. Просто HTTP 200
код состояния. Ниже мой код и ответ.
CODE:
import boto3
import nwmaws
client = boto3.client('ec2')
accounts = nwmaws.Accounts().list()
def get_sts_token(**kwargs):
role_arn = kwargs['RoleArn']
region_name = kwargs['RegionName']
sts = boto3.client(
'sts',
region_name=region_name,
)
token = sts.assume_role(
RoleArn=role_arn,
RoleSessionName='GetInstances',
DurationSeconds=900,
)
return token["Credentials"]
def get_all_instances():
for i in accounts:
account_list = i.account_id
role_arn = "arn:aws:iam::{}:role/ADFS-
GlobalAdmins".format(account_list)
get_sts_token(RoleArn=role_arn, RegionName="us-east-1")
response = client.describe_instances()
print(response)
get_all_instances()
RESPONSE:
{'Reservations': [], 'ResponseMetadata': {'RequestId': '5c1e8326-5a36-
4866-9cfd-bd83bff62d05', 'HTTPStatusCode': 200, 'HTTPHeaders':
{'content-type': 'text/xml;charset=UTF-8', 'transfer-encoding':
'chunked', 'vary': 'Accept-Encoding', 'date': 'Sun, 13 May 2018
21:23:25 GMT', 'server': 'AmazonEC2'}, 'RetryAttempts': 0}}
{'Reservations': [], 'ResponseMetadata': {'RequestId': '1e165d98-0b5c-
4172-8917-bf688afbad7c', 'HTTPStatusCode': 200, 'HTTPHeaders':
{'content-type': 'text/xml;charset=UTF-8', 'content-length': '230',
'date': 'Sun, 13 May 2018 21:23:25 GMT', 'server': 'AmazonEC2'},
'RetryAttempts': 0}}
{'Reservations': [], 'ResponseMetadata': {'RequestId': 'e18526d5-c7e9-
465f-a1fd-87e1d652e95c', 'HTTPStatusCode': 200, 'HTTPHeaders':
{'content-type': 'text/xml;charset=UTF-8', 'transfer-encoding':
'chunked', 'vary': 'Accept-Encoding', 'date': 'Sun, 13 May 2018
21:23:25 GMT', 'server': 'AmazonEC2'}, 'RetryAttempts': 0}} etc. etc...
DESIRED RESPONSE:
i-xxxxxx
i-xxxxxx
i-xxxxxx
i-xxxxxx
i-xxxxxx
etc etc