cyberark.conjur-host-identity
Conjur Ansibleロール
このAnsibleロールは、ホストにConjurのマシンアイデンティティを付与する機能を提供します。このロールによって作成されたアイデンティティを持つホストは、Summonツールを使用して安全に秘密情報を取得できます。
おすすめの読書
- Conjurについてもっと知りたい場合は、試してみてください。
- ConjurとAnsibleの統合について詳しくは、統合ドキュメントをご覧ください。
- Conjurからアプリケーションに取得した秘密値をエクスポートするツールSummonについて詳しくは、Summonウェブページを訪れてください。
- Conjurとの統合方法についてさらに知りたい場合は、Conjurドキュメントをご覧ください。
必要条件
- Conjur v1+ または Conjur Enterprise (旧DAP) v10+
- Conjur Enterprise v4
- Ansible v2.8
Ansible v2.9以上を使用している場合は、代わりにAnsibleコレクションの使用を検討してください。
Conjurオープンソースを使用したansible-conjur-host-identityの使い方
このプロジェクトをConjurオープンソースと一緒に使用していますか?その場合、最新のConjur OSSスイートリリースからプロジェクトのバージョンを選ぶことを強くお勧めします。Conjurのメンテナは、スイートリリースのバージョンで追加のテストを行い、互換性を保証しています。可能な場合は、Conjurのバージョンを最新のスイートリリースにアップグレードしてください。統合を使用する場合は、自分のConjurのバージョンに合った最新のスイートリリースを選んでください。質問がある場合は、Discourseでお問い合わせください。
使用手順
以下のコマンドを使用して、遊びのブックディレクトリでConjurロールをインストールします:
$ ansible-galaxy install cyberark.conjur-host-identity
Conjurロールは、Ansibleを使用してリモートノードのConjurアイデンティティを「Conjurize」または確立する方法を提供します。ノードは、安全な方法で必要な秘密を取得するために最小限の特権アクセスを付与されます。
ロール変数
conjur_appliance_url
*
: 接続するConjur / Conjur EnterpriseインスタンスのURL。HA Conjur Enterpriseマスタークラスタに接続する場合、このURLはマスターロードバランサーのURLになります。conjur_account
*
: 接続するConjurインスタンスのアカウント名。conjur_host_factory_token
*
: ホストファクトリのレイヤー登録のためのトークン。これはAnsibleを制御するホストの環境に指定する必要があります。conjur_host_name
*
: ホストファクトリが作成するホストアイデンティティの名前。conjur_ssl_certificate
: 接続するConjur EnterpriseインスタンスのPEMエンコードされたx509 CA証明書チェーン。この値は以下のコマンドを実行して取得できます:$ openssl s_client -showcerts -servername [CONJUR_DNS_NAME] -connect [CONJUR_DNS_NAME]:443 < /dev/null 2> /dev/null
conjur_validate_certs
: クライアントがConjurサーバーの証明書を検証するかどうかを示すブール値。summon.version
: インストールするSummonのバージョン。デフォルトは0.8.3
。summon_conjur.version
: インストールするSummon-Conjurプロバイダーのバージョン。デフォルトは0.5.3
。
*
でマークされた変数は必須です。他の変数は、HTTPS Conjurエンドポイントを使用する場合に必要ですが、HTTP Conjurエンドポイントを使用する場合は必須ではありません。
サンプルプレイブック
リモートノードにConjurアイデンティティとSummonを構成します:
- hosts: servers
roles:
- role: cyberark.conjur-host-identity
conjur_appliance_url: 'https://conjur.myorg.com/api',
conjur_account: 'myorg',
conjur_host_factory_token: "{{lookup('env', 'HFTOKEN')}}",
conjur_host_name: "{{inventory_hostname}}"
この例では:
- ホストをConjurに登録し、提供されたホストファクトリトークンに特有なレイヤーに追加します。
- Conjurからの秘密情報取得のためにSummonとSummon-Conjurプロバイダーをインストールします。
Summon & サービスマネージャー
Summonがインストールされていると、サービスマネージャー(SystemDなど)とConjurを簡単に使用できます。以下は、Conjurに接続するSystemDファイルの簡単な例です:
[Unit]
Description=DemoApp
After=network-online.target
[Service]
User=DemoUser
#Environment=CONJUR_MAJOR_VERSION=4
ExecStart=/usr/local/bin/summon --yaml 'DB_PASSWORD: !var staging/demoapp/database/password' /usr/local/bin/myapp
上記の例は、staging/myapp/database/password
に保存されたパスワードを取得し、環境変数DB_PASSWORD
に設定し、デモアプリケーションプロセスに提供します。Summonを使用することで、秘密はディスクに保存されず、サービスが再起動されると、アプリケーションが起動する際に再度パスワードを取得します。
依存関係
なし
推奨事項
- 重要: 敏感なデータを使用する各プレイには
no_log: true
を追加してください。そうしないと、そのデータがログに表示される可能性があります。 - Ansibleファイルの最低限のパーミッションを設定してください。Ansibleは、実行するユーザーの権限を使用します。
貢献
私たちは、このリポジトリへのあらゆる種類の貢献を歓迎します。始め方や開発ワークフローの説明については、貢献ガイドをご覧ください。
ライセンス
Copyright (c) 2020 CyberArk Software Ltd. 無断転載を禁じます。
このリポジトリはApache License 2.0のもとでライセンスされています - 詳細についてはLICENSE
を参照してください。
ansible-galaxy install cyberark.conjur-host-identity