从 Boto 获取 AWS 账户 ID
Get AWS Account ID from Boto
我有一个 AWS_ACCESS_KEY_ID 和一个 AWS_SECRET_KEY。这些是活动凭证,因此它们属于属于 AWS 账户的活动用户。如何使用 Boto3 找到此 AWS 账户的 ID?
感谢 改进我的初始答案。
这将为您的密钥对获取帐户 ID:
import boto3
sts = boto3.client(
"sts", aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY,
)
account_id = sts.get_caller_identity()["Account"]
如果您 运行 在具有 IAM role-based permissions or any of boto3's other credential options 的 EC2 实例上,您可以更轻松地做到这一点:
import boto3
account_id = boto3.client("sts").get_caller_identity()["Account"]
像这样的东西会起作用:
import boto3
ACCESS_KEY = 'FOO'
SECRET_KEY = 'BAR'
iam = boto3.resource('iam',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
)
account_id = iam.CurrentUser().arn.split(':')[4]
print account_id
如果您使用 EC2 IAM 角色,您可以省略所有 access/secret 关键内容,代码变得简单:
iam = boto3.resource('iam')
account_id = iam.CurrentUser().arn.split(':')[4]
可以从 get-caller-identity sts 函数中获取 AccountID。此 returns 一个 "Account" 字段:
client = boto3.client("sts", aws_access_key_id=access_key, aws_secret_access_key=secret_key)
account_id = client.get_caller_identity()["Account"]
我有一个 AWS_ACCESS_KEY_ID 和一个 AWS_SECRET_KEY。这些是活动凭证,因此它们属于属于 AWS 账户的活动用户。如何使用 Boto3 找到此 AWS 账户的 ID?
感谢
这将为您的密钥对获取帐户 ID:
import boto3
sts = boto3.client(
"sts", aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY,
)
account_id = sts.get_caller_identity()["Account"]
如果您 运行 在具有 IAM role-based permissions or any of boto3's other credential options 的 EC2 实例上,您可以更轻松地做到这一点:
import boto3
account_id = boto3.client("sts").get_caller_identity()["Account"]
像这样的东西会起作用:
import boto3
ACCESS_KEY = 'FOO'
SECRET_KEY = 'BAR'
iam = boto3.resource('iam',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
)
account_id = iam.CurrentUser().arn.split(':')[4]
print account_id
如果您使用 EC2 IAM 角色,您可以省略所有 access/secret 关键内容,代码变得简单:
iam = boto3.resource('iam')
account_id = iam.CurrentUser().arn.split(':')[4]
可以从 get-caller-identity sts 函数中获取 AccountID。此 returns 一个 "Account" 字段:
client = boto3.client("sts", aws_access_key_id=access_key, aws_secret_access_key=secret_key)
account_id = client.get_caller_identity()["Account"]