1.2. OpenStack Key Manager 暗号化タイプ
証明書、API キー、パスワードなどのシークレットは、barbican データベースまたはセキュアなストレージシステムに直接暗号化された blob に保存できます。簡単な暗号プラグインまたは PKCS#11 暗号プラグインを使用して、シークレットを暗号化できます。
シークレットを barbican データベースに暗号化された Blob として保存するには、以下のオプションを使用することができます。
-
Simple crypto プラグイン: シンプルな暗号化プラグインはデフォルトで有効になっており、単一の対称キーを使用してすべてのシークレットペイロードを暗号化します。このキーは
barbican.conf
ファイルのプレーンテキストに保存されるため、このファイルへの不正アクセスを防ぐことが重要です。 PKCS#11 暗号化プラグイン: PKCS#11 暗号化プラグインは、barbican データベースに保存されるプロジェクト固有の鍵暗号化キー (pKEK) を使用してシークレットを暗号化します。これらのプロジェクト固有の pKEK は、ハードウェアセキュリティーモジュール (HSM) に保存される主な鍵暗号化キー (MKEK) により暗号化されます。すべての暗号化および復号化操作は、in-process メモリーではなく、HSM に置かれます。PKCS#11 プラグインは、PKCS#11 API 経由で HSM と通信します。暗号化はセキュアなハードウェアで行われ、プロジェクトごとに異なる pKEK が使用されるため、このオプションは単純な暗号化プラグインよりも安全です。
Red Hat は、以下の HSM のいずれかで PKCS#11 バックエンドをサポートします。
デバイス リリースでサポートされます。 高可用性 (HA) のサポート ATOS Trustway Proteccio NetHSM
16.0+
16.1+
Entrust nShield Connect HSM
16.0+
サポート対象外
Thales Luna Network HSM
16.1 以降 (テクノロジープレビュー)
16.1 以降 (テクノロジープレビュー)
注記高可用性 (HA) オプション: barbican サービスは Apache 内で実行され、高可用性に HAProxy を使用するように director により設定されます。バックエンド層の HA オプションは、使用されているバックエンドによって異なります。たとえば、簡単な暗号化の場合、すべての barbican インスタンスには設定ファイル内に同じ暗号化キーがあり、これにより単純な HA 設定が作成されます。
1.2.1. 複数の暗号化メカニズムの設定
Barbican の 1 つのインスタンスを設定して、複数のバックエンドを使用することができます。これが完了したら、バックエンドを global default
として指定する必要があります。プロジェクトごとにデフォルトのバックエンドを指定することもできます。プロジェクトのマッピングが存在しない場合は、そのプロジェクトのシークレットは、グローバルのデフォルトバックエンドを使用して保存されます。
たとえば、Simple crypto および PKCS#11 プラグインの両方を使用するように Barbican を設定できます。Simple crypto をグローバルデフォルトとして設定すると、すべてのプロジェクトがそのバックエンドを使用します。これにより、PKCS#11 バックエンドを使用するプロジェクトを、そのプロジェクトの推奨バックエンドとして PKCS#11 を設定すると、そのプロジェクトを指定できます。
新規バックエンドに移行する場合には、グローバルのデフォルトまたはプロジェクト固有のバックエンドとして新しいバックエンドを有効にする時に、元のバックエンドを利用可能な状態にすることができます。その結果、古いシークレットは古いバックエンドで使用でき、新規シークレットは新しいグローバルデフォルトバックエンドに保存されます。