注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

オブジェクトセキュリティの管理

オントロジーデータは、オブジェクトおよびプロパティポリシーまたはデータソースポリシーを使用して保護できます。どちらの方法も、行レベルと列レベルのセキュリティを組み合わせたセルレベルのセキュリティに対応しています。

たとえば、航空会社管理プラットフォームの Passenger オブジェクトタイプに、User ID、Flight Number、Seat Assignment、Name、Address、Phone Number というプロパティがある場合を考えます。

  • 行レベルのセキュリティ: 特定のユーザーは VIP であり、元データセットの行に対応するそのユーザーのオブジェクトのインスタンスは、VIP マーキングを持つユーザーのみが閲覧できます。
  • 列レベルのセキュリティ: Name、Address、Phone number プロパティにはユーザーデータが含まれており、PII マーキングを持つユーザーのみがアクセスできます。

サイドバーのアクセスを確認パネルを使用すると、ユーザーの Workshop または Slate アプリケーションへのアクセスを確認できます。これには、依存するオブジェクトタイプ、そのデータソース、きめ細かなアクセス制御へのアクセスも含まれます。詳細については、アクセス確認パネルのドキュメントをご覧ください。

一部のプロパティ値は、オントロジー外の追加リソースに保存されたデータを参照します。このセクションで説明するアクセス制御の仕組みは、プロパティ値を閲覧できるかどうかのみを制御し、それらの追加リソースを閲覧できるかどうかは制御しません。たとえば、Media Reference プロパティは、メディアセットに保存されたメディアアイテムを参照できます。メディアセットの権限がオブジェクトタイプの権限と異なる場合、ユーザーが Media Reference プロパティにアクセスできなくても、メディアセットからメディアアイテムを直接取得できる可能性があります。そのため、追加リソースをオントロジーで使用する際は、適切な権限が設定されていることを確認することが重要です。

オブジェクトおよびプロパティのセキュリティポリシー

オブジェクトおよびプロパティのセキュリティポリシーでは、オブジェクトのインスタンスとそのプロパティに閲覧権限を設定して、セルレベルの権限を実現できます。これらのポリシーは、Ontology Manager のオブジェクトタイプの画面で直接管理でき、元データソースの権限からは独立しています。

オブジェクトのインスタンスを閲覧できるかどうかはオブジェクトセキュリティポリシーによって制御され、プロパティ値を閲覧できるかどうかはプロパティセキュリティポリシーによって制御されます。オブジェクトおよびプロパティのセキュリティポリシーには、強制アクセス制御、機密情報区分に基づくアクセス制御、きめ細かなアクセス制御を適用できます。これらを組み合わせることで、オントロジーのセルレベルのセキュリティを実現できます。

読み取り時のみ適用

オブジェクトまたはプロパティのセキュリティポリシー内のきめ細かな行および列の制御は、ユーザーが読み取れるデータを絞り込みます。これらの制御は、下流の出力やエクスポートには適用されません。ただし、同じポリシー内の強制アクセス制御と機密情報区分に基づく制御は、派生データにも引き続き適用されます。データが下流に流れる際にも行および列のデータの保護を維持するには、これらの制御をマーキングまたは機密情報区分に基づくアクセス制御と組み合わせてください。モデル全体については、アクセス制御の伝播をご覧ください。

オブジェクトおよびプロパティのセキュリティポリシーの設定について詳しくはこちら。

データソースポリシー

オブジェクトタイプのデータ権限は、そのオブジェクトタイプの入力データソースに適用される権限によって暗黙的に制御されます。

元データソースのないオブジェクトタイプでは、データソースポリシーを使用できません。オブジェクトタイプの作成時に、オブジェクトセキュリティポリシーを設定する必要があります。

オブジェクトおよびプロパティポリシーとデータソースポリシーの比較

ほとんどの場合、オブジェクトセキュリティの管理には、オブジェクトおよびプロパティのセキュリティポリシーが推奨されます。これらのポリシーでは、オブジェクトタイプ上で直接、セルレベルのセキュリティ(行、列、セルレベルの権限)を統一的に管理できます。そのため、データソースポリシーに比べて設定と保守が容易です。

オブジェクトおよびプロパティのセキュリティポリシーの利点

オブジェクトおよびプロパティのセキュリティポリシーは、データソースポリシーを使用する際に生じるいくつかの課題を解決します。

  • 統一されたセルレベルのセキュリティ: 制限付きビュー(RV)と複数データソースのオブジェクトタイプ(MDO)を組み合わせる必要がなく、単一の機能で行レベル(オブジェクトセキュリティポリシー)、列レベル(プロパティセキュリティポリシー)、セルレベルの権限を実現できます。
  • 設定の簡素化: セキュリティは、元データソースとは独立して、Ontology Manager のオブジェクトタイプ上で直接管理されます。これにより、複雑さと保守の負担を軽減できます。
  • ほぼ即時のポリシー更新: オブジェクトおよびプロパティのセキュリティポリシーの変更は、ほぼ即時に反映されます。RV では、読み取り時に新しいポリシーが適用されるようにするために、ポリシー変更後にパイプラインを再ビルドする必要があります。グループメンバーシップやその他のユーザー属性など、Multipass の変更は引き続き短時間キャッシュされます。
  • ストリーミング対応: オブジェクトセキュリティポリシーは、ストリームを元データソースとするオブジェクトタイプに適用でき、ストリーミングデータに対する行レベルおよび列レベルの権限を実現します。
  • ブランチとの互換性: オブジェクトセキュリティポリシーは Global Branching と統合されており、マージ前にブランチ上でセキュリティ設定をテストする必要がある開発ワークフローに対応しています。

