应用程序的最佳实践AWS访问密钥和秘密



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

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

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

为了理解它们的区别,让我们先来了解一下IAM的基本知识

IAM控制:谁(认证)可以做什么(授权)在您的AWS帐户.通过IAM对用户/组和角色进行身份验证(谁),而通过策略进行授权(什么)。

这里的术语

  • 用户-最终用户考虑人

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

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

用户和角色使用策略进行授权。请记住,用户和角色不能做任何事情,直到您允许使用策略的某些操作。

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

  • 可以有密码吗?是的→用户,没有比;
  • 可以有访问密钥吗?是的→用户,没有比;
  • 可以属于组吗?是的→用户,No ->
  • 是否可以与AWS资源关联(例如EC2实例)?没有比;用户,是的→角色

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

  • AWS服务角色(例如:EC2, Lambda, Redshift,…)
  • 跨账户访问:向来自其他AWS账户的用户授予权限,无论您是否控制这些账户。
  • Identity Provider Access:向经过可信外部系统认证的用户授予权限。AWS支持两种身份联合:-基于web的身份,如Facebook, google - IAM支持通过OpenID Connect生成- SAML 2.0身份,如Active Directory、LDAP.

要理解role是什么,你需要阅读它的用例,我不想重新发明轮子,所以请阅读以下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

希望有帮助。

最新更新