【发布时间】:2018-09-18 07:19:55
【问题描述】:
我正在使用受信任的顾问,并且需要检查是否也为根级别启用了 MFA? 它位于可信顾问仪表板的安全部分。 我正在使用 Boto 在 Python 中工作。
【问题讨论】:
标签: python api amazon-web-services boto
我正在使用受信任的顾问,并且需要检查是否也为根级别启用了 MFA? 它位于可信顾问仪表板的安全部分。 我正在使用 Boto 在 Python 中工作。
【问题讨论】:
标签: python api amazon-web-services boto
您将在 IAM 中使用 GetAccountSummary API 调用,该 API 可用作 boto.iam.IAMConnection 中的 get_account_summary 方法调用。
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
【讨论】:
此答案更新到 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
【讨论】: