chilcano.apache-nifi-toolkit
Ansibleロール: apache-nifi-toolkit
このAnsibleロールは、Apache NiFi Toolkitをインストールし、設定し、X.509およびNiFiの設定ファイルを取得するためのコマンドを実行します。Apache NiFi Toolkitは、NiFiの安全なセットアップを容易にするツールです。このツールキットは、NiFiの設定やX.509証明書、セキュアなNiFi設定に必要なJavaキーストアおよびJavaトラストストアを生成します。詳細情報はここにあります: https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#tls-generation-toolkit
このロールは以下の機能を提供します。
- Apache NiFi Toolkitをインストールします。
- Apache NiFi Toolkitのコマンドを実行します。
standalone
は、実装されたユニークなNiFi TLS Toolkitサービスです。 - 生成されたNiFiの設定、X.509証明書、Javaキーストア、Javaトラストストアのファイルを一箇所に同期(リモートからローカルホストへ)し、管理します。
前提条件
- Java。
ロール変数
デフォルトの変数はdefaults/main.yml
にあります。
依存関係
このAnsibleロールには依存関係はありませんが、NiFi ToolkitはJavaを必要とします。Javaをインストールするには、(geerlingguy.java)[https://github.com/geerlingguy/ansible-role-java]ロールを使用しますが、DebianにOracle Java 8をインストールするための変更があります。これらの変更は私のフォークから入手できます: (chilcano.java / branch oracle-java-debian)[https://github.com/chilcano/ansible-role-java/tree/oracle-java-debian]。このブランチをクローンしてください。
ただし、UbuntuやCentOSでApache NiFi Toolkitを使用する場合は、これらの変更は必要ありません。以下のようにgeerlingguy.java
をダウンロードするか、Java 7または8を手動でインストールしてください:
$ sudo ansible-galaxy install geerlingguy.java
サンプルプレイブック
---
- hosts: nftk1
become: yes
vars_files:
- vars.yml
roles:
- role: ../../playbooks/roles/ansible-role-java
java_packages:
- oracle-java8-installer
- ca-certificates
- oracle-java8-set-default
java_cleanup: false
java_home: "/usr/lib/jvm/java-8-oracle"
- role: chilcano.apache-nifi-toolkit
nftk:
version: "1.2.0"
packaging_bin: "tar.gz"
packaging_src: "zip"
action:
clean:
installation: false
repository: false
dependencies: false
install: true
run_cmd: true
sync: true
download:
http_uri: "http://mirror.ox.ac.uk/sites/rsync.apache.org"
nftk_run:
cmd: "standalone -n 'nf1.intix.info' --nifiDnSuffix ',OU=INTIX' -C 'CN=chilcano, OU=INTIX' -O -c 'nftk1_ca'"
clientpasswd: "demo00a"
keypasswd: "demo00b"
truststorepasswd: "demo00c"
keystorepasswd: "demo00d"
nftk_cfg.dir_repo: "nftk_repo"
nftk_sync_dir_local: "/Users/Chilcano/1github-repo/binaries"
inventory
ファイルの内容は次の通りです:
[nifitks]
nftk1
nftk1 ansible_host=192.168.77.4
[nifitks:vars]
ansible_user=vagrant
ansible_ssh_private_key_file="/Users/Chilcano/.vagrant.d/insecure_private_key"
このAnsibleプレイブックはOracle Javaをインストールし、Apache NiFi Toolkitをインストールし、次のコマンドを実行します:$ ./bin/tls-toolkit.sh standalone -n 'nf1.intix.info' --nifiDnSuffix ',OU=INTIX' -C 'CN=chilcano, OU=INTIX' -O -c 'nftk1_ca'
。すべてのキー、証明書、設定は$NIFI_TOOLKIT_HOME/nftk_repo
に作成され、ローカルの/Users/Chilcano/1github-repo/binaries
ディレクトリに同期されます。このディレクトリは事前に作成する必要があります。同期間により、NiFiを安全に設定するために必要なすべてのファイルを一度または複数回簡単に取得し、使用できます。
最終的なフォルダー構造は、キー、証明書、および設定ファイルとして次のようになります:
更新情報
- 現在、このロールはローカルファイルシステムからバイナリ/インストーラをコピーします。それが存在しない場合は、URLからダウンロードを試みます。最終的にダウンロードされたバイナリはローカルファイルシステムにコピーされ、再利用されます。
ライセンス
MIT / BSD
著者情報
このロールは2017年にロジャー・カルワトクトによって作成され、HolisticSecurity.ioブログの著者です。
An Ansible Role that installs Apache NiFi Toolkit and and runs commands to get x.509, Java KeyStore, TrustStore required to configure NiFi securely.
ansible-galaxy install chilcano.apache-nifi-toolkit