例: SSL 証明書 - キーと CSR の生成

重要: この例は、SSL 要件や構成の経験がある IT プロフェッショナル向けに全般的なガイドを提供するためのものです。この記事で説明する手順は、必要なファイルの生成に使用できる多くのメソッドの 1 つにすぎません。ここで説明するプロセスは一例であり、推奨されるものではありません。


セキュア ソケット レイヤー (SSL) 暗号化を使用するよう Tableau Server を構成すると、サーバーへのアクセスがセキュアにし Tableau Server と Tableau Desktop の間で送信されたデータが保護するのに役立ちます。

Tableau Server は OpenSSL(新しいウィンドウでリンクが開く) が含まる Apache を使用します。OpenSSL ツールキットを使用してキー ファイルと証明書署名要求 (CSR) を生成できます。その後、それらを使用して署名付き SSL 証明書を取得できます。

注: Tableau Server バージョン 2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 以降では、Tableau Server は OpenSSL 3.1 を実行します。

キーおよび CSR の作成手順

SSL を使用するよう Tableau Server を構成するには、SSL 証明書が必要です。SSL 証明書を取得するには、次の手順を完了します:

  1. OpenSSL 構成環境変数を設定する (オプション)。
  2. キー ファイルを生成する
  3. 証明書署名要求 (CSR) を作成する
  4. CSR を認証局 (CA) に送信して SSL 証明書を取得する
  5. キーおよび証明書を使用して、SSL を使用するように Tableau Server を構成する

詳細については、Apache Software Foundation Web サイトの SSL FAQ ページ(新しいウィンドウでリンクが開く)で見つけることができます。

複数のドメイン名に対する証明書の設定

Tableau Server は、複数ドメイン用に SSL を許可します。この環境を設定するには、OpenSSL 構成ファイル、openssl.conf を変更し、Tableau Server でサブジェクトの別名 (SAN) 証明書を構成する必要があります。以下の「SAN 証明書の場合、OpenSSL 構成ファイルを変更する」を参照してください。

OpenSSL 構成環境変数を設定する (オプション)

openssl.exe を使用するたびに -config 引数を使用するのを避けるため、正しい構成ファイルを使用し、この記事で後から行う手順で行われるすべての変更が期待される結果をもたらすよう (たとえば、証明書に SAN を追加するよう環境変数を設定する必要があります) OPENSSL_CONF 環境変数を使用することができます。

管理者としてコマンド プロンプトを開き、次のコマンドを実行します。

set OPENSSL_CONF=c:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf\openssl.cnf

注: Open SSL 構成環境変数を設定する際は、ファイル パスを引用符で囲まないでください。

キーの生成

証明書署名要求の生成に使用するキー ファイルを生成します。

  1. 管理者としてコマンド プロンプトを開き、Tableau Server の Apache ディレクトリに移動します。たとえば、次のコマンドを実行します。

    cd C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\bin

  2. 次のコマンドを実行して、キー ファイルを作成します。

    openssl.exe genrsa -out <yourcertname>.key 4096

    注:
    • このコマンドは、キーに 4096 ビット長を使用します。短いビット長で暗号化されている通信は安全性が低いため、2048 ビット以上のビット長を選択する必要があります。値が提供されない場合は、512 ビットが使用されます。
    • Tableau Server バージョン 2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 以降で PKCS#1 RSA キーを作成するには、OpenSSL 3.1 に基づいて openssl genrsa" コマンドを実行するときに、追加オプション -traditional を使用する必要があります。オプションの詳細については、https://www.openssl.org/docs/man3.1/man1/openssl-rsa.html(新しいウィンドウでリンクが開く) を参照してください。

証明書署名要求を作成して認証局に送信する

上記の手順で作成したキー ファイルを使用して、証明書署名要求 (CSR) を生成します。CSR を認証局 (CA) に送信して署名入り証明書を取得します。

