Confd игнорирует роль, заданную в моей конфигурации aws? - PullRequest
0 голосов
/ 08 апреля 2019

В настоящее время я пытаюсь настроить конфиденциальный POC, используя SSM в качестве поставщика ключей, в настоящее время у нас есть одна учетная запись в AWS, которая является корневой учетной записью и выполняет несколько ролей для разделения сред.

в настоящее время мой AWSконфиг выглядит так

[default]
region=eu-west-1
output=json
role_arn=arn:aws:iam::*:role/OrganizationAccountAccessRole

Для меня это работает вполне нормально, учитывая команду

aws ssm get-parameters --names /eric

вернуть мне ключ, который я создал для этого документа

PARAMETERS  arn:aws:ssm:eu-west-1:*:parameter/eric * /eric  String  test    1

хотя для confd это не

confd -onetime -backend ssm --log-level debug

2019-04-07T18:25:08Z 3ce95f057568 confd[359]: DEBUG Processing key=/eric
2019-04-07T18:25:08Z 3ce95f057568 confd[359]: DEBUG Got the following map from store: map[]
2019-04-07T18:25:08Z 3ce95f057568 confd[359]: DEBUG Using source template /etc/confd/templates/myconfig.conf.tmpl
2019-04-07T18:25:08Z 3ce95f057568 confd[359]: DEBUG Compiling source template /etc/confd/templates/myconfig.conf.tmpl
2019-04-07T18:25:08Z 3ce95f057568 confd[359]: ERROR template: myconfig.conf.tmpl:2:17: executing "myconfig.conf.tmpl" at <getv "/eric">: error calling getv: key does not exist: /eric
2019-04-07T18:25:08Z 3ce95f057568 confd[359]: FATAL template: myconfig.conf.tmpl:2:17: executing "myconfig.conf.tmpl" at <getv "/eric">: error calling getv: key does not exist: /eric

Я провел один короткий тест и создал ключ / eric в корневой учетной записи вместо учетной записи роли, после этого он работал, как я ожидал, что заставляет меня задуматься,есть ли скрытая конфигурация для confd, чтобы он "использовал" роль?потому что в настоящее время кажется, что она не принимает во внимание роль.

мой шаблон confd выглядит как

[template]
src = "myconfig.conf.tmpl"
dest = "/tmp/myconfig.conf"
keys = [
    "/eric"
]

, а мой config confd выглядит как

database_url = {{getv "/eric"}}

Canкто-нибудь, дайте мне какое-либо указание относительно этой конкретной проблемы?

1 Ответ

0 голосов
/ 08 апреля 2019

Хорошо, я обнаружил проблему, моя конфигурация AWS была полностью проигнорирована, после просмотра открытых в настоящий момент запросов на извлечение для этого проекта я нашел этот.

https://github.com/kelseyhightower/confd/pull/736, Автор упоминает

При создании существующего сеанса игнорировались параметры конфигурации AWS, если не был экспортирован env var AWS_SDK_LOAD_CONFIG.Параметр SharedConfigState удаляет эту необходимость.

, поэтому, установив для переменной var AWS_SDK_LOAD_CONFIG значение true, я предполагаю, что при слиянии этого pr этот обходной путь не понадобится.

...