データ接続と統合Iceberg tablesガバナンスマーキング

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

Iceberg テーブルのマーキング

マーキングは、機密データへのアクセスを制限します。Iceberg テーブルは、Foundry データセットと同様に、上流の入力からマーキングを継承できます。ただし、Iceberg のスナップショットによって、マーキングによるテーブルへのアクセス制限がデータセットの場合よりも厳しくなることがあります。たとえば、ブランチに適用されたマーキングは、main やほかのブランチへのアクセスに影響する場合があります。マーキングが適用されたブランチを削除するだけでは、テーブルからマーキングを外すことはできません。

Iceberg のマーキングはテーブル単位で適用される

マーキングは、それが適用された Iceberg スナップショットに直接関連付けられますが、読み取りアクセスに対する制限の効果は、実質的にテーブル全体に及びます。これは、Iceberg のメタデータファイルに、テーブル上のすべてのブランチとタグのスナップショットが含まれるためです。そのメタデータファイルを読み取るには、stop_propagating が適用されていない限り、通常、ユーザーはそのファイルに含まれるすべてのスナップショットのマーキング要件を満たす必要があります。

つまり、テーブルを読み取るには、ユーザーはテーブル内のいずれかのスナップショットに付与されているすべてのマーキングの要件を満たす必要があります。これは、それらのマーキングが、ユーザーが直接アクセスしようとしていないブランチやスナップショットに関連する場合でも同様です。

次のテーブルは、継承されたマーキングの動作を比較したものです。

シナリオFoundry データセットIceberg テーブル
マーキングがついたトランザクションまたはスナップショットがブランチ A に追加されるmain ブランチは制限されませんmain を含むすべてのブランチが制限されます
マーキングのない置き換え用のデータがビルドされるマーキングがついた過去のトランザクションは制限されたままでも、新しい現在のビューは読み取り可能になることがありますマーキングがついたスナップショットが期限切れになるまで、現在のスナップショットは制限されたままになります
マーキングがついた履歴を含むブランチが削除されるmain への影響はありません。制限なしのままです。main への影響はありません。マーキングがついたスナップショットが期限切れになるまで、制限されたままです。
stop_propagating によってマーキングが外されるマーキングが外されます。マーキングが外されます。

継承されたマーキングを外す

マーキング要件を意図的に取り除くのか、不要になったマーキング付きの履歴を削除するのかに応じて、削除のワークフローを選択します。

オプション1:マーキングの伝播を停止する

データからマーキング要件を意図的に取り除く場合は、stop_propagating ワークフローを使用して、継承されたマーキングを外す承認を得ます。

この方法は、インクリメンタル(差分処理)パイプラインと非インクリメンタルパイプラインの両方で役立ちます。インクリメンタルの場合、完全な再ビルドを行わずにテーブルからマーキングを外せます。伝播の停止は、マーキングがついたデータを公開することが目的の場合にのみ使用してください。

オプション2:不要になったマーキング付きの履歴を削除する

マーキングがついたスナップショットは、不要になり、現在のリネージの一部でなくなった後も、テーブルの履歴に残る場合があります。その場合にテーブルからマーキングを外すには、次の手順を実行します。

  1. マーキングがついたスナップショットが、どのブランチやタグからも参照されなくなっていることを確認してください。
    • スナップショットが削除可能なブランチ上にある場合は、そのブランチを削除することで対応できます。
    • スナップショットが main または削除すべきでないほかのブランチ上にある場合は、ブランチの先頭にある現在のスナップショットが、マーキングがついたスナップショットに依存していないことを確認してください。そのための方法の1つは、現在のスナップショットを完全に置き換え、マーキングがついたスナップショットを親として依存しないテーブル置換を実行することです。
  2. 参照されなくなった後に、マーキングがついたスナップショットを期限切れにし、対象のスナップショットが スナップショットタブに表示されなくなったことを確認します。

このクリーンアップを実行するには、マーキングがついたテーブルにアクセスでき、メンテナンスの実行に必要な操作権限を持っている必要があります。