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。

相关推荐
Elastic 中国社区官方博客1 天前
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
大数据·人工智能·elasticsearch·搜索引擎·云计算·全文检索·aws
AWS官方合作商2 天前
Amazon Augmented AI:人类智慧与AI协作,破解机器学习审核难题
人工智能·机器学习·aws
亚林瓜子2 天前
AWS 成本异常检测IAM策略
云计算·aws·iam·cost
王道长服务器 | AWS2 天前
CloudFront 加速详解:AWS CDN 怎么用?
服务器·云计算·aws
在云上(oncloudai)2 天前
AWS DocumentDB vs MongoDB:数据库的技术抉择
数据库·mongodb·aws
亚林瓜子2 天前
Python Flask中启用AWS Secrets Manager+AWS Parameter Store配置中心
python·flask·ssm·web·aws·config·secret
王道长服务器 | AWS3 天前
AWS VPC 网络详解:理解云上专属内网的关键要素
网络·云计算·aws
王道长服务器 | AWS3 天前
EC2 实例详解:AWS 的云服务器怎么玩?☁️
服务器·云计算·aws
AWS官方合作商3 天前
AWS App Mesh实战:构建可观测、安全的微服务通信解决方案
微服务·云原生·架构·aws
程序员Bears4 天前
云部署实战:基于AWS EC2/Aliyun ECS与GitHub Actions的CI/CD全流程指南
ci/cd·github·aws