В настоящее время я пытаюсь настроить конфиденциальный 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кто-нибудь, дайте мне какое-либо указание относительно этой конкретной проблемы?