重要: 複数ドメインに SSL を使用するよう SAN 証明書を構成する場合は、最初に以下の「SAN 証明書の場合、OpenSSL 構成ファイルを変更する」の手順を完了してから、ここに戻って CSR を生成してください。

  1. 次のコマンドを実行して、証明書署名要求 (CSR) ファイルを作成します。

    openssl.exe req -new -key yourcertname.key -out yourcertname.csr

    OpenSSL 構成環境変数 OPENSSL_CONF を設定していない場合、次のメッセージのいずれかが表示される場合があります。

    • 読み込めない構成情報に関するエラー メッセージ。この場合は、次のパラメーターを使用して上記のコマンドを再入力します。-config ..\conf\openssl.cnf

    • /usr/local/ssl ディレクトリが見つからないという警告。このディレクトリは Windows 上には存在しないため、このメッセージは無視できます。ファイルは正常に作成されました。

    OpenSSL 構成環境変数を設定するには、この記事の「OpenSSL 構成環境変数を設定する (オプション)」セクションを参照してください。

  2. プロンプトで要求されたら、必要な情報を入力します。

    注: [共通名] として、Tableau Server 名を入力します。Tableau Server 名は Tableau Server に到達するのに使用される URL です。たとえば、ブラウザーのアドレスバーに「tableau.example.com 」と入力することで Tableau Server に到達する場合、tableau.example.com が共通名になります。共通名によってサーバー名が解決されない場合、ブラウザーまたは Tableau Desktop が Tableau Server への接続を試みると、エラーが発生します。

CSR を認証局に送信して SSL 証明書を取得する

CSR を商業認証局 (CA) に送信してデジタル証明書を要求します。詳細については、Wikipedia の記事「認証局」(新しいウィンドウでリンクが開く)や、使用する CA の決定に役立つ関連記事を参照してください。

キーおよび証明書を使用して Tableau Server を構成する

キーと CA からの証明書の両方がある場合は、SSL を使用するよう Tableau Server を構成できます。手順については、「外部 SSL の構成」を参照してください。

SAN 証明書の場合、OpenSSL 構成ファイルを変更する

OpenSSL の標準インストールでは、一部の機能が既定で有効化されていません。複数のドメイン名で SSL を使用するには、CSR を生成する前に、これらの手順を実行して openssl.cnf ファイルを変更します。

  1. Windows Explorer を開き、Tableau Server の Apache conf フォルダーを参照します。

    例: C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf

  2. テキスト エディターで openssl.cnf を開き、次の行を見つけます: req_extensions = v3_req

    行の先頭にハッシュ記号 (#) を付けてこの行をコメント アウトさせることができます。

    行がコメント アウトされている場合は、行の先頭に #スペースを削除します。

  3. ファイルの [ v3_req ] セクションに移動します。最初の数行には、次のテキストが含まれます。

    # Extensions to add to a certificate request
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment

    keyUsage 行の後に、次の行を挿入します。

    subjectAltName = @alt_names

    自己署名 SAN 証明書を作成している場合は、以下を実行して、証明書に署名する証明書パーミッションを付与します。

    1. cRLSign および keyCertSignkeyUsage 行に追加し、次のようにします: keyUsage = nonRepudiation, digitalSignature, keyEncipherment, cRLSign, keyCertSign

    2. keyUsage 行の後に、次の行を挿入します。subjectAltName = @alt_names

  4. [alt_names] セクションに、SSL で使用するドメイン名を入力します。

    DNS.1 = [domain1]
    DNS.2 = [domain2]
    DNS.3 = [etc]

    次のイメージは、ハイライトされた結果と、ドメイン名と置き換えられるプレースホルダー テキストを示しています。

  5. ファイルを保存して閉じます。

  6. 上記の「証明書署名要求を作成して認証局に送信する」セクションの手順を完了します。

追加情報

別のバージョンの OpenSSL の使用を希望する場合は、[Windows 用オープン SSL] (新しいウィンドウでリンクが開く)からダウンロードできます。

フィードバックをありがとうございます。フィードバックは正常に送信されました。ありがとうございます!