Часто в целях аудита нам нужно выяснить, какой учетной записи AWS принадлежит данный ключ доступа IAM. Итак, если у вас есть несколько учетных записей AWS и список ключей доступа IAM, вы можете использовать данный скрипт, чтобы узнать, к какой учетной записи AWS принадлежат эти ключи.
Примечание. Не забудьте предоставить ключи IAM для обеих учетных записей AWS и убедитесь, что у пользователя есть следующие разрешения IAM:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "iam:GetAccessKeyLastUsed", "Resource": "*" } ] }
Сценарий:
import boto3 from botocore.exceptions import ClientError account1_client = boto3.client( 'iam', aws_access_key_id="", aws_secret_access_key="" ) account2_client = boto3.client( 'iam', aws_access_key_id="", aws_secret_access_key="" ) access_keys=[] for access_key in access_keys: try: response = account1_client.get_access_key_last_used(AccessKeyId=access_key) except ClientError as e: try: response = account2_client.get_access_key_last_used(AccessKeyId=access_key) except ClientError as e: print("Access key %s not found in the given AWS accounts." % (access_key)) else: print( "Access_key %s found in account2"% (access_key)) else: print( "Access_key %s found in account1"% (access_key))
Дополнительные материалы на plainenglish.io