cyberark.conjur-host-identity

Conjur Ansibleロール

このAnsibleロールは、ホストにConjurのマシンアイデンティティを付与する機能を提供します。このロールによって作成されたアイデンティティを持つホストは、Summonツールを使用して安全に秘密情報を取得できます。

おすすめの読書

必要条件

  • 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を参照してください。

プロジェクトについて

Grants Conjur machine identity to hosts

インストール
ansible-galaxy install cyberark.conjur-host-identity
ライセンス
apache-2.0
ダウンロード
32.5k
所有者
CyberArk, the undisputed leader in Privileged Account Security, secures secrets used by machines and users to protect traditional and cloud-native apps.