Terraform Fargate容器“定义字段”;“秘密选择”;不将datadog API_密钥传递到日志配置

Terraform Fargate容器“定义字段”;“秘密选择”;不将datadog API_密钥传递到日志配置,terraform,aws-fargate,datadog,aws-secrets-manager,firelens,Terraform,Aws Fargate,Datadog,Aws Secrets Manager,Firelens,我正在尝试将我的ECS Fargate日志发送到Datadog。为此,我需要将Datadog API_键作为logConfiguration对象中的字段传递。我需要保护我的API_密钥,以便通过logConfiguration对象的secretOptions密钥使用AWS Secrets Manager 我正在遵循AWS制定的步骤。 可以找到Datadog站点的完整步骤 由于某些原因,我看不到日志显示在datadog中。以下是我的地形代码的日志配置部分,位于aws\u ecs\u task\u定

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

我正在遵循AWS制定的步骤。 可以找到Datadog站点的完整步骤

由于某些原因,我看不到日志显示在datadog中。以下是我的地形代码的日志配置部分,位于
aws\u ecs\u task\u定义
资源的
container\u定义
对象下:

"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_密钥。
secretOptions
是否不适用于Datadog?非常感谢您的帮助。

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

在这里很有魅力。与Terraform 0.15.3和AWS Provider 3.41.0使用的配置相同