---
schema_version: "1"
id: 38822096f3f71f5d425996167a9bd59f4c18769952dfdb65e1965cc238780fbf
title: トークナイゼーションポリシー
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-gateway/policies-included-tokenization.md
canonical_url: https://docs.mulesoft.com/jp/mule-gateway/policies-included-tokenization
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 71074f89475e4e6125ec1b61ebfbf2933bc5d4b49a7797babf4e14333e50e94f
description: MuleSoft Documentation Site
latest: true
---
# トークナイゼーションポリシー

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>ポリシー名</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Tokenization (トークナイゼーション)</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>概要</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>機密データをトークンと呼ばれる非機密データ要素に変換する</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>カテゴリ</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>セキュリティ</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-top"><p class="tableblock"><strong>使用可能な最小 Mule バージョン</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>v4.1.1</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-right valign-middle" rowspan="3"><p class="tableblock"><strong>返される状況コード</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td class="tableblock halign-right valign-middle" rowspan="3"><div class="content"><div class="paragraph">
<p>400</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークンが無効であるか、トークナイゼーションが失敗した。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>指定した式が無効であるか、トークナイズする結果を返さない。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>返される状況コードは設定することができます。</p>
</div></div></td>
</tr>
</tbody>
</table></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>502 - トークナイゼーションサービスへの接続が使用できないか、設定されていない。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#概要)概要

トークナイゼーションは、機密データとみなされる可能性がある値または情報を、デトークナイゼーションの概念を使用してその元の値にマップできるトークンにマスクするプロセスです。API に機密データが含まれている場合、トークナイゼーションポリシーはそれを保護するための非常に効果的な方法です。

データは元の値と同じ形式で表示されますが、その実際の値は最初はわかりません。

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">このポリシーは、Anypont Runtime Fabric のデプロイメントでのみ機能するように設計されています。</td></tr></tbody></table>

トークナイゼーションは、サードパーティがデータにアクセスする場合に、機密データが元の値と同じになるリスクを最小限に抑えます。たとえばこのポリシーを使用して、クレジットカード番号、個人情報 (PII)、保護健康情報 (PHI)、同様の機密データを非表示にできます。

## [](#前提条件)前提条件

トークナイゼーションポリシーを適用し、管理するには、以下が必要です。

