5.8. コントローラーの設定


この手順では、Ansible ロールを使用して Atos クライアントソフトウェアをコントローラーにダウンロードおよびインストールし、Atos 設定ファイルを変更して、事前定義された HSM IP および認証情報に追加します。

  1. barbican-backend-pkcs11-atos.yaml という名前の OVERCLOUD_TEMPLATES に環境ファイルを作成し、HSM の設定情報を入力します。以下に例を示します。

    tripleo_heat_templates:
        - /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml
        - /usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-pkcs11-atos.yaml
    custom_templates:
        parameter_defaults:
            SwiftEncryptionEnabled: true
            ComputeExtraConfig:
                nova::glance::verify_glance_signatures: true
                nova::compute::verify_glance_signatures: true
            BarbicanPkcs11CryptoLogin: 'sample string'
            BarbicanPkcs11CryptoSlotId: 1
            BarbicanPkcs11CryptoGlobalDefault: true
            BarbicanPkcs11CryptoLibraryPath: '/usr/lib64/libnethsm.so'
            BarbicanPkcs11CryptoEncryptionMechanism: 'CKM_AES_CBC'
            BarbicanPkcs11CryptoHMACKeyType: 'CKK_GENERIC_SECRET'
            BarbicanPkcs11CryptoHMACKeygenMechanism: 'CKM_GENERIC_SECRET_KEY_GEN'
            BarbicanPkcs11CryptoMKEKLabel: 'barbican_mkek_5a'
            BarbicanPkcs11CryptoMKEKLength: 32
            BarbicanPkcs11CryptoHMACLabel: 'barbican_hmac_5a'
            BarbicanPkcs11CryptoATOSEnabled: true
            BarbicanPkcs11CryptoEnabled: true
            ATOSVars:
                atos_client_working_dir: /tmp/atos_client_install
                atos_client_iso_location: https://your server/Proteccio1.09.03.iso
                atos_client_iso_name: Proteccio1.09.03.iso
                atos_client_cert_location: https://your server/proteccio_client.crt
                atos_client_key_location: https://your server/proteccio_client.key
                atos_server_cert_location: https://your server/192_168_11_13.crt
                atos_hsm_ip_address: 192.168.11.12
    resource_registry:
        OS::TripleO::Services::BarbicanBackendPkcs11Crypto: /home/stack/tripleo-heat-templates/puppet/services/barbican backend-pkcs11-crypto.yaml
    • BarbicanPkcs11CryptoGlobalDefault および BarbicanPkcs11CryptoEnabled: これらのオプションは、PKCS#11 をグローバルのデフォルトバックエンドとして設定します。
    • BarbicanPkcs11CryptoMKEKLabel: HSM で生成される mKEK の名前を定義します。director はこのキーを使用して HSM にこのキーを作成します。この名前は新規インストールごとに一意となる必要があります。そうしないと、同じラベル名が使用されると競合が生じる可能性があります。
    • BarbicanPkcs11CryptoHMACLabel: HSM で生成された HMAC 鍵の名前を定義します。director はこのキーを使用して HSM にこのキーを作成します。

      注記

      デフォルトでは、HSM は最大 32 の同時接続を許可します。この数が超過すると、PKCS#11 クライアントからメモリーエラーが発生することが予想されます。以下に示すように、接続数を計算することができます。

      • 各コントローラーには barbican-api と 1 つの barbican-worker プロセスがあります。
      • 各 Barbican API プロセスは N 個のApache ワーカーで実行されます (N はデフォルトで CPU の数に設定されます)。
      • 各ワーカーには HSM への 1 つの接続があります。

      BarbicanWorkers: 各 barbican-worker プロセスにはデータベースへの接続が 1 つあり、この設定により API プロセスごとの Apache ワーカーの数を定義できます。デフォルトでは、これは CPU 数に一致します。この設定は、barbican::wsgi::apache::workers を設定 します。Barbican ワーカーの数は、barbican.conf のパラメーター queue/asynchronous_workers によって制御されます。デフォルトは 1 です。現在、この値を管理する tripleO パラメーターはありません。

      たとえば、3 つのコントローラーがあり、それぞれに 32 コアがある場合、それぞれのコントローラーの Barbican API は 32 Apache ワーカーを使用します( BarbicanWorkers はデフォルトで 32に設定されます)。そのため、1 つのコントローラーは利用可能な 32 HSM 接続をすべて消費します。この競合を回避するには、各ノードに設定された Barbican Apache ワーカーの数を制限します。この例では、BarbicanWorkers10 に設定すると、3 つのコントローラーはすべて HSM への 10 個の同時接続を行うことができます。

  2. 既存の openstack overcloud deploy コマンドへのパスを追加して、スクリプトを再実行します。

5.8.1. HSM 接続のテスト

  1. テストシークレットを作成します。以下に例を示します。

    $ openstack secret store --name testSecret --payload 'TestPayload'
    +---------------+------------------------------------------------------------------------------------+
    | Field         | Value                                                                              |
    +---------------+------------------------------------------------------------------------------------+
    | Secret href   | https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 |
    | Name          | testSecret                                                                         |
    | Created       | None                                                                               |
    | Status        | None                                                                               |
    | Content types | None                                                                               |
    | Algorithm     | aes                                                                                |
    | Bit length    | 256                                                                                |
    | Secret type   | opaque                                                                             |
    | Mode          | cbc                                                                                |
    | Expiration    | None                                                                               |
    +---------------+------------------------------------------------------------------------------------+
  2. 作成したシークレットのペイロードを取得します。

    openstack secret get https://192.168.123.163/key-manager/v1/secrets/4cc5ffe0-eea2-449d-9e64-b664d574be53 --payload
    +---------+-------------+
    | Field   | Value       |
    +---------+-------------+
    | Payload | TestPayload |
    +---------+-------------+
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.