identityStore エンティティ

Tableau Server にはユーザーやグループの情報を格納するためのアイデンティティ ストアが必要です。アイデンティティ ストアを始めて構成する前に認証およびアイデンティティ ストアのトピックを確認しておいてください。Tableau Server でアイデンティティ ストアをインストールした後は、サーバーを再インストールしない限り、これを変更することはできません。

重要: エンティティ オプションは、すべて大文字と小文字を区別します。

はじめる前に

次の情報を確認します。

  • ローカルのアイデンティティ ストアを使用しない場合は、LDAP のいずれかのバージョンを使用することになります。この場合は、ディレクトリ/LDAP の管理者に問い合わせて、お使いの LDAP スキーマとバインド要件に応じて Tableau Server を構成してください。

  • Tableau Server 構成は Active Directory 用に最適化されています。Active Directory にインストールしている場合、初期ノード設定の構成を使用してアイデンティティ ストアを構成することをお勧めします。

  • LDAP バインドはユーザー認証とは無関係です。たとえば、LDAP ディレクトリに対してシンプルなバインドを使用して認証するように Tableau Server を構成し、その後、インストール後に Kerberos によりユーザーを認証するように Tableau Server を構成できます。

  • 非セキュア接続でシンプル バインドの LDAP を接続しないでください。既定では、シンプル バインドの LDAP はデータをクリアテキストで送信します。LDAPS を使用して、シンプル バインドのトラフィックを暗号化します。外部の LDAP アイデンティティ ストアへの暗号化チャネルの構成を参照してください。

  • Tableau Server サービスで LDAP バインドに対して Kerberos 認証を使用するには、以下のセクションで説明するとおり、GSSAPI バインドの keytab ファイルが必要です。「Keytab 要件の理解」も参照してください。Kerberos では、Tableau Server のベース インストール時には GSSAPI バインドのみが必要です。サーバーのインストール後、Kerberos でユーザー認証を構成し、データ ソースに対する Kerberos 委任を構成することができます。

  • このトピックでは、LDAP (ディレクトリ サービスに接続するためのプロトコル) と LDAP サーバー (ディレクトリ サービスの実装) との違いを明確化します。たとえば、slapd は LDAP サーバーであり、OpenLDAP プロジェクトの一部です。

  • サーバーを初期化する前に LDAP 構成を検証します。「初期ノード設定の構成」を参照してください。

  • JSON 構成ファイルを初期構成の一部としてのみインポートします。JSON 構成ファイルをインポートして Tableau Server を初期化した後に LDAP に変更を加える必要がある場合は、JSON ファイルをインポートし直さないでください。その代わり、ネイティブの tsm コマンドまたは tsm configuration set を使用して、個々のキーを変更します。「外部のアイデンティティ ストアの構成リファレンス」を参照してください。

構成テンプレート

このセクションの JSON テンプレートは、さまざまなアイデンティティ ストア シナリオで Tableau Server を構成するために使用されます。ローカルアイデンティティ ストアを構成する場合を除き、LDAP 環境に固有の構成ファイル テンプレートを選択して編集する必要があります。

Tableau のアイデンティティ ストア構成ツール(新しいウィンドウでリンクが開く)を使用して LDAP JSON 構成ファイルを生成することを検討してください。ツール自体は Tableau ではサポートされていません。ただし、ファイルを手動で作成する代わりにこのツールで作成された JSON ファイルを使用しても、サポートされるサーバーのステータスは変わりません。

編集するアイデンティティ ストアの構成テンプレートを次から選択します。

  • ローカル
  • LDAP - Active Directory
  • OpenLDAP - GSSAPI バインド
  • OpenLDAP - シンプル バインド

構成ファイル、エンティティ、およびキーの詳細については、「構成ファイルの例」を参照してください。

ローカル

ユーザー認証に Active Directory または LDAP サーバーを導入していない組織の場合は、アイデンティティ ストアのタイプとしてローカルを構成してください。アイデンティティ ストアのタイプにローカルを選択する場合は、ユーザーの作成および管理には Tableau Server を使用します。

