管理多个Docker容器的IAM安全凭证


11

在普通EC2环境中,使用IAM角色和凭证(从实例元数据自动获取)来管理对其他AWS资源的访问非常简单。使用CloudFormation甚至更加容易,您可以在其中为实例分配特定的应用程序角色时动态创建角色。

如果我想迁移到Docker并进行某种M-to-N部署(我有M台机器,并在其上运行N个应用程序),我应该如何限制对每个应用程序AWS资源的访问?主机上的任何人都可以访问实例元数据,因此我将使每个应用程序都能够查看/修改同一部署环境中每个其他应用程序的数据。

向在这种环境中运行的应用程序容器提供安全证书的最佳实践是什么?

Answers:



1

在带有EC2的AWS中使用“角色和安全组”(即使您没有提到它们)应用最小特权都是为托管应用程序提供安全环境的最佳实践,尤其是在使用CloudFormation时。但是,当您在上面放置多租户Docker环境时,事情就开始崩溃了。

在继续应用角色的同时获得最小的特权的同时,现在最好的答案是不使用多租户方法。基本上在EC2实例和应用程序之间使用一对一映射,但是您仍然可以使用群集/ ASG。Docker仍然是一个非常有用且功能强大的工具,可用于管理和部署应用程序,但到目前为止,角色仅适用于EC2实例,而不适用于容器。这意味着现在为每个应用程序使用单独的VM。

如果多租户比角色更重要,那么答案是不要使用角色,而是使用其他方法将AWS凭证分发给您的应用程序。

不幸的是,这些解决方案都不是很理想的,我希望AWS能够在将来解决这个特定的痛点,这主要是由于容器的日益普及。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.