为什么要单独存储 ECS 任务定义机密

Why store ECS task definition secrets separately

我正在为 ECS 任务设置任务定义。任务中容器上的一个环境变量是一组凭据,它们当前作为 SecureString 存储在 Parameter Store 中。我想知道不直接将其作为环境变量存储在任务容器中的理由是什么?

将其存储在 Parameter Store 中唯一增加的安全性似乎是可以将 AWS 用户和资源分段,使其无法直接访问它,但还有其他原因吗?

您可以使用参数存储来避免像 GIT 那样将凭据放入版本控制中,其他人可以读取这些凭据。 虽然不确定您打算如何将变量存储在任务的容器中。也许你可以澄清一下。

Parameter Store and/or Secrets Manager 将作为所有需要访问您的秘密值的服务的唯一真实来源。当这些秘密值发生变化时,它会为您提供一个需要更新的位置。它使用 KMS 加密安全地存储值,并通过 IAM 提供对您个人秘密值的访问控制。

如果您将机密直接嵌入到 ECS 任务定义中,则上述 none 为真。