別の方法で Tableau Server をローカル アイデンティティ ストア用に構成するには、セットアップ GUI を実行し、インストール プロセス中に [ローカル] を選択します。「初期ノード設定の構成」を参照してください。

{
  "configEntities": {
    "identityStore": {
       "_type": "identityStoreType",
       "type": "local"
     }
   }
}			
		

重要

以下の LDAP 構成テンプレートは例です。表示されたテンプレートでは組織に LDAP 接続が構成されません。ディレクトリの管理者と連携し、正常に実行された展開の LDAP テンプレート値を編集する必要があります。

また、configEntities で参照されているすべてのファイルがローカル コンピューター上に配置されている必要があります。UNC パスは指定しないでください。

LDAP - Active Directory

Tableau Server 構成は Active Directory 用に最適化されています。Active Directory にインストールしている場合は、初期ノード設定の構成を使用してアイデンティティ ストアを構成してください。

Active Directory への暗号化された接続が必要です。外部の LDAP アイデンティティ ストアへの暗号化チャネルの構成を参照してください。

何らかの理由で、Tableau サービス マネージャーの Web インターフェイスを使用して Active Directory と通信するようにアイデンティティ ストアを構成できない場合は、この JSON テンプレートを使用して、Tableau Server が Active Directory に接続するように構成します。このテンプレートは GSSAPI (Kerberos) バインドを使用して、Active Directory に対して Tableau Server サービスを認証します。Tableau Server には Active Directory スキーマのサポートが含まれています。このため、"directoryServiceType" オプションを "activedirectory" に設定すると、"identityStoreSchemaType" オプションにスキーマ情報を指定する必要がありません。

Active Directory に Tableau Server for Linux をインストールしており、Tableau Server のインストール先の PC が既にドメインに結合している場合、PC には既に Kerberos 構成ファイルおよび keytab ファイルがあります。厳密にはこれらのファイルを GSSAPI バインドに使用することはできますが、その使用を推奨していません。代わりに、Active Directory の管理者に連絡して Tableau Server サービス専用のキータブを要求してください。

{
  "configEntities":{
    "identityStore": {
		"_type": "identityStoreType",
		"type": "activedirectory",
		"domain": "your-domain.lan",
		"nickname": "YOUR-DOMAIN-NICKNAME",
		"directoryServiceType": "activedirectory",
		"bind": "gssapi",
		"kerberosKeytab": "<path to local key tab file>",
		"kerberosConfig": "/etc/krb5.conf",
		"kerberosPrincipal": "your-principal@YOUR.DOMAIN"
		}
	}
}			

GSSAPI を使用して Active Directory にバインドする方法が推奨されますが、シンプル バインドや LDAPS による接続もできます。シンプル バインドで接続するには、 bind simple に変更し、3 つの Kerberos エンティティを削除して、port/sslPortusernamepassword オプションを追加します。次の例はシンプル バインド json の Active Directory を示します。

{
  "configEntities":{
	"identityStore": {
		"_type": "identityStoreType",
		"type": "activedirectory",
		"domain": "your-domain.lan",
		"nickname": "YOUR-DOMAIN-NICKNAME",
		"directoryServiceType": "activedirectory",
		"hostname": "optional-ldap-server", 
		"sslPort": "636",
		"bind": "simple",
		"username": "username",
		"password": "password"	
		}
	}
}			
		

OpenLDAP - GSSAPI バインド

以下のテンプレートを使用し、GSSAPI バインドで OpenLDAP を構成します。組織が Active Directory を実行している場合はこのテンプレートを使用しないでください。Active Directory にインストールしている場合は、上記のテンプレートである LDAP - Active Directory を使用してください。

GSSAPI (Kerberos) で OpenLDAP を使用するほとんどの組織は、認証資格情報を格納するために keytab ファイルを使用します。次の例では、認証資格情報に keytab ファイルを使用します。

ただし、usernamepassword エンティティを通じて認証資格情報を提供できます。

また、keytab、ユーザー名、およびパスワードのペアをすべて指定することもできます。この場合は、Tableau Server は keytab の使用を試みますが、何らかの理由で認証に失敗した場合はフォールバックし、ユーザー名とパスワードの認証資格情報を使用します。

