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

アクセス制御の伝播

Foundry は、強制アクセス制御と任意アクセス制御を組み合わせて、どのユーザーがどのデータを操作できるかを管理します。この2種類のアクセス制御は、安全なパイプラインやアプリケーションを設計するうえで重要な性質である伝播に違いがあります。強制アクセス制御は、データの派生や下流での利用を通じて、データとともに引き継がれます。行および列のアクセス制御(制限付きビュー、オブジェクトセキュリティポリシー、プロパティセキュリティポリシーを含む)は、ユーザーが読み取れるデータを絞り込みます。これらの制御は、その読み取り以降には適用されません。

このページでは、それぞれの種類の制御がどのように伝播するかを説明し、その違いが重要になる場面を示すとともに、目的に合った制御を選ぶための指針を提供します。

このページは、アクセス制御の伝播についてのリファレンスです。セキュリティモデル全体の概要については、セキュリティとガバナンスを参照してください。ここで使用する用語の一覧については、セキュリティ用語集を参照してください。

強制アクセス制御

強制アクセス制御は、ユーザーのロールやアプリケーションのロジックにかかわらず、プラットフォームによって適用されます。強制アクセス制御には、次のものがあります。

  • マーキング: データセット、トランザクション、ファイル、列に適用されます。必要なマーキングを持たないユーザーは、そのマーキングがついたどのリソースにもアクセスできません。
  • 機密情報区分ベースのアクセス制御(CBAC): ユーザーのクリアランスレベルに基づく、列レベルの強制アクセス制御です。
  • 組織: ユーザーのグループとリソースのグループの間に設けられる強制的な境界です。

強制アクセス制御は、派生を通じて伝播します。たとえば、次のようになります。

  • マーキングがついた入力からビルドされたデータセットは、そのトランザクションにマーキングを継承します。
  • CBAC の機密情報区分タグがついた列は、下流のデータセットにコピーされたときも、その機密情報区分を保持します。
  • 組織をスコープとするプロジェクト内で作成されたリソースは、組織の制約を継承します。

伝播により、派生した作成物から、必要なマーキング、機密情報区分、または組織のメンバーシップを持たないユーザーにデータが公開されることはありません。この制御は、アクセスのたびに、実行ユーザーの属性に照らして評価されます。

任意アクセス制御

任意アクセス制御は、特定のリソースに対するアクセスを特定のユーザーまたはグループに付与します。行および列の保護に関連する任意アクセス制御には、次のものがあります。

これらの制御は、ユーザーが読み取れるデータを絞り込みます。プラットフォームは、ユーザーの属性とグループのメンバーシップをポリシーと照合し、閲覧を許可された行またはフィールドのみを返します。

読み取り後、ユーザーが実際に受け取った行は通常のデータになります。後続のコードがポリシーを再適用するために使用できるメタデータ、機密情報区分、タグは付随しません。

任意アクセス制御の適用が終わる境界

行および列のアクセス制御は、ユーザーが読み取れるデータを絞り込みます。次の操作では、ソースのポリシーは引き継がれません。

  • 関数の戻り値: オブジェクトセキュリティポリシーによって絞り込まれたオブジェクトセットを読み取る関数は、実行ユーザーの権限のもとで計算された結果を返します。戻り値はポリシーに拘束されません。それを受け取る利用側は、データをそのまま閲覧できます。
  • アクションによる編集: アクションは、あるポリシーのもとでオブジェクトセットから読み取り、異なる行レベルのポリシーを持つ(または行レベルのポリシーを持たない)オブジェクトタイプに書き込みます。書き込み先のアクセス制御は適用されますが、ソースのポリシーは伝播しません。
  • AIP Logic のツール呼び出し: ツール呼び出しは、オントロジーのデータをモデルのコンテキストに返します。コンテキストに取り込まれたデータは、ソースのポリシーとの関連が残っていない状態で、要約や変換が行われ、モデルのどの出力経路からでも返される可能性があります。
  • オントロジー SDK のレスポンス: オントロジー SDK のクライアントは、実行ユーザーのコンテキストでオントロジーのペイロードを受け取ります。アプリケーションはそのデータを表示、ログ記録、変換、転送できますが、ペイロードにポリシーは付随しません。
  • Pipeline Builder のオントロジー出力: Pipeline Builder のパイプラインからオブジェクトタイプに書き込まれた行は、ソースの制限付きビューのポリシーではなく、宛先のアクセス制御によって管理されます。
  • ライトバック操作: 制限付きビューに基づいているオブジェクトに適用された編集は、ライトバック先の制御によって管理されます。
  • エクスポートとダウンロード: Quiver、Contour、Workshop、およびその他のアプリケーションからのエクスポートでは、Foundry の外部に作成物が生成されます。これらの作成物には、ソースのポリシーを引き継ぐものはありません。

