注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry は、強制アクセス制御と任意アクセス制御を組み合わせて、どのユーザーがどのデータを操作できるかを管理します。この2種類のアクセス制御は、安全なパイプラインやアプリケーションを設計するうえで重要な性質である伝播に違いがあります。強制アクセス制御は、データの派生や下流での利用を通じて、データとともに引き継がれます。行および列のアクセス制御(制限付きビュー、オブジェクトセキュリティポリシー、プロパティセキュリティポリシーを含む)は、ユーザーが読み取れるデータを絞り込みます。これらの制御は、その読み取り以降には適用されません。
このページでは、それぞれの種類の制御がどのように伝播するかを説明し、その違いが重要になる場面を示すとともに、目的に合った制御を選ぶための指針を提供します。
このページは、アクセス制御の伝播についてのリファレンスです。セキュリティモデル全体の概要については、セキュリティとガバナンスを参照してください。ここで使用する用語の一覧については、セキュリティ用語集を参照してください。
強制アクセス制御は、ユーザーのロールやアプリケーションのロジックにかかわらず、プラットフォームによって適用されます。強制アクセス制御には、次のものがあります。
強制アクセス制御は、派生を通じて伝播します。たとえば、次のようになります。
伝播により、派生した作成物から、必要なマーキング、機密情報区分、または組織のメンバーシップを持たないユーザーにデータが公開されることはありません。この制御は、アクセスのたびに、実行ユーザーの属性に照らして評価されます。
任意アクセス制御は、特定のリソースに対するアクセスを特定のユーザーまたはグループに付与します。行および列の保護に関連する任意アクセス制御には、次のものがあります。
これらの制御は、ユーザーが読み取れるデータを絞り込みます。プラットフォームは、ユーザーの属性とグループのメンバーシップをポリシーと照合し、閲覧を許可された行またはフィールドのみを返します。
読み取り後、ユーザーが実際に受け取った行は通常のデータになります。後続のコードがポリシーを再適用するために使用できるメタデータ、機密情報区分、タグは付随しません。
行および列のアクセス制御は、ユーザーが読み取れるデータを絞り込みます。次の操作では、ソースのポリシーは引き継がれません。
いずれの場合も、実行ユーザーは読み取りを許可されていないデータを読み取ることはできず、アクセスに関する保証は維持されます。一方、伝播は保証されません。ソースデータを保護していた制約は、読み取り後のそのデータの扱いを制約しません。
データ製品のアクセス制御を選ぶ際は、次の指針を使用します。
保護を強化するには、制限付きビューの元データセットにマーキングをつけます。これにより、さらに派生データを作成する利用側には、同じ元データセットを使用する別の制限付きビューから読み取る場合や、ビューを完全に迂回する場合も含め、引き続きマーキングによる制御が適用されます。
以下の質問では、強制アクセス制御と任意アクセス制御が実際にどのように異なるかについて、よく混同される点を説明します。
制限付きビューの読み取り専用という特性は、そのスキーマと列が変更されるのを防ぎます。これはリソースとしての制限付きビューの完全性に関する特性であり、ユーザーが読み取れる行の機密性を保証するものではありません。
リソース上のマーキングは、伝播する強制アクセス制御を提供します。制限付きビュー上の Granular Policy は、伝播しない任意アクセス制御のフィルターを提供します。マーキングを外すことは、派生時に引き継がれる制御を、引き継がれない制御に置き換えることになります。下流の出力やエクスポートでもデータの保護を維持するには、マーキングを保持してください。
「セキュリティモデルに従う」アプリケーションは、ユーザーの権限に基づいてデータを読み取ります。これにより、ユーザーが読み取りを許可されていないデータを読み取れないことが保証されます。ただし、ユーザーが読み取ったデータに、読み取り後もソースのポリシーが引き続き適用されることは保証されません。ユーザー権限の継承はアクセスを保証しますが、伝播を保証するものではありません。
プロジェクトは、任意アクセス制御のロールを付与するための主要なコンテナです。強制アクセス制御(マーキング、CBAC、組織)は、プロジェクトをまたいでも、派生後も引き続き適用されます。派生した作成物が越えられない厳格な境界が保護の目的上必要な場合、その境界を提供するのは強制アクセス制御です。プロジェクトはロール付与の利便性を提供します。