我正在处理受信任的顾问,需要检查是否还为根级别启用了MFA? 它位于Trusted advisor Dashboard的Security部分。 我使用Boto在Python中工作。
答案 0 :(得分:7)
您可以在IAM中使用GetAccountSummary
API调用,该调用可用作get_account_summary
中的boto.iam.IAMConnection
方法调用。
import boto.iam
conn = boto.iam.connect_to_region('us-east-1')
summary = conn.get_account_summary()
这将返回一个Python字典,其中包含有关您帐户的大量信息。具体来说,要确定是否启用了MFA;
if summary['AccountMFAEnabled']:
# MFA is enabled
else:
# MFA is not enabled
答案 1 :(得分:1)
此答案更新为boto3,并假定您在〜/ .aws / config或〜/ .aws / credentials文件中仅配置了一个帐户:
import boto3
client = boto3.client('iam')
if client.get_account_summary()['SummaryMap']['AccountMFAEnabled']:
root_has_mfa = True
else:
root_has_mfa = False
如果您希望使用get_account_summary返回的字典,也可以这样做:
import boto3
client = boto3.client('iam')
summary = client.get_account_summary()['SummaryMap']
if summary['AccountMFAEnabled']:
root_has_mfa = True
else:
root_has_mfa = False