- **「Manage Policies (ポリシーの管理)」**​権限の取得。
- トークナイゼーションサービスを​[設定](https://docs.mulesoft.com/jp/anypoint-security/tokenization-example)​し、実行するには、以下が必要です。
    
    - Runtime Fabric のインストール
    - **「Manage Tokenization Services (トークナイゼーションサービスの管理)」**​権限の取得
- 稼働中のトークナイゼーションサービス

## [](#スコープと考慮事項)スコープと考慮事項

このポリシーを適用する前に、次の考慮事項を確認してください。

- ポリシーの 1 つのインスタンスでは、トークナイゼーションサービスが 1 つだけサポートされます。
    
    設定した形式はすべて同じトークナイゼーションサービスに含まれている必要があります。
- ポリシーの 1 つのインスタンスを使用して、要求と応答の両方ではなく、どちらか一方の値をトークナイズできます。
- ポリシーは、実行時までトークナイゼーションサービスの状態を認識しません。トークナイゼーションサービスを削除した場合、またはトークナイゼーションサービスが稼働していない場合、ポリシーはサービスとの通信を確立できません。これにより、サービスが再び使用可能になるまで、すべての要求が失敗します。 ポリシー設定時のサービスメニューには、使用できるトークナイゼーションサービスのみが表示されます。
    
    目的のサービスが表示されない場合、すでにデプロイされているかどうかを確認してください。

## [](#ポリシーのパラメーターの設定)ポリシーのパラメーターの設定

### [](#flex-gateway-のローカルモード)Flex Gateway のローカルモード

トークナイゼーションポリシーは、Flex Gateway のローカルモードではサポートされません。

### [](#flex-gateway-の接続モード)Flex Gateway の接続モード

トークナイゼーションポリシーは、Flex Gateway の接続モードではサポートされません。

### [](#mule-ゲートウェイ)Mule ゲートウェイ

UI からポリシーを API に適用するときに、以下のパラメーターが表示されます。

<table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">要素</th>
<th class="tableblock halign-left valign-top">説明</th>
<th class="tableblock halign-left valign-top">必須</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Direction (方向)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>要求と応答のどちらからトークナイズする値が抽出されるのか (デフォルト)。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>はい</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>Fail on unmatched expressions (式の不一致により失敗)</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>選択すると、式とトークンが一致しない場合に要求が失敗する。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>いいえ</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>サービス</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>現在の組織と環境で使用可能なトークナイゼーションサービス。リストから必要なサービスを選択します。使用可能な形式は、選択したサービスによって異なります。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>はい</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>式</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークナイズされる情報を抽出するセレクター式。</p>
</div>
<div class="paragraph">
<p>次に例を示します。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-expression hljs" data-lang="expression">#[payload.people.creditCardNumber]</code></pre>
</div>
</div>
<div class="paragraph">
<p>項目の区切り文字としてドットを使用する式のみが許可されています。​<code>#[payload.people.creditCardNumber]</code>​ は有効ですが、​<code>#[payload[‘people’]]</code>​ は無効です。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>いいえ。<br>
セレクター式を指定しない場合、ポリシーは適用されますが、ペイロードからは何もトークナイズされません。</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>形式</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>トークナイズされる情報の種別。形式は選択したサービスによって異なります。</p>
</div>
<div class="paragraph">
<p>リストに形式が表示されない場合、選択したトークナイゼーションサービスに少なくとも 1 つの形式が含まれていることを確認してください。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>いいえ<br>
形式を指定しない場合、ポリシーは適用されますが、ペイロードからは何もトークナイズされません。</p>
</div></div></td>
</tr>
</tbody>
</table>

## [](#ポリシーのしくみ)ポリシーのしくみ

トークナイゼーションポリシーは、メッセージペイロードの機密データ部分をトークナイズされた値に置き換えます。どの情報をトークナイズするのかを定義するには、セレクター式を使用する必要があります。

### [](#例)例

ポリシーを受信するペイロードに次の構造が含まれているとします。

```JSON
{
  "name":"Amun Ra",
  "socialSecurityNumber":"365-93-2738"
}
```

社会保障番号 (socialSecurityNumber) をトークナイズする場合、次のセレクター式を使用できます。

```expression
#[payload.socialSecurityNumber]
```

最上位レベルに ​`socialSecurityNumber`​ を含む要求をポリシーが受信するたびに、まず指定した式に一致するトークンがすべて抽出されます。次にトークナイゼーションサービスとの接続が確立され、最後にペイロード内のトークナイズされた値が、サービスから提供された値に置き換えられます。  
例の社会保障番号のトークナイズされた値が 167-47-9268 だった場合、アプリケーションは次のペイロードを受信します。

```json
{
  "name":"Amun Ra",
  "socialSecurityNumber":"167-47-9268"
}
```

ペイロードの要求または応答の値をトークナイズするようにトークナイゼーションポリシーを設定できます。

### [](#要求のトークナイズ)要求のトークナイズ

要求をトークナイズすると、次のイベントが発生します。

![セキュリティ、トークナイゼーション、Mule アプリケーション間のデータフローを示す図](/mulesoft/current/ja-jp/mule-gateway/_images/policy-mule4-tokenization-67b25.png)

1. ユーザーがポリシーで保護されたアプリケーションに要求を実行します。
2. 要求は最初に Anypoint Security に送信され、その後アプリケーションのトークナイゼーションポリシーに送信されます。
3. トークナイゼーションポリシーにより、セレクター式に一致するすべてのトークンが抽出されます。
4. トークナイゼーションサービスは、トークンを受信して変換した後、その結果をポリシーに返します。
5. ポリシーによってペイロードがトークナイズされた値に置き換えられ、Mule アプリケーションに転送されます。
6. Mule アプリケーションは要求を処理して結果を返します。

### [](#応答のトークナイズ)応答のトークナイズ

応答をトークナイズすると、次のイベントが発生します。

![トークナイゼーションサービスのデータフローを示す図](/mulesoft/current/ja-jp/mule-gateway/_images/policy-mule4-tokenization-9347d.png)

1. ユーザーがポリシーで保護されたアプリケーションに要求を実行します。
2. 要求は最初に Anypoint Security に送信され、その後アプリケーションのトークナイゼーションポリシーに送信されます。
3. トークナイゼーションポリシーは Mule の応答をトークナイズし、ペイロードから何も抽出せずに要求をリダイレクトします。
4. Mule アプリケーションは要求を処理して結果を返します。
5. トークナイゼーションポリシーにより、セレクター式を使用してトークンがペイロードから抽出されます。
6. トークナイゼーションサービスは、トークンを受信して変換した後、その結果をポリシーに返します。
7. ペイロード内にトークナイズされた値を含む応答がトークナイゼーションポリシーからユーザーに返されます。

## [](#関連情報)関連情報

- [トークナイゼーションサービス](https://docs.mulesoft.com/jp/anypoint-security/tokenization)
- [トークナイゼーション形式](https://docs.mulesoft.com/jp/anypoint-security/tokenization-formats)
- [トークナイゼーションポリシーリリースノート](https://docs.mulesoft.com/jp/release-notes/policies/tokenization-release-notes)