注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
マーキングは、機密データへのアクセスを制限します。Iceberg テーブルは、Foundry データセットと同様に、上流の入力からマーキングを継承できます。ただし、Iceberg のスナップショットによって、マーキングによるテーブルへのアクセス制限がデータセットの場合よりも厳しくなることがあります。たとえば、ブランチに適用されたマーキングは、main やほかのブランチへのアクセスに影響する場合があります。マーキングが適用されたブランチを削除するだけでは、テーブルからマーキングを外すことはできません。
マーキングは、それが適用された Iceberg スナップショットに直接関連付けられますが、読み取りアクセスに対する制限の効果は、実質的にテーブル全体に及びます。これは、Iceberg のメタデータファイルに、テーブル上のすべてのブランチとタグのスナップショットが含まれるためです。そのメタデータファイルを読み取るには、stop_propagating が適用されていない限り、通常、ユーザーはそのファイルに含まれるすべてのスナップショットのマーキング要件を満たす必要があります。
つまり、テーブルを読み取るには、ユーザーはテーブル内のいずれかのスナップショットに付与されているすべてのマーキングの要件を満たす必要があります。これは、それらのマーキングが、ユーザーが直接アクセスしようとしていないブランチやスナップショットに関連する場合でも同様です。
次のテーブルは、継承されたマーキングの動作を比較したものです。
| シナリオ | Foundry データセット | Iceberg テーブル |
|---|---|---|
| マーキングがついたトランザクションまたはスナップショットがブランチ A に追加される | main ブランチは制限されません | main を含むすべてのブランチが制限されます |
| マーキングのない置き換え用のデータがビルドされる | マーキングがついた過去のトランザクションは制限されたままでも、新しい現在のビューは読み取り可能になることがあります | マーキングがついたスナップショットが期限切れになるまで、現在のスナップショットは制限されたままになります |
| マーキングがついた履歴を含むブランチが削除される | main への影響はありません。制限なしのままです。 | main への影響はありません。マーキングがついたスナップショットが期限切れになるまで、制限されたままです。 |
stop_propagating によってマーキングが外される | マーキングが外されます。 | マーキングが外されます。 |
マーキング要件を意図的に取り除くのか、不要になったマーキング付きの履歴を削除するのかに応じて、削除のワークフローを選択します。
データからマーキング要件を意図的に取り除く場合は、stop_propagating ワークフローを使用して、継承されたマーキングを外す承認を得ます。
この方法は、インクリメンタル(差分処理)パイプラインと非インクリメンタルパイプラインの両方で役立ちます。インクリメンタルの場合、完全な再ビルドを行わずにテーブルからマーキングを外せます。伝播の停止は、マーキングがついたデータを公開することが目的の場合にのみ使用してください。
マーキングがついたスナップショットは、不要になり、現在のリネージの一部でなくなった後も、テーブルの履歴に残る場合があります。その場合にテーブルからマーキングを外すには、次の手順を実行します。
main または削除すべきでないほかのブランチ上にある場合は、ブランチの先頭にある現在のスナップショットが、マーキングがついたスナップショットに依存していないことを確認してください。そのための方法の1つは、現在のスナップショットを完全に置き換え、マーキングがついたスナップショットを親として依存しないテーブル置換を実行することです。このクリーンアップを実行するには、マーキングがついたテーブルにアクセスでき、メンテナンスの実行に必要な操作権限を持っている必要があります。