如何使用boto检查AWS中的root帐户是否启用了MFA?

时间:2015-03-30 06:20:59

标签: python api amazon-web-services boto

我正在处理受信任的顾问,需要检查是否还为根级别启用了MFA? 它位于Trusted advisor Dashboard的Security部分。 我使用Boto在Python中工作。

2 个答案:

答案 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