[英]Retrieve a secret from manager and use it in ec2 cfn-init
我正在嘗試在cfn-init
中的EC2實例的cfn-init
中使用秘密。 基於Secrets Manager的Secrets ,應該不難,但是我要嘗試的是在命令中將其用作命令的一部分:
01_login_in_docker:
command: !Join
- ' '
- - 'docker login -u '
- '{{resolve:secretsmanager:docker-info:SecretString:DOCKER_ACCOUNT_USERNAME}} '
- '-p '
- '{{resolve:secretsmanager:docker-info:SecretString:DOCKER_ACCOUNT_PASSWORD}} '
- 'cloud.canister.io:5000'
docker-info
是存儲在我帳戶中的秘密,因此我應該只需要名稱即可訪問密鑰,而無需ARN。
查看cfn-init.log
我發現CF無法解決任何問題:
[ERROR]命令01_login_in_docker(docker登錄-u {{resolve:secretsmanager:docker-info:SecretString:DOCKER_ACCOUNT_USERNAME}} -p {{resolve:secretsmanager:docker-info:SecretString:DOCKER_ACCOUNT_PASSWORD}} cloud.canister.io:5000)失敗
有沒有人嘗試過類似的方法或可以發現我的問題在哪里?
它沒有明確提及,但是所有示例都將動態引用用作整個值,而不是另一個字符串的一部分。 因此,也許嘗試將它們作為環境變量傳遞。 它也應該更安全一些,因為日志將在命令中不包含密碼。
01_login_in_docker:
command: |
docker login -u "$DOCKER_ACCOUNT_USERNAME" -p "$DOCKER_ACCOUNT_PASSWORD" cloud.canister.io:5000
env:
DOCKER_ACCOUNT_USERNAME: '{{resolve:secretsmanager:docker-info:SecretString:DOCKER_ACCOUNT_USERNAME}}'
DOCKER_ACCOUNT_PASSWORD: '{{resolve:secretsmanager:docker-info:SecretString:DOCKER_ACCOUNT_PASSWORD}}'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.