Flex Gateway新着情報
Governance新着情報
Monitoring API Managerポリシー名 |
Tokenization (トークナイゼーション) |
||||
概要 |
機密データをトークンと呼ばれる非機密データ要素に変換する |
||||
カテゴリ |
セキュリティ |
||||
使用可能な最小 Mule バージョン |
v4.1.1 |
||||
返される状況コード |
|
||||
502 - トークナイゼーションサービスへの接続が使用できないか、設定されていない。 |
トークナイゼーションは、機密データとみなされる可能性がある値または情報を、デトークナイゼーションの概念を使用してその元の値にマップできるトークンにマスクするプロセスです。API に機密データが含まれている場合、トークナイゼーションポリシーはそれを保護するための非常に効果的な方法です。
データは元の値と同じ形式で表示されますが、その実際の値は最初はわかりません。このポリシーは、Anypont Runtime Fabric のデプロイメントでのみ機能するように設計されています。
トークナイゼーションは、サードパーティがデータにアクセスする場合に、機密データが元の値と同じになるリスクを最小限に抑えます。たとえばこのポリシーを使用して、クレジットカード番号、個人情報 (PII)、保護健康情報 (PHI)、同様の機密データを非表示にできます。
トークナイゼーションポリシーを適用し、管理するには、以下が必要です。
「Manage Policies (ポリシーの管理)」権限の取得。
トークナイゼーションサービスを設定し、実行するには、以下が必要です。
Runtime Fabric のインストール
「Manage Tokenization Services (トークナイゼーションサービスの管理)」権限の取得
稼働中のトークナイゼーションサービス
このポリシーを適用する前に、次の考慮事項を確認してください。
ポリシーの 1 つのインスタンスでは、トークナイゼーションサービスが 1 つだけサポートされます。
設定した形式はすべて同じトークナイゼーションサービスに含まれている必要があります。
ポリシーの 1 つのインスタンスを使用して、要求と応答の両方ではなく、どちらか一方の値をトークナイズできます。
ポリシーは、実行時までトークナイゼーションサービスの状態を認識しません。トークナイゼーションサービスを削除した場合、またはトークナイゼーションサービスが稼働していない場合、ポリシーはサービスとの通信を確立できません。これにより、サービスが再び使用可能になるまで、すべての要求が失敗します。 ポリシー設定時のサービスメニューには、使用できるトークナイゼーションサービスのみが表示されます。
目的のサービスが表示されない場合、すでにデプロイされているかどうかを確認してください。
UI からポリシーを API に適用するときに、以下のパラメーターが表示されます。
要素 | 説明 | 必須 |
---|---|---|
Direction (方向) |
要求と応答のどちらからトークナイズする値が抽出されるのか (デフォルト)。 |
はい |
Fail on unmatched expressions (式の不一致により失敗) |
選択すると、式とトークンが一致しない場合に要求が失敗する。 |
いいえ |
サービス |
現在の組織と環境で使用可能なトークナイゼーションサービス。リストから必要なサービスを選択します。使用可能な形式は、選択したサービスによって異なります。 |
はい |
式 |
トークナイズされる情報を抽出するセレクター式。 次に例を示します。
項目の区切り文字としてドットを使用する式のみが許可されています。 |
いいえ。 |
形式 |
トークナイズされる情報の種別。形式は選択したサービスによって異なります。 リストに形式が表示されない場合、選択したトークナイゼーションサービスに少なくとも 1 つの形式が含まれていることを確認してください。 |
いいえ |
トークナイゼーションポリシーは、メッセージペイロードの機密データ部分をトークナイズされた値に置き換えます。どの情報をトークナイズするのかを定義するには、セレクター式を使用する必要があります。
ポリシーを受信するペイロードに次の構造が含まれているとします。
{
"name":"Amun Ra",
"socialSecurityNumber":"365-93-2738"
}
社会保障番号 (socialSecurityNumber) をトークナイズする場合、次のセレクター式を使用できます。
#[payload.socialSecurityNumber]
最上位レベルに socialSecurityNumber
を含む要求をポリシーが受信するたびに、まず指定した式に一致するトークンがすべて抽出されます。次にトークナイゼーションサービスとの接続が確立され、最後にペイロード内のトークナイズされた値が、サービスから提供された値に置き換えられます。
例の社会保障番号のトークナイズされた値が 167-47-9268 だった場合、アプリケーションは次のペイロードを受信します。
{
"name":"Amun Ra",
"socialSecurityNumber":"167-47-9268"
}
ペイロードの要求または応答の値をトークナイズするようにトークナイゼーションポリシーを設定できます。
要求をトークナイズすると、次のイベントが発生します。
ユーザーがポリシーで保護されたアプリケーションに要求を実行します。
要求は最初に Anypoint Security に送信され、その後アプリケーションのトークナイゼーションポリシーに送信されます。
トークナイゼーションポリシーにより、セレクター式に一致するすべてのトークンが抽出されます。
トークナイゼーションサービスは、トークンを受信して変換した後、その結果をポリシーに返します。
ポリシーによってペイロードがトークナイズされた値に置き換えられ、Mule アプリケーションに転送されます。
Mule アプリケーションは要求を処理して結果を返します。
応答をトークナイズすると、次のイベントが発生します。
ユーザーがポリシーで保護されたアプリケーションに要求を実行します。
要求は最初に Anypoint Security に送信され、その後アプリケーションのトークナイゼーションポリシーに送信されます。
トークナイゼーションポリシーは Mule の応答をトークナイズし、ペイロードから何も抽出せずに要求をリダイレクトします。
Mule アプリケーションは要求を処理して結果を返します。
トークナイゼーションポリシーにより、セレクター式を使用してトークンがペイロードから抽出されます。
トークナイゼーションサービスは、トークンを受信して変換した後、その結果をポリシーに返します。
ペイロード内にトークナイズされた値を含む応答がトークナイゼーションポリシーからユーザーに返されます。