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。

相关推荐
亚林瓜子3 天前
AWS EC2源代码安装valkey命令行客户端
redis·云计算·aws·cli·valkey
大G哥3 天前
实战演练:用 AWS Lambda 和 API Gateway 构建你的第一个 Serverless API
云原生·serverless·云计算·gateway·aws
weixin_307779133 天前
使用FastAPI微服务在AWS EKS中构建上下文增强型AI问答系统
人工智能·python·云计算·fastapi·aws
weixin_307779135 天前
使用FastAPI和Apache Flink构建跨环境数据管道
redis·python·云计算·fastapi·aws
AWS官方合作商5 天前
AWS SNS:解锁高并发消息通知与系统集成的云端利器
服务器·云计算·aws
AWS官方合作商5 天前
如何用AWS Lambda构建无服务器解决方案:实战经验与场景解析
serverless·云计算·aws
qq_390369535 天前
AWS之存储服务
云计算·aws
云攀登者-望正茂6 天前
掌握流量管理:利用 EKS Ingress 和 AWS 负载均衡器控制器
云计算·负载均衡·aws
qq_390369536 天前
AWS之数据分析类产品
大数据·数据分析·aws
TUTO_TUTO7 天前
【AWS+Wordpress】将本地 WordPress 网站部署到AWS
笔记·学习·云计算·aws