3.2. OpenStack Key Manager (barbican) と Thales Luna Network HSM の統合

ハードウェアベースの暗号化処理用に、PKCS#11 バックエンドを Thales Luna Network HSM アプライアンスと統合するには、Ansible ロールを使用して、コントローラーに Thales クライアントソフトウェアをダウンロードしてインストールします。また、Key Manager 設定ファイルを作成し、事前に定義された HSM IP および認証情報を追加します。

前提条件

  • Thales Luna Network HSM にベンダーソフトウェアを提供する、パスワードで保護された HTTPS サーバー。
  • ベンダーが提供する Luna Network HSM クライアントソフトウェアは、圧縮された zip アーカイブに用意されています。

手順

  1. director に ansible-role-lunasa-hsm ロールをインストールします。

    sudo dnf install ansible-role-lunasa-hsm
  2. Key Manager (barbican) 用の configure-barbican.yaml 環境ファイルを作成し、ご自分の環境に固有のパラメーターを追加します。

    parameter_defaults:
      BarbicanPkcs11CryptoMKEKLabel: "barbican_mkek_0"
      BarbicanPkcs11CryptoHMACLabel: "barbican_hmac_0"
      BarbicanPkcs11CryptoLogin: "$PKCS_11_USER_PIN"
      BarbicanPkcs11CryptoGlobalDefault: true
      LunasaVars:
        lunasa_client_tarball_name: 610-012382-014_SW_Client_HSM_6.2_RevA.tar.zip
        lunasa_client_tarball_location: https://user:$PASSWORD@http-server.example.com/luna_software/610-012382-014_SW_Client_HSM_6.2_RevA.tar.zip
        lunasa_client_installer_path: 610-012382-014_SW_Client_HSM_6.2_RevA/linux/64/install.sh
        lunasa_hsms:
          - hostname: luna-hsm.example.com
            admin_password: "$HSM_ADMIN_PASSWORD"
            partition: myPartition1
            partition_serial: 123456789

    表3.3 heat パラメーター

    パラメーター

    BarbicanSimpleCryptoGlobalDefault

    これは、simplecrypto がグローバルデフォルトであるかどうかを決定するブール値です。

    BarbicanPkcs11GlobalDefault

    これは、PKCS#11 がグローバルデフォルトであるかどうかを決定するブール値です。

    BarbicanPkcs11CryptoTokenLabel

    HSM が 1 つある場合、パラメーターの値はパーティションラベルです。2 つ以上のパーティション間で HA を使用している場合、これは HA グループに指定するラベルになります。

    BarbicanPkcs11CryptoLogin

    HSM 管理者が提供する HSM にログインするために使用される PKCS#11 パスワード。

    LunasaVar

    lunasa_client_tarball_name

    Luna ソフトウェア tarball の名前。

    lunasa_client_tarball_location

    Luna ソフトウェア tarball の HTTPS サーバーの場所を指定する URL。

    lunasa_client_installer_path

    zip 形式の tarball の install.sh スクリプトへのパス。

    lunasa_client_rotate_cert

    (オプション) true に設定すると、既存の証明書を置き換える新しいクライアント証明書が生成されます。デフォルト: false

    lunasa_client_working_dir

    (オプション) コントローラーノードの作業ディレクトリー。Default: /tmp/lunasa_client_install

    lunasa_hsms

    名前、hostname、admin_password、partition、およびパーティションシリアル番号を指定する 1 つ以上の HSM のリスト。このリストに複数の HSM を含めると、Barbican は高可用性向けに HSM を設定します。

  3. デプロイメントコマンドにカスタムの configure-barbican.yaml および Thales 固有の barbican-backend-pkcs11-llunasa.yaml 環境ファイルと、デプロイメントに関連するその他のテンプレートを追加します。

    $ openstack overcloud deploy --templates \
      ....
      -e /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-pkcs11-lunasa.yaml \
      -e /home/stack/templates/configure-barbican.yaml \
      --log-file overcloud_deployment_with_luna.log