我正在用boto3编写一个python程序,它获取主帐户所做的所有查询,并将它们推送到主帐户的所有子帐户。在
从主实例获取查询id已经完成,但是我无法将它们推送到子帐户。根据我的身份验证信息,AWS默认情况下连接到主帐户,但是我不知道如何让它连接到子帐户。通常,AWS服务通过切换角色来实现这一点,但Athena没有内置的方法来实现这一点。我可以手动创建不同的配置文件,但我不确定如何在代码执行过程中手动切换它们
下面是Amazon在STS中切换的代码示例,它确实支持承担不同的角色https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html
以下是我目前为止的计划
#!/usr/bin/env python3
import boto3
dev = boto3.session.Session(profile_name='dev')
#Function for executing athena queries
client = dev.client('athena')
s3_input = 's3://dev/test/'
s3_output = 's3://dev/testOutput'
database = 'ex_athena_db'
table = 'test_data'
response = client.list_named_queries(
MaxResults=50,
WorkGroup='primary'
)
print response
所以我有“dev”配置文件,但是我不确定如何区分这个概要文件,以向AWS表明我想访问其中一个子帐户。只是名字,还是我需要其他参数?我不认为我可以(或需要)为此生成单独的身份验证令牌
我通过用一个新的ARN为子帐户创建一个新的用户配置文件来解决这个问题
示例配置
示例代码
^{pr2}$相关问题 更多 >
编程相关推荐