データソースポリシーを使用する場合

RV と MDO を利用するデータソースポリシーは、次の場合に適しています。

  1. オントロジー外でのきめ細かなアクセス制御: 元データセットがオントロジー外で使用され、その利用場面できめ細かなアクセス制御が必要な場合は、引き続き RV が適切なソリューションです。たとえば、Code Workspaces でアクセスレベルが異なるユーザーに対し、RV を使用して元データセットの読み取りを保護できます。オブジェクトおよびプロパティのセキュリティポリシーの適用範囲はオントロジーに限られ、オントロジー外での生データセットへのアクセスは制御しません。
  2. 特定の要件を持つ MDO: データソースごとに異なる解決戦略やビルドスケジュールが必要であるなどの理由で、オブジェクトタイプに MDO が必要な場合は、データソースポリシーが必要になることがあります。この設定について詳しくはこちら。

オブジェクトの入力データソース

データセットとストリームは、オブジェクトタイプの入力データソースとして最も広く使用されているリソースです。これらのデータソースのデータ権限は、次のように決まります。

  • データセット: データセットの各行はオントロジーのオブジェクトのインスタンスに対応し、データセットとそのトランザクションに対して少なくとも Viewer 権限を持つユーザーは、そのデータセットから作成されたすべてのオブジェクトのインスタンスにアクセスできます。
  • ストリーム: ストリームは、オントロジーの低遅延ストリーミングデータに使用される入力データソースです。ストリームデータソースに対して少なくとも Viewer 権限を持つユーザーは、そのストリームデータソースから作成されたすべてのオブジェクトのインスタンスにアクセスできます。

データソースポリシーを使用して行レベルまたは列レベルの権限を設定する必要がある場合は、制限付きビュー(RV)と複数データソースのオブジェクトタイプ(MDO)を使用できます。

RV と MDO を使用したデータソースポリシーの設定

制限付きビュー

制限付きビューは、データセット内の特定の行と、それらの行から作成された対応するオブジェクトのインスタンスに対して、_行レベルのアクセス制御_を可能にします。制限付きビューはデータセット上でのみ構築でき、ストリームやその他の種類のデータソース上では構築できません。特定の主キーを持つオブジェクトのインスタンスへのアクセスは、制限付きビューの入力データソース内の該当する行に誰がアクセスできるかによって制御されます。

たとえば、医療従事者は、自身が勤務する医療センターを受診する患者のデータセットの行やオブジェクトのインスタンスを閲覧できる一方、他の医療センターのみを受診する患者のデータの閲覧は制限される場合があります。これは、両方の種類のデータが同じデータセットとオブジェクトタイプに存在する場合でも同様です。

あるデータセット care_event_info に patient_id、doctor_id、care_center 列がある場合、ポリシー user.userAttribute('care_center') == care_center を使用して、そのデータセット上に制限付きビューを構築できます。この制限付きビューでは、care_event_info 内でユーザーと同じ医療センターに該当する行へのアクセスのみが許可されます。

Ontology Manager では、データセットと同じ方法で、制限付きビューをオブジェクトタイプの入力データソースとして選択できます。

制限付きビューの設定とオブジェクトの行レベルの権限制御について詳しくはこちら。

複数データソースのオブジェクトタイプ

オントロジーでは、複数の入力データソースを単一のオブジェクトタイプにマッピングできます。このようなオブジェクトタイプは、複数データソースのオブジェクトタイプ(MDO)と呼ばれ、Object Storage v2 でのみ利用可能です。

MDO を使用すると、異なるデータソースの列を、オブジェクトタイプのさまざまなプロパティにマッピングできます。これにより、別々の入力データソースに対応する複数のアクセス制御を、単一のオブジェクトタイプに適用できます。これらの入力データソースには、データセットと制限付きビューを任意に組み合わせて使用できます。

たとえば、ある診療イベントのオブジェクトタイプについて、一部の医療従事者は個人の健康情報(PHI)を含むオブジェクトプロパティへのアクセスを必要とする一方、他の従業員にはアクセスを許可すべきでない場合があります。このアクセス制御は、Care Event オブジェクトタイプに 2 個の別々の入力データソースを使用し、各入力データソースに異なるアクセス制御と権限を適用することで実現できます。Care Event オブジェクトタイプは Patient ID を主キーとし、patient_info と care_event_info を元データソースとしています。

  • patient_info には、patient_id、name、address、contact_number、age 列があります。このデータセットには PHI マーキングが付いています。PHI マーキングへのアクセス権を持つユーザーのみが、patient_info のプロパティ値にアクセスできます。
  • care_event_info には、patient_id、doctor_id、care_center 列があります。このデータセットにはマーキングが付いていません。ユーザーがこのデータセットのプロパティ値にアクセスするために、マーキングへのアクセス権は必要ありません。

これらの異なる権限は、オブジェクトのインスタンスでも尊重され、適用されます。ユーザーが PHI マーキングを持っていない場合、name、address、contact_number、age など、patient_info からマッピングされたプロパティにはアクセスできません。

MDO の設定とオブジェクトの列レベルの権限制御について詳しくはこちら。