gpt4 book ai didi

python - 如何在通过 SSO 凭证连接时使用 AWS Python SDK

转载 作者:行者123 更新时间:2023-12-03 14:07:00 25 4
gpt4 key购买 nike

我正在尝试创建一个 python 脚本来连接到我的 AWS 账户并与之交互。我正在这里阅读 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html

我看到它从 ~/.aws/credentials (在 Linux 机器上)读取您的凭据。然而,我并没有与 IAM 用户连接,而是与 SSO 用户连接。因此,我使用的配置文件连接数据位于 ~/.aws/sso/cache 目录。

在该目录中,我看到两个 json 文件。一个有以下键:

  • 起始网址
  • 地区
  • 访问 token
  • 到期在

  • 第二个有以下键:
  • 客户 ID
  • 客户 secret
  • 到期在

  • 我在文档中没有看到关于如何告诉它使用我的 SSO 用户的任何地方。

    因此,当我尝试运行我的脚本时,我收到错误,例如
    botocore.exceptions.ClientError: An error occurred (AuthFailure) when calling the DescribeSecurityGroups operation: AWS was not able to validate the provided access credentials

    即使我可以从命令提示符运行相同的命令。

    最佳答案

    这已在 boto3 1.14 中修复.
    因此,鉴于您在 ~/.aws/config 中有这样的个人资料:

    [profile sso_profile]
    sso_start_url = <sso-url>
    sso_region = <sso-region>
    sso_account_id = <account-id>
    sso_role_name = <role>
    region = <default region>
    output = <default output (json or text)>
    然后登录 $ aws sso login --profile sso_profile您将能够创建一个 session :
    import boto3
    boto3.setup_default_session(profile_name='sso_profile')
    client = boto3.client('<whatever service you want>')

    关于python - 如何在通过 SSO 凭证连接时使用 AWS Python SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62311866/

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