{
  "configEntities":{
		"identityStore": {
			"_type": "identityStoreType",
			"type": "activedirectory",
			"domain": "your-domain.lan",
			"nickname": "YOUR-DOMAIN-NICKNAME",
			"directoryServiceType": "openldap",
			"bind": "gssapi",
			"kerberosKeytab": "<path to local key tab file>",
			"kerberosConfig": "/etc/krb5.conf",
			"kerberosPrincipal": "your-principal@YOUR.DOMAIN",
			"identityStoreSchemaType": {
			   "userBaseFilter": "(objectClass=inetOrgPerson)",
			   "userUsername": "user",
			   "userDisplayName": "displayname",
			   "userEmail": "email",
			   "userCertificate": "certificate",
			   "userThumbnail": "thumbnail",
			   "userJpegPhoto": "photo",
			   "groupBaseFilter": "(objectClass=groupofNames)",
			   "groupName": "groupname",
			   "groupEmail": "groupemail",
			   "groupDescription": "groupdescription",
			   "member": "member",
			   "distinguishedNameAttribute": "",
			   "serverSideSorting": "",
			   "rangeRetrieval": "",
			   "userClassNames": ["inetOrgPerson","someClass2"],
			   "groupClassNames": ["groupOfUniqueNames1","groupOfUniqueNames2"]
			   }
		   }			
	  }			
}
		

OpenLDAP - シンプル バインド

{
  "configEntities":{
		"identityStore": {
			"_type": "identityStoreType",
			"type": "activedirectory",
			"domain": "my.root",
			"nickname": "",
			"hostname": "optional-ldap-server",
			"port": "389",
			"directoryServiceType": "openldap",
			"bind": "simple",
			"username": "cn=username,dc=your,dc=domain",
			"password": "password",
			"identityStoreSchemaType": {
			   "userBaseFilter": "(objectClass=inetOrgPerson)",
			   "userUsername": "user",
			   "userDisplayName": "displayname",
			   "userEmail": "email",
			   "userCertificate": "certificate",
			   "userThumbnail": "thumbnail",
			   "userJpegPhoto": "photo",
			   "groupBaseFilter": "(objectClass=groupofNames)",
			   "groupName": "groupname",
			   "groupEmail": "groupemail",
			   "groupDescription": "groupdescription",
			   "member": "member",
			   "distinguishedNameAttribute": "",
			   "serverSideSorting": "",
			   "rangeRetrieval": "",
			   "userClassNames": ["inetOrgPerson","someClass2"],
			   "groupClassNames": ["groupOfUniqueNames1","groupOfUniqueNames2"]
			   }
		 }
  }
}			
		

構成テンプレート リファレンス

共有されるアイデンティティ ストア オプション

type
ユーザーの ID 情報を格納する場所。local または activedirectory。(LDAP サーバーに接続したい場合は、activedirectory を選択します。)
domain
Tableau Server をインストールしたコンピューターのドメイン。
nickname
ドメインのニックネーム。これは Windows 環境の NetBIOS 名としても参照されます。
すべての LDAP エンティティに nickname オプションが必要です。組織でニックネームや NetBIOS 名が不要な場合は、ブランク キーを渡します (例: "nickname": "")。

LDAP GSSAPI バインド オプション

directoryservicetype
接続するディレクトリ サービスのタイプ。activedirectory または openldap
kerberosConfig
ローカル コンピューター上の Kerberos 構成ファイルのパス。Active Directory にインストールしている場合、ドメインで結合したコンピューターにある可能性がある既存の Kerberos 構成ファイルや keytab ファイルを使用することは推奨されていません。「アイデンティティ ストア」を参照してください。
kerberosKeytab
ローカル コンピューター上の Kerberos keytab ファイルのパス。Tableau Server サービス専用のキーで keytab ファイルを作成し、この keytab ファイルをコンピューター上の他のアプリケーションと共有しないことが推奨されます。たとえば、Linux では /var/opt/tableau/keytab ディレクトリに keytab ファイルを配置することができます。
kerberosPrincipal
ホスト マシン上の Tableau Server のサービス プリンシパル名。keytab には、このプリンシパルに対するパーミッションがなくてはなりません。/etc/krb5.keytab にある既存のシステム keytab を使用しないでください。代わりに、新しいサービス プリンシパル名の登録を推奨しています。指定された keytab のプリンシパルを表示するには、klist -k コマンドを実行します。「Keytab 要件の理解」を参照してください。

