---
schema_version: "1"
id: e202279df8996d7389ab66b98af075cadb3b3b669bf71fa121e079d7ea623fc1
title: コンテンツ セキュリティ ポリシー
collection: tableau
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/tableau/current/ja-jp/server/security_csp.md
canonical_url: https://help.tableau.com/current/server/ja-jp/security_csp.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 5ceb6a6cb6ae4d150ecea90186c6942e3a3f6ab5a192e5fded6bdfd0e9bb3ff7
description: Configure and enable Content Security Policy on Tableau Server.
---
[メイン コンテンツに進む](#main-content)

# コンテンツ セキュリティ ポリシー

Tableau Server では、コンテンツ セキュリティ ポリシー (CSP) 標準をサポートしています。CSP は、クロスサイト スクリプティングやその他の悪意のある Web ベースの攻撃に対する追加のセキュリティ レイヤーになることを目的としています。CSP は HTTP 応答ヘッダーとして実装され、スクリプトやイメージなどの外部リソースを安全に読み込むことができる場所を指定できます。

CSP の詳細については、 [Mozilla の Web サイト](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) を参照してください。

## CSP の構成と有効化

CSP は、[tsm configuration set のオプション](https://help.tableau.com/current/server/ja-jp/cli_configuration-set_tsm.htm) コマンドを使用して構成され、有効化されます。分散展開で Tableau Server を実行している場合は、クラスタ内の最初のノードでこれらのコマンドを実行します。[tsm pending-changes apply](https://help.tableau.com/current/server/ja-jp/cli_pending-changes.htm#pending-changes-apply) を実行すると、クラスタに構成が適用されます。

### ステップ 1: 既定のディレクティブの設定

Tableau Server には以下の表に記載された一連の既定のディレクティブが含まれています。

ディレクティブを設定するには、次の tsm 構文を使用します。

`tsm configuration set -k content_security_policy.directive.<directive_name> -v "<value>"`

たとえば、`connect_src` ディレクティブを設定するには、次のコマンドを実行します。

`tsm configuration set -k content_security_policy.directive.connect_src -v "* unsafe-inline"`

<table style="width: 100%;" class="simple-table">
                    <colgroup><col style="width: 45%;">
                    <col style="width: 20%;">
                    <col style="width: 25%;">
                    </colgroup><tbody>
                        <tr>
                            <th>オプション</th>
                            <th>既定値</th>
                            <th>
                                <p>説明</p>
                            </th>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.default_src</td>
                            <td>‘none’</td>
                            <td>
                                <p>その他のフェッチ ディレクティブのフォールバックとして機能します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src" target="_blank"><code>default_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.connect_src</td>
                            <td>*</td>
                            <td>
                                <p>スクリプト インターフェイスを使用して読み込むことのできる URL を制限します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src" target="_blank"><code>connect_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.script_src</td>
                            <td>*</td>
                            <td>
                                <p>JavaScript の有効なソースを指定します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src" target="_blank"><code>script_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.style_src</td>
                            <td>* ‘unsafe-inline’</td>
                            <td>
                                <p>スタイルシートの有効なソースを指定します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src" target="_blank"><code>style_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.img_src</td>
                            <td>* data:</td>
                            <td>
                                <p>イメージおよびファビコンの有効なソースを指定します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src" target="_blank"><code>img_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.font_src</td>
                            <td>* data:</td>
                            <td>
                                <p>@font-face を使用して読み込まれるフォントの有効なソースを指定します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src" target="_blank"><code>font_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.frame_src</td>
                            <td>* data:</td>
                            <td>
                                <p>&lt;frame&gt; や &lt;iframe&gt; などの要素を使用して読み込む、ネストされたブラウジング コンテキストの有効なソースを指定します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-src" target="_blank"><code>frame_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.object_src</td>
                            <td>data:</td>
                            <td>
                                <p>&lt;object&gt;、&lt;embed&gt;、および &lt;applet&gt; 要素の有効なソースを指定します。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/object-src" target="_blank"><code>object_src</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.directive.report_uri</td>
                            <td>/vizql/csp-report</td>
                            <td>
                                <p>ユーザー エージェントに、CSP に対する違反行為の試行を報告するよう指示します。これらの違反レポートは、指定された URI に対する HTTP POST 要求を介して送信された JSON ドキュメントで構成されます。</p>
                                <p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-uri" target="_blank"><code>report_uri</code> の有効な値</a>
                                </p>
                            </td>
                        </tr>
                    </tbody>
                </table>

### ステップ 2: ディレクティブの追加 (オプション)

Tableau Server に含まれる既定のディレクティブは、CSP でサポートされているディレクティブのサブセットです。

サポートされる CSP ディレクティブの完全なリストについては、[https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) にアクセスしてください。

既存の既定セットにディレクティブを追加するには、content\_security\_policy.directive 名前空間に新しいディレクティブを追加します。新しいディレクティブを追加するときは、`--force-keys` パラメーターを含める必要があります。構文は、次のとおりです。

`tsm configuration set -k content_security_policy.directive.<new_directive_name> -v "<value>" --force-keys`

たとえば、[`worker-src`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/worker-src) ディレクティブを追加するには、次のコマンドを実行します。

`tsm configuration set -k content_security_policy.directive.worker-src -v "none" --force-keys`

### ステップ 3: レポート専用ディレクティブの指定 (オプション)

CSP を構成していくつかのディレクティブを報告したり他のディレクティブを実行したりできます。content\_security\_policy.enforce\_enabled を true に設定すると、すべてのディレクティブが実行されます (content\_security\_policy.report\_only\_enable が同様に true に設定されている場合でも適用されます)。

ディレクティブを「レポート専用」として指定し、実行しないように指定するには、ディレクティブを report\_only\_directive 名前空間に追加します。新しいディレクティブを追加するときは、`--force-keys` パラメーターを含める必要があります。構文は、次のとおりです。

`tsm configuration set -k content_security_policy.report_only_directive.<directive_name> -v "<value>" --force-keys`

たとえば、`script_src` ディレクティブでレポート専用にするには、次のコマンドを実行します。

`tsm configuration set -k content_security_policy.report_only_directive.script_src -v " http://*.example.com" --force-keys`

### ステップ 4: Tableau Server での CSP の有効化

ディレクティブを構成したら、Tableau Server で CSP を有効にします。

次のオプションを使用して、設定したディレクティブの実施やレポート専用モードを有効にします。

<table style="width: 100%;" class="simple-table">
                    <colgroup><col style="width: 45%;">
                    <col style="width: 20%;">
                    <col style="width: 25%;">
                    </colgroup><tbody>
                        <tr>
                            <th>オプション</th>
                            <th>既定値</th>
                            <th>
                                <p>説明</p>
                            </th>
                        </tr>
                        <tr>
                            <td>content_security_policy.enforce_enabled</td>
                            <td>false</td>
                            <td>
                                <p>CSP ヘッダーをすべての要求に追加して、すべての違反がブラウザーで実施されるようにします。</p>
                            </td>
                        </tr>
                        <tr>
                            <td>content_security_policy.report_only_enabled</td>
                            <td>true</td>
                            <td>CSP ヘッダーをすべての要求に追加して、すべての違反が vizql-client ログに記録されるようにしますが、ブラウザーで実施されることはありません。</td>
                        </tr>
                    </tbody>
                </table>

指定した CSP ディレクティブの実施を有効にするには、次のコマンドを実行します。

`tsm configuration set -k content_security_policy.enforce_enabled -v true`

### ステップ 5: tsm pending-changes apply の実行

CSP の構成が完了したら、[tsm pending-changes apply](https://help.tableau.com/current/server/ja-jp/cli_pending-changes.htm#pending-changes-apply) を実行します。

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

## CSP レポートの表示

指定した viz に CSP 違反を表示するには、開発者ツールを含むブラウザーに viz を読み込みます。この例では Chrome ブラウザーを使用します。

1. CSP を構成した Tableau Server 展開でホストされている、違反のあるテスト viz を読み込みます。
2. `CTRL+Shift+I` を押して Chrome で開発者ツールを開きます。
3. **\[ネットワーク\]** タブをクリックします。
4. **\[フィルター\]** フィールドで、`csp-report` と入力してから **\[すべて検索\]** をクリックします。
    
    - 違反がない場合は、検索で CSP レポートが返されません。
    - 違反がある場合は、結果ペインの \[ヘッダー\] タブをクリックして下部までスクロールし、**\[リクエスト ペイロード\]** を表示します。