相互 SSL 認証の構成
相互 SSL を使用して、Tableau Desktop、Tableau Mobile、その他の承認済み Tableau クライアントのユーザーに Tableau Server への安全な直接アクセスを提供することができます。相互 SSL を使用すれば、有効な SSL 証明書を持つクライアントが Tableau Server に接続するときに、Tableau Server でクライアント証明書の存在を確認し、クライアント証明書内のユーザー名に基づいてユーザーを認証します。クライアントに有効な SSL 証明書がない場合、Tableau Server は接続を拒否することができます。
相互 SSL に失敗する場合、ユーザー名/パスワード認証を使用するよう Tableau Server を構成することもできます。さらに、フォールバック認証が構成されているかどうかに関係なく、REST API でユーザー名とパスワード (存在する場合) を使用してログインできます。
ユーザー認証セッションの時間制限
ユーザーが相互 SSL でログインすると、認証セッションは、Tableau Server のグローバル認証セッションの構成を制御するのと同じ方法で管理されます。
Web ブラウザーを使用して Tableau Server に接続するクライアントの場合、グローバル認証セッションの構成は、セキュリティ強化チェックリストに記載されています。
接続されたクライアント (Tableau Desktop、Tableau Mobile、Tableau Prep Builder、Bridge) のセッションでは、OAuth トークンを使用して、セッションを再確立することによりユーザーをログインしたままにします。既定では、OAuth クライアント トークンは 1 年経過後にリセットされます。クライアント トークンが 14 日間使用されなかった場合には有効期限切れになります。これらの値は、refresh_token.absolute_expiry_in_seconds
および refresh_token.idle_expiry_in_seconds
オプションの設定により変更できます。tsm configuration set のオプションを参照してください。
証明書の使用
相互 SSL を有効にして構成する前に、外部 SSL を構成する必要があります。外部 SSL は、Tableau Server をクライアントが認証するものであり、外部 SSL を構成するための証明書とキーを使用してセッションを暗号化します。
相互 SSL では、証明書ファイルがもう 1 つ必要です。ファイルは CA 証明書ファイルを連結したものです。ファイルの種類は .crt
.である必要があります。"CA" は、Tableau Server に接続するクライアント コンピューターに証明書を発行する認証局です。CA 証明書ファイルをアップロードするアクションによって信頼が確立されます。これにより、Tableau Server はクライアント コンピューターによって提示される個々の証明書を認証できます。
災害復旧計画の一環として、証明書ファイルと失効ファイル (該当する場合) のバックアップを Tableau Server 外部の安全な場所に保管することをお勧めします。Tableau Server に追加する証明書ファイルと失効ファイルは、クライアント ファイル サービスによって他のノードに格納および配布されます。ただし、ファイルは復元可能な形式では格納されません。Tableau Server クライアント ファイル サービスを参照してください。
RSA キーのサイズと ECDSA 曲線のサイズ
相互 SSL に使用される CA 証明書では、RSA キーの強度が 2048 であるか、ECDSA 曲線サイズが 256 である必要があります。
それぞれの構成キーを設定することによって、安全性の低いサイズを受け入れるように Tableau Server を構成できます。
- ssl.client_certificate_login.min_allowed.rsa_key_size
- ssl.client_certificate_login.min_allowed.elliptic_curve_size
tsm configuration set のオプションを参照してください。
クライアント 証明書要件
相互 SSL を使用してTableau Server に認証するユーザーは、セキュリティの最小要件を満たすクライアント証明書を提示する必要があります。
署名アルゴリズム
証明書には SHA-256 またはそれ以上の署名アルゴリズムを使用する必要があります。
SSL 相互認証用に構成された Tableau Server では、ユーザーが SHA-1 署名アルゴリズムを使用したクライアント証明書を提示すると、認証が拒否されます。
ユーザーが SHA-1 クライアント証明書を使用してログインしようとすると「サインインできません」というエラーが表示され、VizPortal ログには次のエラーが記録されます。
Unsupported client certificate signature detected: [certificate Signature Algorithm name]
ssl.client_certificate_login.blocklisted_signature_algorithms 構成オプションを設定することにより、安全性の低い SHA-1 署名アルゴリズムを受け入れるように Tableau Server を構成できます。
RSA キーのサイズと ECDSA 曲線のサイズ
相互 SSL に使用される クライアント 証明書では、RSA キーの強度が 2048 であるか、ECDSA 曲線サイズが 256 である必要があります。
これらの要件を満たしていないクライアント証明書から相互認証が要求されると、Tableau Server の認証は失敗します。それぞれの構成キーを設定することにより、安全性の低いサイズを受け入れるように Tableau Server を構成できます。
- ssl.client_certificate_login.min_allowed.rsa_key_size
- ssl.client_certificate_login.min_allowed.elliptic_curve_size
tsm configuration set のオプションを参照してください。
ブラウザーで TSM を開きます。
https://<tsm-computer-name>:8850詳細については、「Tableau サービス マネージャーの Web UI へのサインイン」を参照してください。
[構成] タブで [ユーザー ID とアクセス] > [認証方法] を選択します。
[認証方法] のドロップダウン メニューで [相互 SSL] を選択します。
[相互 SSL] で [クライアント証明書による相互 SSL と自動サインインを使用] を選択します。
[ファイルの選択] をクリックし、認証局 (CA) の証明書ファイルをサーバーにアップロードします。
このファイル (.crt) は、クライアント認証に使用する複数の CA 証明書を含んでいるオールインワンのファイルです。アップロードするファイルは、PEM でエンコードされたさまざまな証明書ファイルを優先順に連結したものである必要があります。
自分の組織の残りの SSL 構成情報を入力します。
ユーザー名の形式: Tableau Server で相互 SSL を構成する場合、サーバーはクライアント証明書からユーザー名を取得し、クライアント ユーザーの直接サインインを確立できるようにします。Tableau Server が使用する名前は、Tableau Server がユーザー認証用に設定される方法によって異なります。
- ローカル認証 — Tableau Server は証明書から UPN (ユーザー プリンシパル名) を使用します。
- Active Directory (AD)—Tableau Server は LDAP (ライトウェイト ディレクトリ アクセス プロトコル) を使用してユーザー名を取得します。
または、Tableau Server を設定してクライアント証明書から CN (共通名) を使用できます。
構成情報を入力したら、[保留中の変更を保存] をクリックします。
ページ上部の [変更を保留中] をクリックします。
[変更を適用して再起動] をクリックします。
ステップ 1: 外部サーバー通信に SSL が必要
Tableau Server と Web クライアントの間の外部通信に SSL を使用するよう Tableau Server を構成するには、サーバー証明書の .crt および .key ファイルの名前を指定して、次のように external-ssl enable
コマンドを実行します。
tsm security external-ssl enable --cert-file <file.crt> --key-file <file.key>
--cert-file
および--key-file
には、CA が発行したサーバーの SSL 証明書 (.crt) およびキー (.key) ファイルの保存場所とファイル名を指定します。上記のコマンドは、ユーザーが Tableau Server 上でサーバー管理者サイト ロールを持つユーザーとしてサインインしていることを前提としています。代わりに、
-u
および-p
パラメーターを使用して、管理者ユーザーおよびパスワードを指定することもできます。証明書キー ファイルにパスフレーズが必要な場合は、
--passphrase
パラメーターと値を含めます。
ステップ 2: 相互 SSL を構成して有効にする
サーバーと各クライアント間の相互認証を追加し、Tableau クライアント ユーザーが初回に認証資格情報を提供した後は直接認証されるようにします。
次のコマンドを実行します。
tsm authentication mutual-ssl configure --ca-cert <certificate-file.crt>
--ca-cert
には、認証局 (CA) 証明書ファイルの場所とファイル名を指定します。このファイル (.crt) は、クライアント認証に使用する複数の CA 証明書を含んでいるオールインワンのファイルです。アップロードするファイルは、PEM でエンコードされたさまざまな証明書ファイルを優先順に連結したものである必要があります。
次のコマンドを実行して相互 SSL を有効化し、変更を適用します。
tsm authentication mutual-ssl enable
tsm pending-changes apply
保留中の変更にサーバーの再起動が必要な場合は、
pending-changes apply
コマンドの実行時に、再起動が行われることを知らせるメッセージが表示されます。このメッセージはサーバーが停止していても表示されますが、その場合には再起動は行われません。--ignore-prompt
オプションを使用してメッセージが表示されないようにできますが、そのようにしても再起動に関する動作が変わることはありません。変更に再起動が必要ない場合は、メッセージなしで変更が適用されます。詳細については、tsm pending-changes applyを参照してください。
相互 SSL の追加オプション
mutual-ssl configure
を使用して、次のオプションをサポートするよう Tableau Server を構成することができます。
詳細については、「tsm authentication mutual-ssl <commands>」を参照してください。
フォールバック認証
Tableau Server が相互 SSL 向けに構成されている場合、認証は自動となり、クライアントは有効な証明書を持つ必要があります。フォールバック オプションを許可し、ユーザー名およびパスワード認証を受け付けるよう Tableau Server を構成することができます。
tsm authentication mutual-ssl configure -fb true
上記のオプションが false
に設定されている場合でも、Tableau Server は REST API クライアントからのユーザー名とパスワード認証を受け付けます。
ユーザー名マッピング
Tableau Server が相互 SSL 向けに構成されている場合、サーバーはクライアント証明書からユーザー名を取得することにより、ユーザーを直接認証します。Tableau Serverが使用する名前は、サーバーがユーザー認証用に設定される方法によって異なります。
ローカル認証 - 証明書から UPN (ユーザー プリンシパル名) を使用します。
Active Directory (AD) - LDAP (ライトウェイト ディレクトリ アクセス プロトコル) を使用してユーザー名を取得します。
これらの既定のいずれかを上書きし、Tableau Server が共通名を使用するように設定できます。
tsm authentication mutual-ssl configure -m cn
詳細については、相互認証中にクライアント証明書をユーザーにマッピングするを参照してください。
証明書失効リスト (CRL)
秘密キーの侵害が疑われる場合、または認証機関 (CA) が証明書を適切に発行しなかった場合、CRL の指定が必要になる場合があります。
tsm authentication mutual-ssl configure -rf <revoke-file.pem>