2015-01-27 73 views
1

AWS具有一项称为跨账户访问的功能,您可以在其中创建IAM角色,并在其中设置您为策略提供信任的实体。然后该实体可以将对该角色的访问权委托给自己的实体。 AWS通常建议使用代表客户访问AWS账户的第三方服务。为什么AWS的交叉账户访问更安全?

这样可以避免必须在第三方来源保存客户的访问密钥凭证,但第三方来源可能会被盗用并使用跨账户角色。也可以为用例创建特定的IAM用户,为其分配适当的策略,并为其分配访问密钥。

看起来风险是一样的。我知道交叉账户将使用STS并生成临时凭证,但如果第三方受到威胁,这并不会使事情变得更安全。信任实体必须禁用角色或禁用API密钥。

+0

您是否想了解这两个选项之间的区别以及哪个更安全(以及为什么)?或者你是否试图将这些跨账户访问方法与其他方法进行比较(即:发放根凭证)? – Krease 2015-01-27 01:15:41

+0

我想了解两者在安全性和原因方面的差异。一个是具有某些权限的IAM第三方跨账户角色,另一个将是具有相同权限的IAM用户,并且您将凭据提供给该用户。 – edaniels 2015-01-27 01:17:46

回答

2

差异的一个基本类比是向他人递交访问徽章(任何人都可以使用),并向他人递交需要该人员指纹才能成功使用的访问徽章。

使用的IAM用户控制第三方接入涉及移交的关键/秘密密钥 - 这是简单的“访问徽章”

使用AssumeRole控制第三方接入使用相同的信息以及安全令牌。为承担角色,您的AWS账户必须由角色信任。在创建角色时,信任关系在角色的信任策略中定义。这是“带指纹验证的通行证”。

(此外,为了提高安全性,为AssumeRole键/秘密密钥可以是特定的时间段后到期的临时凭证。)

AWS AssumeRole API Documentation是有用的,良好的基础,开始学习更多。

+0

从信任方的角度来看,它如何更安全?可信实体可能会像访问密钥一样容易受到攻击(不管指纹如何)。我已经阅读并实现了跨账户和访问密钥身份验证,但我还没有能够就一个信任实体为什么希望在第三方场景中使用跨账户的问题做出有用的论证。 – edaniels 2015-01-27 01:55:50

+0

任何人都可以使用IAM密钥 - 它们只是一个密钥对。我可以拿走它们并在以后使用它们,而且我将无法与他们所信任的一方区分开来。要使用AssumeRole,必须首先将其认证为可信实体,对于临时凭证,请在尚未过期时使用它们。这些额外的安全功能使它更安全。没有安全是完美的(当然,账户可能会受到损害,特别是如果用户不小心使用账户密钥的话)。 – Krease 2015-01-27 06:04:49

相关问题