いずれの場合も、実行ユーザーは読み取りを許可されていないデータを読み取ることはできず、アクセスに関する保証は維持されます。一方、伝播は保証されません。ソースデータを保護していた制約は、読み取り後のそのデータの扱いを制約しません。

制御を選ぶ

データ製品のアクセス制御を選ぶ際は、次の指針を使用します。

  • 保護要件は、派生した作成物、ライトバック操作、エクスポート、またはモデルの出力にも及びますか? 強制アクセス制御(マーキング、CBAC の機密情報区分、または組織)を使用します。強制アクセス制御は伝播します。
  • 要件は、読み取りレイヤーでユーザーが閲覧できるデータを絞り込むことですか(後続の派生を制限せずに)? 制限付きビュー、オブジェクトセキュリティポリシー、またはプロパティセキュリティポリシーが適しています。
  • 要件は、ユーザーが閲覧できるデータを絞り込み、かつ下流に流れるデータを保護することですか? 両方を使用します。マーキングがついたデータセットを元にしている制限付きビューは、ソースとその派生データのマーキングを保持しながら、ユーザーに対して行レベルの絞り込みを行います。

保護を強化するには、制限付きビューの元データセットにマーキングをつけます。これにより、さらに派生データを作成する利用側には、同じ元データセットを使用する別の制限付きビューから読み取る場合や、ビューを完全に迂回する場合も含め、引き続きマーキングによる制御が適用されます。

よくある質問

以下の質問では、強制アクセス制御と任意アクセス制御が実際にどのように異なるかについて、よく混同される点を説明します。

読み取り専用の制限付きビューは、読み取られた後のデータも保護しますか?

制限付きビューの読み取り専用という特性は、そのスキーマと列が変更されるのを防ぎます。これはリソースとしての制限付きビューの完全性に関する特性であり、ユーザーが読み取れる行の機密性を保証するものではありません。

Granular Policy がすでに設定されている場合、マーキングを外せますか?

リソース上のマーキングは、伝播する強制アクセス制御を提供します。制限付きビュー上の Granular Policy は、伝播しない任意アクセス制御のフィルターを提供します。マーキングを外すことは、派生時に引き継がれる制御を、引き継がれない制御に置き換えることになります。下流の出力やエクスポートでもデータの保護を維持するには、マーキングを保持してください。

Foundry のセキュリティモデルに従えば、下流でのポリシーの適用は保証されますか?

「セキュリティモデルに従う」アプリケーションは、ユーザーの権限に基づいてデータを読み取ります。これにより、ユーザーが読み取りを許可されていないデータを読み取れないことが保証されます。ただし、ユーザーが読み取ったデータに、読み取り後もソースのポリシーが引き続き適用されることは保証されません。ユーザー権限の継承はアクセスを保証しますが、伝播を保証するものではありません。

プロジェクトはセキュリティ境界ですか?

プロジェクトは、任意アクセス制御のロールを付与するための主要なコンテナです。強制アクセス制御(マーキング、CBAC、組織)は、プロジェクトをまたいでも、派生後も引き続き適用されます。派生した作成物が越えられない厳格な境界が保護の目的上必要な場合、その境界を提供するのは強制アクセス制御です。プロジェクトはロール付与の利便性を提供します。

関連項目