AWS IAM User assume IAM Role的示例代码

python 复制代码
import boto3

ACCESS_KEY_ID="xxxxxxxxxxxxx"
aws_secret_access_key = "xxxxxxxxxxxxx"

role_arn = 'arn:aws:iam::911111111111:role/xxxx-role'

session = boto3.Session(aws_access_key_id=ACCESS_KEY_ID,
                            aws_secret_access_key=SECRET_ACCESS_KEY,
                            region_name="us-east-1")

sts_client = session.client("sts")
#获取 IAM 用户的 temporary credentials
credentials = sts_client.assume_role(RoleArn=role_arn, RoleSessionName="a-session")

#使用 temporary credentials 创建一个 S3 client
s3_client = boto3.client("s3",
                         aws_access_key_id=credentials['Credentials']["AccessKeyId"],
                         aws_secret_access_key=credentials['Credentials']            ["SecretAccessKey"],
                        aws_session_token=credentials['Credentials']["SessionToken"])
s3_client.upload_file("filefullpath", "bucket-name-not-arn", "object_key")

一段示例代码,如何用Python boto3先使用某个IAM User的AK SK登陆sts。

然后继承某个IAM Role。

最后执行某个具体操作,比如代码中的 上传文件到S3 bucket。

相关推荐
ComPDFKit1 小时前
在 AWS EC2 上部署 ComPDF:构建可扩展的文档处理服务
云计算·aws·办公提效
IT 行者1 小时前
每天了解几个MCP SERVER:AWS KB Retrieval
云计算·aws
青藤云安全1 小时前
主机安全最佳实践|青藤万相 × AWS 护航汽车服务平台出海破局
安全·汽车·aws
Lim小刘1 小时前
【保姆级教程】在 AWS Lightsail 上快速部署 OpenClaw:开启您的个人 AI 助手
人工智能·云计算·aws
亚林瓜子2 小时前
AWS EB中通过代码方式给EC2添加环境变量
aws·环境变量·ec2·eb·中国云
cnnews2 小时前
在AWS Lambda上部署 tokenizers
python·云计算·numpy·aws·lambda·onnxruntime·tokenizers
monkey222 小时前
AWS EC2 Ubuntu 根目录扩大空间
云计算·aws·ec2
Elastic 中国社区官方博客14 天前
Elastic 公共 roadmap 在此
大数据·elasticsearch·ai·云原生·serverless·全文检索·aws
TG_yunshuguoji14 天前
亚马逊云代理商:AWS 国际站缺卡新用户创建邮箱怎么选择?
安全·云计算·aws
TG_yunshuguoji14 天前
亚马逊云代理商:如何监控AWS RDS使用率并设置报警?
运维·云计算·aws