在安全性方面,哪个选项更适合处理Jenkins EC2实例,实例配置文件或具有角色的IAM用户的权限?
实例配置文件允许有权访问该框的任何人运行指定的aws cli命令。使用IAM jenkins用户,可以通过锁定实例上的凭据文件来限制谁能够运行aws cli命令。使用实例配置文件有什么好处?
答案 0 :(得分:0)
在您的情况下,我认为这两种方法是可比较的-请考虑当您泄漏IAM jenkins用户访问密钥时会发生什么(请注意,Jenkins经常会进行安全修复):入侵者可以从其PC访问AWS API即使不直接访问您的基础架构。因此,为避免该问题,您可能需要按照以下说明设置适当的策略:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html,但这意味着您需要在此处对实例IP进行硬编码,以防将来遇到问题。
另一方面,实例配置文件更具弹性,但正如您提到的那样,当入侵者可以直接访问计算机时,他可以将请求发送到AWS API。因此,我认为您需要考虑所需的安全级别以及要花多少时间来维护该解决方案。
答案 1 :(得分:0)
IAM角色不能直接附加到Jenkins实例,因此请在其中创建配置文件并引用IAM角色,然后将该配置文件附加到您的实例。 将凭证文件传递到实例不是最佳实践。如果我加入了您的公司并可以访问该密钥,那么即使您离开公司后,我也仍可以访问那些将来可以使用的密钥,前提是您不删除这些密钥,并且在某些情况下,人们通常会因为以下原因而使密钥停滞不前它被多个应用程序使用。