AWS的docker中托管的服务的SAML元数据文件存储位置

时间:2018-12-31 16:21:37

标签: amazon-web-services security saml-2.0

我们在AWS Fargate的docker中托管了一组服务。我们的要求之一是为用户支持SAML2 SSO。因此,身份提供者为开发环境生成了SAML元数据。 SAML库能够从该文件读取所有设置,因此无需手动配置SAML身份验证。由于我们正在docker映像中构建服务,并且希望在多个环境中重用同一映像,因此SAML元数据不能包含在映像中。 如何安全地将该文件存储在AWS中,以及如何轻松地根据需求或身份提供商的请求更改文件?

我在这里看到了几个选项,但是没有一个是最佳选择:

  1. 将SAML元数据存储在S3存储桶中,并使用KMS对其进行加密。由于SAML库仅与本地文件系统集成,因此我们需要在向库提供元数据之前添加一些“代理文件”阅读器
  2. 将SAML元数据文件拆分为多个变量(例如EntityId,登录URL,注销URL等),并将其作为加密的变量存储在AWS SSM参数存储中。此解决方案使devop(针对新环境)和Developer(初始库配置)的配置都变得复杂。而且,将不可能在运行时更改配置方案。

我正在寻找一种解决方案,其中SAML元数据可以安全地存储在AWS中,并且可以轻松地针对新环境(阶段,产品等)进行更改,而无需重建初始代码。

1 个答案:

答案 0 :(得分:1)

似乎您可以使用AWS EFS(弹性文件系统),它可以在多个实例之间共享并支持完整的块级文件系统。

EFS在您的用户案例中的优势:

  • 支持完整的块文件系统,因此无需编写代理文件读取器

  • 静态加密可用

  • EFS被允许由多个主机并发访问共享,因此适用于Fargate

  • 对于产品和开发环境,您可以使用两个不同的EFS卷

有关更多信息,请访问以下链接

Amazon Elastic File System

您提出的问题很有趣,让我知道是否需要进一步讨论,我愿意接受讨论