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データにアクセスできます。

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

{ "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(要素レベルのセキュリティ)」を参照してください。