在目标账户创建外部ID并绑定到角色,使用该外部ID作为STS调用中的参数。
以下是一个示例Python代码,用于在目标账户创建外部ID和角色绑定:
import boto3
aws_account_id = '目标账户ID'
source_account_id = '源账户ID'
role_name = '目标账户中的角色名'
external_id = '随机生成的外部ID'
sts = boto3.client('sts')
response = sts.assume_role(
RoleArn=f"arn:aws:iam::{aws_account_id}:role/{role_name}",
RoleSessionName=f"{source_account_id}",
ExternalId=external_id
)
print(response['Credentials'])
在使用以上的代码后,您可以在您的STS调用中使用ExternalId参数。例如:
import boto3
aws_account_id = '目标账户ID'
role_name = '目标账户中的角色名'
external_id = '已经创建的外部ID'
sts = boto3.client('sts')
response = sts.assume_role(
RoleArn=f"arn:aws:iam::{aws_account_id}:role/{role_name}",
RoleSessionName="您的会话名",
ExternalId=external_id
)
print(response['Credentials'])