Amazon秘密マネージャからの


AWS秘密マネージャーからの



あなたのセキュリティを改善し、ENVファイルを通過するのを避ける方法の1つはtwelve factor app そして、環境からあなたの秘密を占拠し始めてください.もう一つの改善は、回転、監査などの機能で知られている秘密の店からそれらの秘密を引くことです.

要件

  • Ansible
  • 秘密を保存AWS Secrets Manager
  • 最新のものにアクセス可能aws-cli コマンド(秘密マネージャは最近の追加)

  • Jq あなたがあなたの秘密にJSONを保存しているならば
  • あなたのAWSコールをテストする価値はあります.
    aws secretsmanager get-secret-value --secret-id some/secret/name --query SecretString --output text
    
    またはJSONの場合は次のようにします.
    aws secretsmanager get-secret-value --secret-id secrets| jq --raw-output '.SecretString' | jq -r .API\_KEY
    

    実行可能な設定


    秘密のマネージャーがstdoutにあなたの秘密を出力したら、あなたはそれを有効に利用することができます.この例ではENVファイルに出力していますが、これはANSIでは使えません.ファイルに出力する代わりに、独自の環境変数を設定することができます.
    - name: Setting env with some secret
      args:
        executable: /bin/bash
      shell: |
        aws secretsmanager get-secret-value --secret-id some/secret/name --query SecretString --output text
      register: some\_secret
    
    - name: pass response of ssm to .env file
      become: no
      blockinfile:
        dest: '{{ some\_environment\_path }}/.env'
        state: present
        create: yes
        marker: "# {mark} MY SECRET FROM AWS #"
        block: |
          SOME\_SECRET='{{ some\_secret.stdout }}'
    
    そして、それ!私がよりよくした何でも(私が確かであると確信します)、私に知らせてください!