【问题标题】:Encrypt secret manager value using kms cloud formation使用 kms 云形成加密秘密管理器值
【发布时间】:2021-11-04 16:39:20
【问题描述】:

我如何在 aws kms 中加密秘密管理器值,以便没有人可以看到纯文本值。它基本上应该在 lambda 中使用 kms 解密。这在 AWS 中是否可行?

我可以看到我们可以使用 kms 来加密和解密 kms 值,但这是在休息时发生的。

【问题讨论】:

  • 您在使用 cloudformation 之前对其进行加密。
  • 但是 CloudFormation 是创建资源的那个。如何加密并保存为环境变量的加密值。

标签: amazon-web-services aws-secrets-manager amazon-kms


【解决方案1】:

如果您想使用 lambda 以动态方式访问或存储云中的数据,您可能需要使用 lambda 支持的自定义资源。在此处阅读更多信息:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources-lambda.html

基本上,您可以将数据传递给 lambda 函数(可以根据已创建资源的输出动态)和/或获取它通过其输出创建的动态数据。

但是,秘密管理器旨在让授权用户/实体(例如 EC2 实例)查看明文密码。考虑改为设置允许使用哪些用户/实体。有关秘密管理器访问控制的更多详细信息,请参见此处:https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_determining-access.html

【讨论】:

    【解决方案2】:

    要加密给定的明文机密以包含在 CloudFormation 模板中,您可以使用 custom secret provider。它将解密秘密并将其存储在SSM参数存储中,如下所示:

    Resources:
    ApiKey:
      Type: Custom::Secret
      Properties:
        Name: /datadog/api-key
        EncryptedContent: >-
          AQICAHgefwksukJYA7L2AkPMZLGjZsGxHbvY9AoVs55dcju1AwEZui/8lNbnGAhv63Wh0heUAAAA3zCB
          3AYJKoZIhvcNAQcGoIHOMIHLAgEAMIHFBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDOXKKVZ4ft75
          /oZ2TQIBEICBlzf5j1M3w6OH+iphx59kFLnNoKb+u1RCLfIqEitrt6VGu13/jDlnDcPE2DfkZFkW3fnm
          Nn5OXfgt1L9j4XYdIQTEwexorNqUr5pUtMfS9YX8yL9DbArH+XBv/OQPSj8VsuWRcwFP5EwZKB9O4X3l
          1pZlPafp2Y/ndWXgC1o6YgfplnmjufoUUTy8wi4P5glbwnqGP/iyc7g=
        ReturnSecret: true
        RefreshOnUpdate: true
        ServiceToken: !Sub 'arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:binxio-cfn-secret-provider'
    

    该值以加密方式存储,但可以从参数存储中以明文形式提供给那些有权读取它的人。通过指定ReturnSecret,您可以访问 CloudFormation 模板本身中的明文密钥。

    如果是静态机密,将机密存储在参数存储中会更便宜。

    欲了解更多信息,请查看https://binx.io/blog/2018/10/21/encrypting-secrets-in-aws-cloudformation/

    【讨论】:

      猜你喜欢
      • 2020-11-13
      • 2020-04-22
      • 2021-01-05
      • 2022-08-16
      • 2021-10-07
      • 2022-11-22
      • 1970-01-01
      • 2022-08-18
      • 2021-01-19
      相关资源
      最近更新 更多