LDAP シンプル バインドのオプション

directoryservicetype
接続するディレクトリ サービスのタイプ。activedirectory または openldap
hostname
LDAP サーバーのホスト名です。この値のホスト名または IP アドレスを入力できます。ここで指定するホストは、プライマリ ドメインのユーザー/グループ クエリのみに使用されます。ユーザー/グループ クエリが他のドメイン (プライマリ ドメインではない) にある場合、Tableau Server はこの値を使用しませんが、代わりに DNS に対してクエリを実行して適切なドメイン コントローラーを識別します。
port
LDAP サーバーの非セキュア ポートを指定するためにこのオプションを使用します。プレーン テキストは通常 389 です。
sslPort
このオプションを使用して LDAPS を有効にします。LDAP サーバーのセキュア ポートを指定します。通常 LDAPS はポート 636 です。LDAPS を使用するには、ホスト名オプションも指定する必要があります。外部の LDAP アイデンティティ ストアへの暗号化チャネルの構成を参照してください。
username
ディレクトリ サービスとの接続に使用するユーザー名です。指定するアカウントには、ディレクトリ サービスをクエリするパーミッションが必要です。Active Directory にはユーザー名 (jsmith など) を入力します。LDAP サーバーには、接続に使用するユーザーの識別名 (DN) を入力します。たとえば、「cn=username,dc=your-local-domain,dc=lan」と入力できます。
password
LDAP サーバーとの接続に使用するユーザー名のパスワードです。

LDAPS とサブドメイン

Active Directory で LDAPS を有効にしてサブドメインに接続している場合は、次の TSM コマンドを実行して、サブドメインの LDAPS ポート (TCP 636) を構成する必要があります。コマンドは、subdomainFQDN:port を指定する引数を受け取ります。

例: tsm configuration set -k wgserver.domain.ldap.domain_custom_ports -v subdomain1.lan:636,subdomain2.lan:636,subdomain3.lan:636

詳細については、「tsm configuration set のオプション」を参照してください。

共有 LDAP オプション。

以下のオプションは、汎用 LDAP、OpenLDAP、または Active Directory の実装に設定することができます。

bind
Tableau Server サービスから LDAP ディレクトリ サービスへの通信を認証する方法。GSSAPI (Kerberos) には「gssapi」と入力します。
domain
Active Directory 環境で、Tableau Server がインストールされているドメインを指定します (例: "example.lan")。
Active Directory 環境ではない LDAP の場合: この値に入力した文字列は、ユーザー管理ツールの [ドメイン] 列に表示されます。任意の文字列を入力できますが、キーを空白にすることはできません。

root

LDAP のみ。Active Directory 用に指定しないでください。
LDAP ルートでドメイン コンポーネントを使用しない場合、またはより複雑なルートを指定する必要がある場合には、LDAP ルートの設定が必要です。"o=my,u=root" の形式を使用します。たとえば、example.lan ドメインのルートは "o=example,u=lan" となります。
membersRetrievalPageSize
このオプションによって、LDAP クエリで返される結果の最大数が決まります。
たとえば、Tableau Server で 50,000 ユーザーを含む LDAP グループをインポートするというシナリオについて検討します。単一の操作でこのような多数のユーザーが含まれるインポートを試行することは、ベスト プラクティスではありません。このオプションを 1,500 に設定すると、Tableau Server は最初の応答でまず 1,500 ユーザーをインポートします。それらのユーザーが処理されたら、Tableau Server で次の1,500 ユーザーを LDAP サーバーからリクエストする、という手順です。
このオプションは、お使いの LDAP サーバーの要件に対応する場合にのみ変更することをお勧めします。

identityStoreSchemaType オプション

LDAP サーバーとの LDAP 接続を構成する場合、LDAP サーバーに固有のスキーマ情報を identityStoreSchemaType オブジェクトに入力できます。

