簡體   English   中英

從管理器檢索機密並將其在ec2 cfn-init中使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM