【问题标题】:Best practice AWS access key and secret for applications应用程序的最佳 AWS 访问密钥和秘密
【发布时间】:2023-01-02 00:30:51
【问题描述】:

设置 AWS 应用程序时使用 AWS 和秘密访问密钥的最佳做法是什么?

要获取访问密钥和访问机密,请创建一个 IAM 帐户,但 IAM 帐户与用户相关联,而不是与应用程序相关联。如果 IAM 用户是针对实际用户而非应用程序,那么获取特定于应用程序(或不同的应用程序环境、生产、暂存等)的访问密钥和访问秘密的最佳方式是什么?

【问题讨论】:

    标签: amazon-web-services identity-management


    【解决方案1】:

    您不会将 IAM 用户分配给应用程序,通常您使用 IAM 角色。

    要了解差异,让我们通过 IAM 基础知识

    IAM 控制:谁(身份验证)可以做什么(授权)在您的 AWS 账户中. IAM 的身份验证(谁)是通过用户/组和角色完成的,而授权(什么)是通过策略完成的。

    这里的术语

    • 用户 - 最终用户为人着想

    • 组-一组权限(策略)下的一组用户

    • 角色 - 用于在一段时间内向特定参与者授予特定权限。这些演员可以由 AWS 或某些受信任的外部系统进行身份验证。

    用户和角色使用策略进行授权。请记住,在您通过策略允许某些操作之前,用户和角色无法执行任何操作。

    回答以下问题,您将区分用户和角色:

    • 可以有密码吗?是->用户,否->角色
    • 可以有访问密钥吗?是->用户,否->角色
    • 可以属于一个组吗?是-> 用户,否-> 角色
    • 可以关联AWS资源(例如EC2实例)吗?否->用户,是->角色

    AWS 针对不同场景支持 3 种角色类型

    • AWS 服务角色(例如:EC2、Lambda、Redshift 等)
    • 跨账户访问:从其他 AWS 账户向用户授予权限,无论您是否控制这些账户。
    • 身份提供者访问:向通过可信外部系统验证的用户授予权限。 AWS 支持两种身份联合: - 基于 Web 的身份,例如 Facebook、Goolge- IAM 支持通过 OpenID Connect 进行整合 - SAML 2.0 身份,例如 Active Directory、LDAP。

    要了解角色是什么,您需要阅读它的用例,我不想重新发明轮子,所以请阅读以下 AWS 文档: https://aws.amazon.com/blogs/security/how-to-use-a-single-iam-user-to-easily-access-all-your-accounts-by-using-the-aws-cli/

    https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html

    希望能帮助到你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 2021-12-25
      • 2018-05-31
      • 2015-05-14
      • 2020-11-28
      • 1970-01-01
      • 2022-08-09
      相关资源
      最近更新 更多