【问题标题】:Fargate container_definition field "secretOptions" not passsing datadog API_KEY to logConfigurationFargate container_definition 字段“secretOptions”未将 datadog API_KEY 传递给 logConfiguration
【发布时间】:2021-04-11 15:07:15
【问题描述】:

我正在尝试将我的 ECS Fargate 日志发送到 Datadog。为此,我需要将我的 Datadog API_KEY 作为 logConfiguration 对象中的字段传递。我需要保护我的 API_KEY,因此我通过 secretOptions 对象的 secretOptions 密钥使用 AWS Secrets Manager。

我正在按照 AWS here 中的步骤进行操作。 Datadog 网站的完整步骤可以在here

找到

由于某种原因,我没有在 datadog 中看到日志。这是aws_ecs_task_definition资源的container_definitions对象下我的Terraform代码的日志配置部分:

"logConfiguration": {
    "logDriver": "awsfirelens",
    "options": {
        "Name": "datadog",
        "Host": "http-intake.logs.datadoghq.com",
        "dd_service": "myservice",
        "dd_source": "mysource",
        "dd_message_key": "log",
        "dd_tags": "env:dev",
        "TLS": "on",
        "provider": "ecs"
    },
    "secretOptions": [{
        "name": "apikey",
        "valueFrom": "arn:aws:secretsmanager:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:secret:mysecret"
                }]
}

如果我取出secretOptions 并以明文形式添加 apikey,则日志会显示在 datadog 控制台上:

"logConfiguration": {
   "logDriver": "awsfirelens",
   "options": {
       "Name": "datadog",
       "Host": "http-intake.logs.datadoghq.com",
       "dd_service": "myservice",
       "dd_source": "mysource",
       "dd_message_key": "log",
       "dd_tags": "env:dev",
       "TLS": "on",
       "provider": "ecs",
       "apikey": "myapikey"
   }
}

我当然不能只以纯文本形式发送我的 API_KEY。 secretOptions 是否不适用于 Datadog?任何帮助表示赞赏。

【问题讨论】:

    标签: terraform aws-fargate datadog aws-secrets-manager firelens


    【解决方案1】:

    至少文档建议它:“使用 TaskDefinition 密钥来避免以纯文本形式公开 apikey。”

    Datadog documentation

    在这里就像一个魅力。与 Terraform 0.15.3 和 AWS Provider 3.41.0 使用的配置相同

    【讨论】:

      猜你喜欢
      • 2021-09-17
      • 2013-03-24
      • 2016-04-18
      • 2019-11-23
      • 2020-12-27
      • 2012-09-26
      • 2012-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多