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を安全に設定するために必要なすべてのファイルを一度または複数回簡単に取得し、使用できます。

最終的なフォルダー構造は、キー、証明書、および設定ファイルとして次のようになります:

Apache NiFi Toolkit - フォルダー構造と生成されたファイル

更新情報

  • 現在、このロールはローカルファイルシステムからバイナリ/インストーラをコピーします。それが存在しない場合は、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
ライセンス
Unknown
ダウンロード
142
所有者
Crypto, PKI, DevSecOps, Cloud & Cyber Security, SOA, API & Service Mesh.