Oracle Cloud Infrastructureドキュメント

ユーザー定義の機密タイプ

ユーザー定義の機密タイプは、自身の組織によって作成された機密タイプです。 Oracle Data Safeでは、豊富な事前定義済機密タイプが用意されていますが、特定の要件に合せて機密タイプを作成することもできます。 新しい機密カテゴリを作成し、その下に機密タイプを配置することもできます。 事前定義済の機密カテゴリの下にユーザー定義の機密タイプを配置することはできません。 ユーザー定義の機密タイプの場合は、デフォルトのマスキング・フォーマットを割り当てることができます。これは、この機密タイプを使用して検出された列をマスキングするときに使用します。 ユーザー定義の機密タイプを作成するときは、それをリソース・グループに割り当てる必要があります。

機密タイプを作成するには、機密列を検出するために使用する1つ以上の列パターン(正規表現)を指定します。 データ検出では、大/小文字を区別しないパターン照合が実行されます。 正規表現の記述方法については、「正規表現」を参照してください。

列名のパターン

列名のパターンは、データ検出時に列名を照合するために使用される正規表現です。 たとえば、社会保障番号を含む列を検索するには、次の列名パターンを定義できます:

(^|[_-])SSN($|[_-])|(SSN|SOC.*SEC.*).?(ID|NO|NUMBERS?|NUM|NBR|#)

正規表現は、列名の特定のキーワードを確認します。 PATIENT_SSNSSN#SOCIAL_SECURITY_NUMBEREMPLOYEE_SOC_SEC_NOなどの列名と一致します。

列名パターンを作成する際のヒント:

  • .?.*を使用する場合について考慮します。 ゼロまたは1文字を許可する場合は.?を使用し、任意の数の文字を許可する場合は.*を使用します。 たとえば、正規表現の長さの程度に応じてSOCIAL.?SECURITY.?NUMBERまたはSOC.*SEC.*NUMBERを使用できます。
  • 単語が列名の一部である場合に、完全一致または一致を取得するには、(^|[_-])<WORD>($|[_-])を使用します。 このパターンでは、<WORD>の完全一致およびバリエーションと、単語の前または後に_-の文字を検索します。
  • 数値を含む列を検索するときは常に、 (ID|NO|NUMBERS?|NUM|NBR|#)のようなキーワードを使用できます。
  • 単数形および複数形の単語を一致させる(該当する場合)には、S?を使用します。 たとえば、CODECODESを照合するには、CODES?を使用します。
  • 日付を照合するには、(DT|DATE)およびリバース・パターンを使用します。 たとえば、次のパターンを使用してBIRTH_DATEおよびDATE_OF_BIRTHと照合できます:
    BIRTH.?(DT|DATE)|(DT|DATE).*BIRTH

列のコメントのパターン

列コメント・パターンは、データ検出時の列コメントのマッチングに使用される正規表現です。 列名が不明瞭化される可能性があるため、メタデータがデータベース列のコメントとして入力されます。 データ検出では、これらのコメントを検索でき、さらに機密データが見つかる可能性があります。 たとえば、社会保障番号を含む列を検索するには、次の列コメント・パターンを定義します:

\bSSN#?\b|SOCIAL SECURITY (ID|NUM|\bNO\b|NBR)

正規表現は、列コメント内の特定のキーワードをチェックします。 たとえば、列のコメントContains social security numbers of employeesと一致します。

列のコメント・パターンを作成する際のヒント:

  • 誤検出を減らすために.*を列のコメントに使用しないでください。
  • \b<word>\bを使用して、特定の単語を検索します。 これにより、<word>を含むマッチング語が回避されます。 たとえば、\bNO\bでは、正規表現social security noと一致しますが、social security notificationとは一致しません。 同様に、\bSECT\bの正規表現はSECTORという語に一致せず、\bCULT\bCULTUREという語に一致しません。
  • 数値を含む列を検索するときは常に、(ID|\bNO\b|NUM|NBR|#)のようなキーワードを使用できます。

列のデータ・パターン

列のデータ・パターンは、データ検出時に実際の列データに一致するために使用される正規表現です。 たとえば、社会保障番号を含む列を検索するには、次の列データ・パターンを定義します:

^[0-9]{3}[ -]?[0-9]{2}[ -]?[0-9]{4}$

正規表現は9桁の数字をチェックします。 数字は、数字か、ハイフンまたはスペースで区切った3つの部分で指定できます。 これは、383368610383-36-8610などの数値と一致します。

列のデータ・パターンを作成する際のヒント:

  • 誤検出を回避するために、可能なかぎりデータ・パターンが特定されていることを確認してください。
  • データ・パターンがあるかどうかが論理的であるかどうかを確認します。 データ・パターンの幅が広すぎると、偽陽性が発生する可能性があります。 値を追加しない場合、機密タイプのデータ・パターンを追加しないことに決めます。
  • 広範囲にわたるデータ・パターンを使用する場合は、And検索演算子を使用して誤検出を減らすことができます。

And/Or検索パターン

検索パターンは、機密列を検出するために機密タイプの列名、コメントおよびデータ・パターンがどのように使用されるかを示します。 検索オプションは2つあります: ANDおよびOR。

AND検索オプションを使用すると、機密タイプのパターンがすべて一致していることが確認され、列が機密と識別されます。 たとえば、機密タイプに名前、コメントおよびデータ・パターンがある場合、その列を機密として識別するために、列名、コメントおよびデータがそれぞれ一致している必要があります。 次の表では、機密タイプおよび対応するAND検索動作に対して提供されるパターンの様々な組合せについて説明しています。

機密タイプに含まれるパターン 検索の動作
名前、コメントとデータ 名前ANDコメントANDデータ
名前とデータ 名前ANDデータ
名前とコメント 名前ANDコメント
コメントとデータ コメントANDデータ
名前 名前
コメント コメント
データ データ

OR検索オプションでは、機密タイプのパターンの一部のみが一致している場合でも、列を機密として識別できる柔軟性があります。 たとえば、機密タイプに名前およびコメント・パターンがある場合、名前パターン(またはコメント・パターン)のみが列名(またはコメント)と一致しても列は機密と識別されます。 機密タイプに3つのパターンがすべて含まれている場合、データ・パターンは、名前パターンまたはコメント・パターン(あるいはその両方)と一致する必要があります。 次の表では、機密タイプおよび対応するOR検索動作に対して提供されるパターンの様々な組合せを示します。

機密タイプに含まれるパターン 検索の動作
名前、コメントとデータ データOR (名前ANDデータ) OR (コメントANDデータ)
名前とデータ データOR (名前ANDデータ)
名前とコメント 名前ORコメント
コメントとデータ データOR(コメントANDデータ)
名前 名前
コメント コメント
データ データ