在BOTO3中,您可以使用AWS SDK for Python(BOTO3)中提供的“AssumeRole”API来假定跨不同帐户的IAM角色。您需要两个参数:角色ARN和角色会话名称。角色会话名称是随机生成的名称,用于标识会话。以下是一个示例代码片段,演示如何使用“assume_role”功能来假定角色:
import boto3
sts_client = boto3.client('sts')
assume_role_object = sts_client.assume_role(RoleArn='arn:aws:iam::111111111111:role/MyRole', RoleSessionName='MySession')
session = boto3.Session(
aws_access_key_id=assume_role_object['Credentials']['AccessKeyId'],
aws_secret_access_key=assume_role_object['Credentials']['SecretAccessKey'],
aws_session_token=assume_role_object['Credentials']['SessionToken'])
在这个示例中,您需要更改“RoleArn”参数以包括您要假定的角色ARN。也要更改“aws_access_key_id”和“aws_secret_access_key”参数以包含您的AWS帐户凭据。一旦假定角色成功,会话将包括临时凭据,这些凭据可用于执行需要假定角色的操作。