PIIセキュリティ設定ファイル

MarkLogicデータハブアプリケーションにおけるPIIセキュリティポリシーの実装方法。

注:こうした詳細を理解しなくても、この機能は利用できます。この詳細情報は、デバッグ時や、PIIの保護をより広範なセキュリティモデルに統合する際に役立ちます。

MarkLogicデータハブは、 MarkLogicの要素レベルのセキュリティ(ELS)機能を使用してPIIセキュリティポリシーを実装します。ELSはXMLおよびJSONドキュメント内の保護パスを識別し、パスを含むドキュメント自体よりも厳格なアクセス制御をパスに対して行うことができます。

PIIセキュリティ設定ファイルを生成すると、データハブによって次のタイプの設定ファイルが生成されます。

  • 各PIIプロパティの保護パス設定
    • pii-readerセキュリティロールを持つユーザーのみがPIIプロパティを読み取ることができます。
    • PROJECT_DIR/src/main/ml-config/security/protected-paths/に格納されます。
  • クエリロールセット
    • pii-readerロールを持たないユーザーに、クエリまたはXPath式によって保護されたコンテンツが提示されるのを防止します。
    • PROJECT_DIR/src/main/ml-config/security/query-rolesets/に格納されます。

pii-readerセキュリティロールは、MarkLogicによって事前定義されています。

pii-reader ロールを持つユーザーは、PIIデータを含むドキュメントへの読み取りアクセスが許可されている場合にのみ、PIIデータにアクセスできます。

例:Customerエンティティモデル内でaddressプロパティがPIIと指定されている場合、データハブにより保護パス設定が生成されます。

 {
  "path-expression" : "/envelope/instance/Customer/address",
  "path-namespace" : [ ],
  "permission" : {
    "role-name" : pii-reader,
    "capability" : "read"
  }
}
保護されたaddress プロパティへのパスは、ハーモナイズされたCustomerインスタンスのレイアウトに対応します。
 {
  "envelope": {
    "headers": {},
    "triples": [],
    "instance": {
      "Customer": {
        ...
        "address": "100 Main Street, Hometown, USA"
      }
      "info": { ... }
    }, ...
  }
}
警告:デフォルトでは、ハーモナイズされたインスタンスに元のソースドキュメントが含まれています。データハブによって生成されたPIIセキュリティ設定は、元のデータではなく、インスタンスノード(/envelope/instance/*)のPIIのみを保護します。完全に保護する場合は、コードをカスタマイズして、エンベロープから元のソースノードを除外するか、元のソースノードに対する追加のPII保護パスを定義する必要があります。

ELSの詳細については、『MarkLogic Security Guide(MarkLogicセキュリティガイド)』の「Element Level Security(要素レベルのセキュリティ)」を参照してください。