代码之家  ›  专栏  ›  技术社区  ›  injoy

如何在单个EC2实例上管理多个IAM用户?

  •  0
  • injoy  · 技术社区  · 7 年前

    对于不同的AWS服务,我需要不同的IAM用户来保护访问控制。有时,我甚至需要在EC2实例的单个项目中使用不同的IAM用户凭证。管理这一点的正确方法是什么?如何将这些IAM用户凭据部署/附加到单个EC2实例?

    2 回复  |  直到 7 年前
        1
  •  1
  •   John Rotenstein    7 年前

    但是,这只适用于一组凭证。如果你想用 凭证文件

    [default]
    aws_access_key_id = AKIAaaaaa
    aws_secret_access_key = abcdefg
    
    [user2]
    aws_access_key_id = AKIAbbbb
    aws_secret_access_key = xyzzzy
    

    $ aws configure --profile user2
    AWS Access Key ID [None]: AKIAbbbb
    AWS Secret Access Key [None]: xyzzy
    Default region name [None]: us-east-1
    Default output format [None]: text
    

    可通过环境变量设置要使用的配置文件:

    • export AWS_PROFILE="user2"
    • set AWS_PROFILE="user2"

    Credentials — Boto 3 documentation

    session = boto3.Session(profile_name='user2')
    # Any clients created from this session will use credentials
    # from the [user2] section of ~/.aws/credentials.
    dev_s3_client = session.client('s3')
    

        2
  •  2
  •   toske    7 年前

    虽然我完全同意公认的答案,即使用静态凭据是解决此问题的一种方法,但我想建议对其进行一些改进(并建议使用机密管理器)。

    • 在AWS端为您管理凭证
    • 只有ecs服务可以承担此iam角色,这意味着您不能让实际的人窃取凭据,也不能让开发人员使用此凭据从本地计算机连接到生产环境。

    AWS Official Documentation for Task Roles