【问题标题】:Why is cross-account access for AWS safer?为什么 AWS 的跨账户访问更安全?
【发布时间】:2015-01-27 01:09:38
【问题描述】:

AWS 有一项称为跨账户访问的功能,您可以在其中创建 IAM 角色,在其中设置您提供策略的受信任实体。然后,该实体可以将该角色的访问权限委托给它自己的实体。对于代表其客户访问 AWS 账户的第三方服务,AWS 通常会建议这样做。

这避免了将客户的访问密钥凭据保存在第三方来源,但第三方来源可能会受到损害并使用跨账户角色。还可以为用例创建特定的 IAM 用户,为其分配适当的策略,并为其分发访问密钥。

看起来风险是一样的。我知道跨帐户将使用 STS 并生成临时凭据,但这并不能真正使第三者受到威胁时更安全。信任实体必须禁用角色或禁用 api 密钥。

【问题讨论】:

  • 您是否想了解这两个选项之间的区别以及哪个更安全(以及为什么)?或者您是否尝试将这些跨账户访问方法与其他方法(即:分发根凭据)进行比较?
  • 我试图了解两者在安全性方面的区别以及原因。一种是具有某些权限的 IAM 第 3 方跨账户角色,第二种是具有相同权限的 IAM 用户,您为此提供凭证。

标签: amazon-web-services amazon-ec2


【解决方案1】:

一个基本的区别是给某人一个访问徽章(任何人都可以使用)与给某人一个需要该人的指纹才能成功使用的访问徽章。

使用 IAM 用户控制第 3 方访问涉及移交密钥/secretKey - 这是简单的“访问徽章”

使用 AssumeRole 控制第 3 方访问使用相同的信息和安全令牌。要担任角色,您的 AWS 账户必须受该角色的信任。信任关系是在创建角色时在角色的信任策略中定义的。这是“带指纹验证的访问徽章”。

(另外,为了增加安全性,AssumeRole 的密钥/密钥可以是在特定时间段后过期的临时凭证。)

AWS AssumeRole API Documentation 很有用,是开始了解更多信息的良好基础。

【讨论】:

  • 从信任方的角度来看,这如何使其更安全?受信任的实体可以像访问密钥一样容易受到损害(无论指纹如何)。我已经阅读并实现了跨账户和访问密钥身份验证,但我无法就信任实体为什么要在第 3 方场景中使用跨账户提出有用的论据。
  • 任何人都可以使用 IAM 密钥 - 它们只是一个密钥对。我可以拿走它们并在以后使用它们,而且我与他们被信任的一方没有什么区别。要使用 AssumeRole,您必须首先作为受信任实体进行身份验证,如果是临时凭证,请在它们尚未过期时使用它们。这些额外的安全功能使其更加安全。没有完美的安全措施(当然,帐户可能会受到损害,尤其是在不小心使用帐户密钥的情况下)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-11
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 2020-11-08
  • 2023-03-27
相关资源
最近更新 更多