gpt4 book ai didi

python - 如何在不尝试任何身份验证的情况下获取 boto3 STS 客户端?

转载 作者:行者123 更新时间:2023-12-01 09:21:52 25 4
gpt4 key购买 nike

我使用此代码通过 SAML 身份验证承担 Amazon Web Services 角色:

client = boto3.client('sts', region_name = region)
token = client.assume_role_with_saml(role, principal, saml)

据记录hereassume_role_with_saml 调用不需要使用 AWS 安全凭证;所有身份验证信息都包含在调用本身的参数中。尽管如此,如果我设置了与身份验证相关的 AWS_ 环境变量,对 boto3.client() 的调用会立即尝试使用它们进行身份验证。通常,我设置了 AWS_PROFILE,而我运行此代码的原因是因为指定配置文件的安全 token 已过期,因此调用失败,我必须取消设置 AWS_PROFILE > 然后再试一次。

我当然可以在调用 boto3.client() 之前手动通过 os.environ 查找并删除相关变量,但我想知道是否有有没有更简洁的方式来表达“嘿,Boto,只需给我一个 STS 客户端对象,而不尝试验证任何内容,好吗?”

最佳答案

来自this response on GitHub ,以下是如何设置客户端,使其不会尝试使用 IAM 凭证签署传出请求:

import boto3                      
from botocore import UNSIGNED
from botocore.config import Config

client = boto3.client('sts', region_name=region, config=Config(signature_version=UNSIGNED))

关于python - 如何在不尝试任何身份验证的情况下获取 boto3 STS 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50750304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com