重要: Active Directory ("directoryServiceType": "activedirectory") に接続している場合、次のオプションは構成しないでください。

userBaseFilter
Tableau Server のユーザーが使用するように設定するフィルターです。たとえば、オブジェクト クラス属性および組織単位属性を指定する場合があります。
userUsername
LDAP サーバーのユーザー名に該当する属性です。
userDisplayName
LDAP サーバーのユーザーの表示名に該当する属性です。
userEmail
LDAP サーバーのユーザーのメール アドレスに該当する属性です。
userCertificate
LDAP サーバーのユーザーの証明書に該当する属性です。
userThumbnail
LDAP サーバーのユーザーのサムネイル画像に該当する属性です。
userJpegPhoto
LDAP サーバーのユーザー プロフィール画像に該当する属性です。
groupBaseFilter
Tableau Server のユーザー グループが使用するように設定するフィルターです。たとえば、オブジェクト クラス属性および組織単位属性を指定する場合があります。
groupName
LDAP サーバーのグループ名に対応する属性です。
groupEmail
LDAP サーバーのグループの電子メール アドレスに対応する属性です。
groupDescription
LDAP サーバーのグループの説明に対応する属性です。
member
グループに一覧されているユーザーについて説明する属性です。
distinguishedNameAttribute
ユーザーの識別名を格納する属性です。この属性はオプションですが、LDAP クエリのパフォーマンスが大きく向上します。
serverSideSorting
クエリ結果をサーバー側で並べ替えるように LDAP サーバーを構成しているかどうかを示します。お使いの LDAP サーバーがサーバー側の並べ替えをサポートしている場合は、このオプションを true に設定します。LDAP サーバーがこれをサポートしているかどうかが不明な場合は、構成でエラーが発生する可能性があるため false と入力します。
rangeRetrieval
リクエストに対するクエリ結果の範囲を返すように LDAP サーバーを構成しているかどうかを示します。これは、多数のユーザーが含まれるグループが一度にではなく小分けにしてリクエストされることを意味します。範囲取得をサポートする LDAP サーバーは、クエリが大きい場合により良いパフォーマンスを発揮します。お使いの LDAP サーバーが範囲取得をサポートしている場合は、このオプションを true に設定します。LDAP サーバーがこれをサポートしているかどうかが不明な場合は、構成でエラーが発生する可能性があるため false と入力します。
groupClassNames
既定では、Tableau Server が「group」文字列を含む LDAP グループ オブジェクト クラスを探します。お使いの LDAP グループ オブジェクトが既定のクラス名に適合しない場合、この値を設定することでデフォルトを上書きします。コンマで区切って複数のクラス名を入力できます。このオプションは、各 クラスを引用符で囲み、コンマ (スペースなし) で区切り、括弧内で囲む必要がある文字列のリストを受け取ります。例: ["basegroup","othergroup"]
userClassNames
既定では、Tableau Server が「user」および「inetOrgPerson」の文字列を含む LDAP ユーザー オブジェクト クラスを探します。お使いの LDAP ユーザー オブジェクトが既定のクラス名に適合しない場合、この値を設定することでデフォルトを上書きします。コンマで区切って複数のクラス名を入力できます。このオプションは、各 クラスを引用符で囲み、コンマ (スペースなし) で区切り、括弧内で囲む必要がある文字列のリストを受け取ります。例: ["userclass1",userclass2”]

JSON ファイルのインポート

JSON ファイルの編集が完了したら、次のコマンドを使用して、ファイルを渡し、設定を適用します。

tsm settings import -f path-to-file.json

tsm pending-changes apply

保留中の変更にサーバーの再起動が必要な場合は、pending-changes apply コマンドの実行時に、再起動が行われることを知らせるメッセージが表示されます。このメッセージはサーバーが停止していても表示されますが、その場合には再起動は行われません。--ignore-prompt オプションを使用してメッセージが表示されないようにできますが、そのようにしても再起動に関する動作が変わることはありません。変更に再起動が必要ない場合は、メッセージなしで変更が適用されます。詳細については、tsm pending-changes applyを参照してください。

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