Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用boto3从主帐户列出子帐户的资源?_Python_Amazon Web Services_Boto3_Aws Organizations - Fatal编程技术网

Python 使用boto3从主帐户列出子帐户的资源?

Python 使用boto3从主帐户列出子帐户的资源?,python,amazon-web-services,boto3,aws-organizations,Python,Amazon Web Services,Boto3,Aws Organizations,我正在使用python和boto3列出我的组织拥有的资源。我列出了主帐户中的资源,没有问题,但我还需要列出子帐户中的资源。我可以得到孩子的账号,但基本上就是这样 有帮助吗?您需要访问属于子帐户的一组凭据 import boto3 role_info = { 'RoleArn': 'arn:aws:iam::<AWS_ACCOUNT_NUMBER>:role/<AWS_ROLE_NAME>', 'RoleSessionName': '<SOME_SE

我正在使用python和boto3列出我的组织拥有的资源。我列出了主帐户中的资源,没有问题,但我还需要列出子帐户中的资源。我可以得到孩子的账号,但基本上就是这样


有帮助吗?

您需要访问属于子帐户的一组凭据

import boto3

role_info = {
    'RoleArn': 'arn:aws:iam::<AWS_ACCOUNT_NUMBER>:role/<AWS_ROLE_NAME>',
    'RoleSessionName': '<SOME_SESSION_NAME>'
}

client = boto3.client('sts')
credentials = client.assume_role(**role_info)

session = boto3.session.Session(
    aws_access_key_id=credentials['Credentials']['AccessKeyId'],
    aws_secret_access_key=credentials['Credentials']['SecretAccessKey'],
    aws_session_token=credentials['Credentials']['SessionToken']
)
发件人:

使用AWS组织控制台创建成员帐户时,AWS组织会自动在帐户中创建IAM角色。此角色在成员帐户中具有完全管理权限。该角色还配置为授予对组织主帐户的访问权限

若要使用此角色访问成员帐户,您必须以具有承担该角色权限的主帐户的用户身份登录

因此,您可以在子帐户中担任IAM角色,然后提供一组临时凭证,可与
bot3
一起使用,以对子帐户进行API调用

import boto3

role_info = {
    'RoleArn': 'arn:aws:iam::<AWS_ACCOUNT_NUMBER>:role/<AWS_ROLE_NAME>',
    'RoleSessionName': '<SOME_SESSION_NAME>'
}

client = boto3.client('sts')
credentials = client.assume_role(**role_info)

session = boto3.session.Session(
    aws_access_key_id=credentials['Credentials']['AccessKeyId'],
    aws_secret_access_key=credentials['Credentials']['SecretAccessKey'],
    aws_session_token=credentials['Credentials']['SessionToken']
)
像这样使用它:

session = boto3.session.Session(profile_name='dev')
s3 = session.client('s3')
见: