外部の LDAP アイデンティティ ストアへの暗号化チャネルの構成

外部の LDAP アイデンティティ ストアに接続するように構成されている Tableau Server は、LDAP ディレクトリに対してクエリを実行し、セッションを確立する必要があります。セッションを確立するプロセスはバインディングと呼ばれます。バインディングにはいくつかの方法があります。Tableau Server では、LDAP ディレクトリにバインドする 2 つの方法がサポートされています。

  • シンプル バインドは、ユーザー名とパスワードを使用した認証によってセッションを確立する方法です。デフォルトでは、Tableau Server は Windows Active Directory に接続する際、セッションを暗号化するために StartTLS を試みます。有効な TLS 証明書が Tableau Server にある場合、セッションは暗号化されます。そうでない場合、シンプル バインドによる LDAP は暗号化されません。シンプル バインドによる LDAP を構成する場合、SSL/TLS 経由の LDAP を有効にすることを強くお勧めします。

  • GSSAPI バインド: GSSAPI は Kerberos を使用して認証します。キータブ ファイルを使用して構成した場合、GSSAPI バインド時の認証はセキュリティで保護されます。ただし、LDAP サーバーへの後続のトラフィックは暗号化されません。SSL/TLS 経由で LDAP を構成することをお勧めします。重要: StartTLS は Active Directory への GSSAPI バインドではサポートされていません。

    Active Directory ドメインに結合されているコンピューターの Linux 上で Tableau Server を実行している場合は、GSSAPI を構成できます。GSSAPI (Kerberos) バインドを使用した LDAPを参照してください。

このトピックでは、Tableau Server と LDAP ディレクトリ サーバー間の通信に使用するシンプル LDAP バインド用のチャネルを暗号化する方法について説明します。

証明書の要件

  • 暗号化に使用できる有効な PEM エンコードされた x509 SSL/TLS 証明書が必要です。証明書ファイルの拡張子は .crt である必要があります。

  • 自己署名証明書はサポートされていません。

  • インストールする証明書には、SSL/TLS に使用するキー使用フィールドに Key Encipherment が含まれている必要があります。Tableau Server では、この証明書を LDAP サーバーへのチャネルの暗号化にのみ使用します。有効期限、信頼、CRL、およびその他の属性は検証されません。

  • Tableau Server を分散展開で実行している場合は、SSL 証明書をクラスタの各ノードに手動でコピーする必要があります。Tableau Server のアプリケーション サーバー プロセスが構成されているノードだけに証明書をコピーします。クラスタ環境内の他の共有ファイルとは異なり、LDAP で使用される SSL 証明書は、クライアント ファイル サービスによって自動的に配布されることはありません。

  • PKI またはサードパーティ以外の証明書を使用している場合は、CA ルート証明書を Java 信頼ストアにアップロードします。

Tableau キーストアへの証明書のインポート

LDAP サーバー向けに構成したコンピューターに証明書をまだ配置していない場合は、LDAP サーバーで使用する SSL 証明書を入手し、それを Tableau システムのキーストアにインポートする必要があります。

Java ツールの "keytool" を使用して証明書をインポートします。既定では、このツールは次の場所で Tableau Server と共にインストールされます。

/opt/tableau/tableau_server/packages/repository.<installer version>/jre/bin/keytool

次のコマンドは、証明書をインポートします。

sudo "<installation_directory>/packages/repository*/jre/bin/keytool -importcert -file "<cert_directory/<cert_name.crt>" -alias "<cert_alias>" -keystore /etc/opt/tableau/tableau_server/tableauservicesmanagerca.jks -storepass changeit -noprompt

Java キーストアのパスワードは changeit です。(Java キーストアのパスワードは変更しないでください)。

暗号化方式

Tableau Server 2021.1 以降では、シンプル バインド用の LDAP チャネルを暗号化する 2 つの方法 ( StartTLS および LDAPS) がサポートされています。

  • StartTLS: Tableau Server 2021.2 で Active Directory と通信するためのデフォルト構成です。Tableau Server 2021.2 以降、Active Directory へのシンプル バインド LDAP 接続では TLS が適用されます。これは既定の TLS 構成であり、新規のインストールとアップグレード シナリオの両方に適用されます。

    : StartTLS は、Linux 上の Tableau Server が Active Directory とシンプル バインドで通信する場合にのみサポートされます。StartTLS は、他のタイプの LDAP サーバーや GSSAPI との通信ではサポートされていません。

    StartTLS 方式は、Active Directory サーバーとのセキュリティで保護されていない接続を確立することによって機能します。クライアント/サーバーのネゴシエーションが完了すると、接続は TLS 暗号化接続にアップグレードされます。デフォルトの構成では、このシナリオで必要になるのは Tableau Server 上の有効な TLS 証明書のみです。他の構成は必要ありません。

  • LDAPS: セキュリティで保護された LDAP (LDAPS) は、より多くの構成を必要とする標準の暗号化チャネルです。具体的には、Tableau Server での TLS 証明書に加えて、ターゲット LDAP サーバーのホスト名とセキュリティで保護された LDAP ポートを設定する必要があります。

    LDAPS は、Active Directory サーバーを含む任意の LDAP サーバーでサポートされています。

シンプル バインド用の暗号化チャネルの構成

このセクションでは、LDAP シンプル バインド用の暗号化チャネルを使用するように Tableau Server を構成する方法について説明します。

構成するタイミング

Tableau Server は、初期ノード設定の構成の [TSM CLIの使用] タブで説明されているように、Tableau Server を初期化する前、または初期ノードの構成の一部として、LDAP シンプル バインド用の暗号化チャネルを使用するように構成する必要があります。

Tableau Server の新規インストールの場合

組織で Active Directory 以外の LDAP ディレクトリを使用している場合、Tableau Server インストールの一部として TSM GUI セットアップを使用して アイデンティティ ストアを構成することはできません。代わりに、JSON エンティティ ファイルを使用して LDAP アイデンティティ ストアを構成する必要があります。identityStore エンティティを参照してください。

identityStore エンティティを構成する前に、このトピックで前述されているように、有効な SSL/TLS 証明書を Tableau キー ストアにインポートします。

LDAPS を構成するには、identityStore JSON ファイルでホスト名と sslPort オプションを設定する必要があります。

Active Directory 環境での新規インストールの場合

Active Directory を外部アイデンティティ ストアとして使用している場合は、GUI バージョンの Tableau Server セットアップを実行する必要があります。Tableau Server をインストールするための CLI プロセスとは異なり、GUI バージョンのセットアップには、Active Directory の構成を簡略化して検証するロジックが含まれています。

Active Directory を構成する Tableau Server セットアップ GUI は次のとおりです。

Tableau Server の新しいインスタンスを Linux にインストールする際、Tableau キーストアに有効な SSL/TLS 証明書がインストールされている場合は、デフォルトのオプションを StartTLS に設定したままにしておくことをお勧めします。

LDAPS を構成する場合は、LDAPS オプションを選択する前に、LDAP サーバーのホスト名とセキュア ポート (通常は 636) を入力します。

インストール後にこれらの構成を変更するには、TSM Web UI にサインインして、[構成] タブ、[ユーザー ID とアクセス][アイデンティティ ストア] の順にクリックします。

アップグレード シナリオ

Tableau Server を 2021.2 またはそれ以降のバージョンにアップグレードする際、外部 ID ストアとして Active Directory を使用している場合は、暗号化されたチャネルが LDAP シンプル バインド接続に適用されます。暗号化されたチャネルが構成されていない場合、アップグレードは失敗します。

2021.2 以降のバージョンに正常にアップグレードするには、次のいずれかである必要があります。

  • 既存の Tableau Server インストールが LDAPS 用に構成されていて、Tableau キーストアに証明書がある。
  • アップグレードする前に、有効な SSL/TLS 証明書が Tableau キーストアに存在する。このシナリオでは、デフォルトの StartTLS 構成によって暗号化されたチャネルが有効になります。
  • 暗号化された LDAP チャネルが無効になっている。詳細については、次のセクションを参照してください。

デフォルトの暗号化 LDAP チャネルを無効にする

Linux で Tableau Server を実行し、Active Directory に接続している場合、暗号化チャネルを必要とする条件を無効にできます。

無効にすると、Active Directory とのバインド セッションの確立に使用するユーザー認証資格情報は、Tableau Server と Active Directory サーバー間でプレーンテキストで通信されます。

新規インストールで無効にする

ID ストアとして Active Directory を使用する場合は、TSM GUI を使用して Active Directory との接続を構成する必要があります。初期ノード設定の構成を参照してください。

セットアップを実行時に LDAP (暗号化されていないチャネル) を選択します。

アップグレードする前に無効にする

Tableau Server を 2021.2 より前のバージョンから 2021.2 またはそれ以降のバージョンにアップグレードする場合は、アップグレードする前に、以前のバージョンの Tableau Server で次のコマンドを実行してください。

tsm configuration set -k wgserver.domain.ldap.starttls.enabled -v false --force-keys
tsm pending-changes apply

キーが設定されていることを確認するには、次のコマンドを実行します。

tsm configuration get -k wgserver.domain.ldap.starttls.enabled

このコマンドは、 falseを返す必要があります。

エラー メッセージ

次のエラー メッセージが表示されるか、ログに記録される場合があります。これらのエラーが表示された場合は、次のステップを実行してください。

  • このトピックで前述されているように、証明書が有効で Tableau キー ストアにインポートされていることを確認します。
  • (LDAPS のみ) - ホストとポート名が正しいことを確認します。

GUI のセットアップの実行時

GUI のセットアップまたはアップグレードの実行時に LDAPS または StartTLS を正しく構成していない場合、次のエラーが表示されます。

TLS handshake failed. Tableau Server and the Active Directory server could not negotiate a compatible level of security.

Vizportal ログ

CLI を使用して LDAPS または StartTLS を構成している場合は、次のエラー メッセージは表示されません。代わりに、エラーは次の vizportal ログに記録されます /var/opt/tableau/tableau_server/data/tabsvc/logs/vizportal

Authentication with LDAP server failed. The provided credentials or configuration are either incorrect or do not have the necessary permissions to bind.
フィードバックをありがとうございます。フィードバックは正常に送信されました。ありがとうございます!