![](/img/trans.png)
[英]do you have to pass SSO profile credentials in order to assume the IAM role using boto3
[英]assuming IAM role multiple times using boto3 in python
我是使用 aws 的新手,我不确定我的措辞是否正确,但基本上,我需要在一个帐户中进行 sso -> 在帐户 A 中扮演一个角色 -> 然后在帐户 B 中扮演一个角色。我我正在关注这篇文章 ( https://medium.com/geekculture/programming-aws-iam-using-aws-python-sdk-boto3-part-4-62f2f1c21584 ) 关于如何承担这个角色。 当我在账户A中担任第一个角色后,我得到了“iam_client”(来自文章),然后我不知道如何从账户B中担任第二个角色。
import boto3
从 botocore.exceptions 导入 ClientError
def lambda_handler(事件,上下文):
sts_client = boto3.client('sts')
try:
response = sts_client.assume_role(
RoleArn='arn:aws:iam::<TRUSTING_ACCOUNT_ID>:role/<ROLE_NAME_IN_TRUSTING_ACCOUNT>',
RoleSessionName='assume_role_session'
)
except ClientError as error:
print('Unexpected error occurred... could not assume role', error)
return error
try:
iam_client = boto3.client('iam',
aws_access_key_id=response['Credentials']['AccessKeyId'],
aws_secret_access_key=response['Credentials']['SecretAccessKey'],
aws_session_token=response['Credentials']['SessionToken']
)
except ClientError as error:
print('Unexpected error occurred... could not create iam client on trusting account', error)
return error
编辑:我的 aws 帐户设置方式使我无法在 sso 登录后立即承担帐户 B 中的角色。 信任关系的设置方式仅允许账户 A 中的角色代入该关系。
查看包含此用例的AWS 官方代码库。 在查找 AWS 代码示例时,请查看此新 AWS 文档。
如您所见,代码库以不同的受支持编程语言显示了此用例。 题目在这里:
使用 AWS SDK 创建 IAM 用户并担任 AWS STS 的角色
您可以按照 Python 示例代入角色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.