手順 4 - 入力場所と出力場所を許可リストに登録する
このトピックでは、この機能に適用されるルールと、ネットワーク上のディレクトリを許可リストに登録する方法について説明します。
フローの入力接続と出力接続では、ネットワーク上のディレクトリにあるデータベースやファイルへの接続が必要な場合があります。アクセスを許可するディレクトリを許可リストに登録する必要があります。入力接続と出力接続は、許可リストに登録されている場所にあるデータへの接続のみ許可されます。既定では、接続は許可されません。
注: フローとフロー ファイル (tflx) に埋め込まれているデータを Tableau Server に引き続きパブリッシュすることはできますが、ディレクトリが組織の許可リストに含まれていない場合、フローの実行でエラーが発生します。
入力場所と出力場所を許可リストに登録する方法
この設定を構成するときは、次のルールを適用し、考慮に入れる必要があります。
ディレクトリ パスに Tableau Server からアクセスできる必要があります。これらのパスはサーバー起動時およびフロー実行時に検証されますが、フローを Tableau Server にパブリッシュする時点では検証されません。
ネットワーク ディレクトリ パスは絶対パスである必要があり、ワイルドカードやパスを横断する他の記号を含めることはできません。たとえば、
\\myhost\myShare\*
または\\myhost\myShare*
は無効なパスであるため、すべてのパスが許可されません。myShare の下にあるすべてのフォルダーを許可リストに登録する正しい方法は、\\myhost\myShare
または\\myhost\\myShare\
です。注:
\\myhost\myShare
構成では\\myhost\myShare1
が許可されません。これらのフォルダーを両方とも許可リストに登録するには、これらを \\myhost\myShare; \\myhost\myShare1 としてセーフ リストに登録します。Windows:
値は
*
(例:tsm configuration set -k maestro.input.allowed_paths -v "*"
) にして任意のネットワーク ディレクトリを許可するか、または指定するネットワーク ディレクトリ パスのリストをセミコロン (;) で区切ったものとします。ディレクトリ パスのリストを指定する場合は、ファイル共有のルートではなく、特定のディレクトリを指定してください。- パスにスペースまたは特殊文字が含まれる場合、単一引用符または二重引用符を使用する必要があります。単一引用符または二重引用符を使用するかどうかは、使用しているシェルによって異なります。
値が
*
に設定されている場合でも、ローカル ディレクトリ パスは許可されません。フロー出力をネットワーク共有に保存するには、まず Tableau Server で実行ユーザー(新しいウィンドウでリンクが開く)のサービス アカウントを構成する必要があります。既定のシステム アカウントを使用してネットワーク共有にフローを保存することはできません。次に、ネットワーク共有上のターゲット ディレクトリを構成して、作成した実行ユーザー アカウントがフル コントロール パーミッションでアクセスできるようにします。
ネストされたフォルダーのパーミッションの管理方法は組織によって異なるため、場合によっては、実行ユーザー アカウントに対して、フォルダー階層での読み取り、書き込み、実行、削除、およびフォルダーの一覧表示のみを許可する追加のパーミッションを付与して、実行ユーザーがターゲット フォルダーにアクセスできるようにする必要があります。
Linux:
値は、ローカル ("native_api.internal_disallowed_paths" を使用して構成された一部のシステム パスを除く) を含む任意のパスを意味する
*
にする (例:tsm configuration set -k maestro.input.allowed_paths -v "*"
) か、パスのリストをセミコロン (;) で区切ったものとします。使用するカーネル バージョンは 4.7 以降である必要があります。4.7 より前のカーネル バージョンでは、ネットワーク共有から許可リストへの登録はサポートされていません。以前のバージョンでは、出力がネットワーク共有に書き込まれると、Hyper 出力ファイルの生成が失敗するため、実行時にフローが失敗します。以前のバージョンのネットワーク共有から入力ファイルを読み取ると、フローの実行は失敗します。カーネル バージョンを確認するには、Linux のターミナルでコマンド
uname -r
を入力します。これにより、Linux マシンで実行しているカーネルのバージョンが完全に表示されます。Red Hat Enterprise Linux の場合、カーネル バージョン 4.7 以降は、Red Hat Enterprise Linux バージョン 8 でのみ使用可能であることに注意してください。- フロー出力をネットワーク共有に保存するには、Tableau Server リソースにアクセスできるローカルの Linux アカウントに、ネットワーク共有上のターゲット ディレクトリへのフル コントロール パーミッションが付与されている必要があります。許可されたフローのリストと internal_disallowed リストの両方にパスがある場合、internal_disallowed が優先されます。
フローで使用される入力パスと出力パスの両方のマウント ポイントは、native_api.unc_mountpoints
構成キーを使用して構成する必要があります。例:tsm configuration set -k native_api.unc_mountpoints -v 'mountpoints'
この構成の詳細については、Tableau ナレッジ ベースの記事「Linux 上の Tableau Server - Windows 共有ディレクトリへの接続方法(新しいウィンドウでリンクが開く)」を参照してください。
許可されているネットワーク ディレクトリ パスのリストを作成するには、次のコマンドを使用します。
入力接続の場合:
tsm configuration set -k maestro.input.allowed_paths -v your_networkdirectory_path_1;your_networkdirectory_path_2
tsm pending-changes apply
出力接続の場合:
tsm configuration set -k maestro.output.allowed_paths -v your_networkdirectory_path_1;your_networkdirectory_path_2
tsm pending-changes apply
重要:
これらのコマンドにより既存の情報が上書きされ、提供した新しい情報に取って代わります。既存のリストに新しい場所を追加する場合は、すべての場所、既存の場所、追加する新しい場所のリストを提供する必要があります。入力場所および出力場所の現在のリストを表示するには、次のコマンドを使用します。tsm configuration get -k maestro.input.allowed_paths
tsm configuration get -k maestro.output.allowed_paths
次の手順
実行可能なユーザー
Windows では、ローカル コンピューターの管理グループのメンバーが tsm コマンドを実行できます。
Linux では、tsmadmin グループのメンバーが tsm コマンドを実行できます。Tsmadmin グループは、tsm.authorized.groups 設定を使用して構成できます。