Как получить доступ к секрету пары ключ-значение из AWS Secrets Manager в зале?

У меня есть среда для собраний, развернутая с использованием bosh. Он настраивается с помощью AWS Secrets Manager. Секретный шаблон конвейера имеет вид /concourse/{{.Team}}/{{.Secret}}

у меня есть секрет /concourse/team1/general создается в AWS Secrets Manager (секреты другого типа) с указанным ниже значением.

      {
  "gitbranch": "master",
  "hello": "2",
  "general": "hi"
}

У меня есть конвейер hello-world.yml установить в team1 команда.

      ---
jobs:
- name: job
  public: true
  plan:
  - task: check-secret
    config:
      platform: linux
      image_resource:
        type: registry-image
        source: { repository: busybox }
      run:
        path: echo
        args: ["((general))"]

Этот конвейер выводит значение как

      {"gitbranch":"master","hello":"2","general":"hi"}

Но если я изменю аргументы (последняя строка) в конвейере на args: ["((general.gitbranch))"], тогда я получаю ошибку ниже

      failed to interpolate task config: cannot access field 'gitbranch' of non-map value ('string') from var: general.gitbranch

Можно ли получить доступ к любой из пар ключ-значение в секрете из AWS Secrets Manager в конвейере собрания? Если да, то как это сделать?

1 ответ

Отвечая на свой вопрос.

Создав секрет с помощью cli с параметром --secret-binary, Мне удалось получить пары ключ-значение.

(Раньше я создавал секрет из консоли aws, которая была создана как секретная строка.)

Я использовал приведенную ниже команду, чтобы обновить свой секрет, чтобы создать секрет в виде двоичного файла.

      b64key=$(base64 secrets.json)
aws secretsmanager update-secret \
    --secret-id  /concourse/team1/general \
    --secret-binary "$b64key"

Я нашел этот using-aws-secrets-manager-with-concourse-ci, и это помогло в решении проблемы.

Если кто-нибудь знает, как это сделать в консоли, дайте мне знать.

Другие вопросы по тегам