Поле определения контейнера Fargate «secretOptions» не передает datadog API_KEY в logConfiguration

#terraform #aws-fargate #datadog #aws-secrets-manager #firelens

#терраформирование #aws-фаргейт #список данных #aws-secrets-manager #firelens

Вопрос:

Я пытаюсь отправить свои журналы ECS Fargate в Datadog. Чтобы сделать это, мне нужно передать мой Datadog API_KEY в качестве поля в logConfiguration объекте. Мне нужно защитить свой API_KEY, поэтому я использую AWS Secrets Manager через secretOptions ключ logConfiguration объекта.

Я следую инструкциям AWS, изложенным здесь. Полные инструкции с сайта Datadog можно найти здесь

По какой-то причине я не вижу, чтобы журналы отображались в datadog. Вот раздел конфигурации журнала моего кода Terraform в разделе container_definitions объект aws_ecs_task_definition ресурса:

 "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 just не работает для Datadog? Любая помощь приветствуется.

Ответ №1:

По крайней мере, документация предполагает это: «Используйте секрет определения задачи, чтобы избежать раскрытия apikey в виде простого текста».

Документация Datadog

Здесь работает как шарм. Та же конфигурация, что и в Terraform 0.15.3 и AWS Provider 3.41.0