このセクションでは、トラスト アンカーの証明書管理統合について説明します。

トラスト アンカー署名付き証明書のインストール

NSX Advanced Load Balancer では、トラスト アンカーによって署名されている証明書を要求およびインストールするプロセスの自動化をサポートします。この機能は、証明書の有効期限に基づく証明書の初期登録と更新を処理します。

これを確立するため、Certificate Management Profile オブジェクトが使用されます。このオブジェクトは、[テンプレート ] > [セキュリティ ] > [証明書管理] に移動して作成されます。Certificate Management オブジェクトでは、証明書スクリプトへのパスと、顧客の内部ネットワーク内の証明書管理サービスと統合するためにスクリプトで必要とする一連のパラメータ(CSR、コモン ネームなど)とを構成できるようにしています。スクリプト自体は、さまざまな顧客のさまざまな証明書管理サービスに対応するために、設計上不透明なままです。

NSX Advanced Load Balancer が SSL 証明書構成の一部を成すため、ユーザーは CSR を選択し、証明書の必須フィールドに入力し、この証明書がバインドされる証明書管理プロファイルを選択すればよいのです。次に、コントローラは CSR とスクリプトを使用して証明書を取得し、有効期限が切れた時点で証明書を更新します。更新プロセスの一環として、新しいパブリック/プライベート キー ペアが生成され、これに対応する証明書が証明書管理サービスから取得されます。

この自動化がないと、CSR を外部トラスト アンカーに送信し、署名付き証明書とキーのインストールを行うプロセスは、NSX Advanced Load Balancer ユーザーが実行しなければなりません。

注:

この機能では python スクリプトがサポートされています。また、SafeNet HSM自動 CSR ワークフローもサポートされています。

証明書管理統合の構成

証明書管理統合を構成する手順は、次のとおりです。

  1. certificate_request() メソッドを定義する python スクリプトを準備します。メソッドは、ディクショナリとして次の入力を受け入れる必要があります。

    • CSR。

    • [コモン ネーム] フィールドのホスト名。

    • 証明書管理プロファイルで定義されたパラメータ。

  2. スクリプトを呼び出す証明書管理プロファイルを作成します。

スクリプトの準備

スクリプトでは、次の例に示すように、def certificate_request コマンドを使用する必要があります。

def certificate_request(csr, common_name, args_dict):
    """
    Check if a token exists that can be used:
    If not, authenticate against the service with the provided credentials.
    Invoke the certificate request and get back a valid certificate.
    Inputs:
      @csr : Certificate signing request string. This is a multi-line string output like what
             you get from openssl.
      @common_name: Common name of the subject.
      @args_dict: Dictionary of the key value pairs from the certificate management profile.
    "
注:

スクリプトに渡される具体的なパラメータ値は、証明書管理プロファイル内で指定します。

機密パラメータの非表示

機密性の高いパラメータ(パスワードなど)の場合は、値を非表示にできます。パラメータに機密性の高いマークを付けると、その値が Web インターフェイスに表示されたり、API によって渡されたりできなくなります。

CSR 作成時の動的パラメータ値の割り当て

証明書管理パラメータの値は、プロファイル内または個々の CSR 内で割り当てることができます。

  • パラメータ値がプロファイル内で割り当てられている場合、その値はプロファイルを使用して生成されたすべての CSR に適用されます。

  • パラメータの値を動的に割り当てるには、証明書管理プロファイル内でパラメータが動的であると示します。これにより、パラメータの値は割り当てられません。動的パラメータの値は、プロファイルを使用して個々の CSR が作成されるときに割り当てられます。パラメータ値は、作成された CSR にのみ適用されます。

証明書管理プロファイルの作成

証明書管理プロファイルを作成する手順は、次のとおりです。

  1. [テンプレート ] > [セキュリティ ] > [証明書管理] の順に移動し、[作成] をクリックします。

  2. プロファイルの名前を指定します。

  3. 証明書管理プロファイルの ControlScript をドロップダウン メニューから選択します。

  4. プロファイルでパラメータ値をいくつかスクリプトに渡す必要がある場合は、[カスタム パラメータを有効にする] チェック ボックスをオンにして、パラメータの名前と値を指定します。

    機密性の高いパラメータ(パスワードなど)の場合は、[機密性が高い] チェック ボックスをオンにします。

    1. パラメータに機密データであることを示すマークを付けると、その値が Web インターフェイスに表示されたり、API によって渡されることを防ぐことができます。CSR 作成時に動的に割り当てられるパラメータについては、[動的] チェック ボックスをオンにします。これにより、プロファイル内でパラメータの割り当てが解除されます。

  5. [保存] をクリックします。

証明書管理プロファイルを使用した署名付き証明書の生成

スクリプトを追加して証明書管理プロファイルを作成した後、プロファイルを使用して、次のように Trust Anchor 署名付き証明書を簡単に取得してインストールできます。

  1. [テンプレート ] > [セキュリティ ] > [SSL/TLS 証明書] の順に移動し、[作成] をクリックします。

  2. [アプリケーション証明書] オプションを [作成] ドロップダウン メニューから選択します。

  3. 名前を指定し、[CSR] オプションを [タイプ] ドロップダウン メニューから選択します。

  4. 前のセクションで構成した証明書管理プロファイルを [証明書管理プロファイル] ドロップダウン メニューから選択します。

  5. [保存] をクリックします。

コントローラは、パブリック/プライベート キー ペアと CSR を生成します。スクリプトを実行して PKI サービスからトラスト アンカー署名付き証明書を要求し、署名付き証明書をパーシステント ストレージに保存します。