gpt4 book ai didi

amazon-web-services - 我可以用 .aws/credentials 中的 IAM 角色替换 aws key 以使用 boto3 吗?

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

我尝试将角色用作:

~/.aws/credentials
[default]
role_arn=arn:aws:iam::xxxxxxx:role/yyyy

但我得到错误:
Partial credentials found in assume-role, missing: source_profile or credential_source

所以似乎 IAM 角色无法取代
[default]
aws_access_key_id = AAAAAAAAAAAAAAAAAAAAAAAA
aws_secret_access_key = BBBBBBBBBBBBBBBBBBBBBBBBBBB

因为根据 http://boto3.readthedocs.io/en/latest/guide/configuration.html
# In ~/.aws/credentials:
[development]
aws_access_key_id=foo
aws_access_key_id=bar

# In ~/.aws/config
[profile crossaccount]
role_arn=arn:aws:iam:...
source_profile=development

我仍然必须使用 key ,这可能是一个安全风险,即使没有在代码中使用

有没有办法在不使用 aws API 凭据的情况下使用具有管理员权限的 boto3?

所以基本上:
  • 将“admin”角色关联到 ec2 实例,您将使用它来运行 boto3 脚本
  • 确保它看起来不错。 $curl http://169.254.169.254/latest/meta-data/iam/security-credentials/

  • test boto3 script



    #!/usr/bin/env python
    import boto3

    ec2_client = boto3.client('ec2')

    def main():
    vpcs = ec2_client.describe_vpcs()
    for vpc_info in vpcs['Vpcs']:
    print(vpc_info['VpcId'])

    if name == "main":
    main()

  • 我在 github 上遇到了一个解决这个问题的应用程序:

    https://github.com/AdRoll/hologram

    最佳答案

    如果您有一个附加到 EC2 实例的角色,您可以使用:

    ~/.aws/config

    [default]
    credential_source=Ec2InstanceMetadata

    https://docs.aws.amazon.com/cli/latest/topic/config-vars.html

    credential_source - 用于获取初始假定角色调用的凭据的凭据提供程序。此参数不能与 source_profile 一起提供。有效值为:
    Environment 从环境变量中提取源凭据。
    Ec2InstanceMetadata 使用 EC2 实例角色作为源凭证。
    EcsContainer 使用 ECS 容器凭据作为源凭据。

    关于amazon-web-services - 我可以用 .aws/credentials 中的 IAM 角色替换 aws key 以使用 boto3 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50381691/

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