Amazon DataZone でフィルターを使用してアクセスを許可する
Amazon DataZone は、定義された行および列フィルターを AWS Lake Formation と Amazon Redshift の適切なアクセス許可に変換することで、きめ細かなアクセスコントロールを可能にします。以下で、Amazon DataZone によって AWS Glue テーブルと Amazon Redshift でこれらのフィルターが実装される方法について説明します。
AWS Glue テーブル
行および/または列フィルターを使用する AWS Glue テーブルのサブスクリプションが承認されると、Amazon DataZone は、データセルフィルターを使用して AWS Lake Formation のアクセス許可を作成してサブスクリプションをマテリアライズし、サブスクライバープロジェクトのメンバーが、サブスクリプションに適用されたフィルターに基づいてアクセスが許可されている行と列にのみアクセスできるようにします。
Amazon DataZone は、まず Amazon DataZone で適用された行および列フィルターを AWS Lake Formation データセルフィルターに変換します。複数の行および列フィルターが使用されている場合、Amazon DataZone はすべての列とすべての行フィルター条件を結合して、行レベルと列レベルの両方で有効なアクセス許可を計算します。Amazon DataZone は、有効な行および列のアクセス許可を使用して、単一の AWS Lake Formation データセルフィルターを作成します。
データセルフィルターが作成されると、Amazon DataZone は、このデータセルフィルターを使用して、AWS Lake Formation で読み取り専用 (SELECT) アクセス許可を作成して、サブスクライバーテーブルをサブスクライバープロジェクトで共有します。
Amazon Redshift
行および/または列フィルターを使用した Amazon Redshift テーブル/ビューのサブスクリプションが承認されると、Amazon DataZone は、Amazon Redshift でスコープダウンされた遅延バインディングビューを作成してサブスクリプションをマテリアライズし、サブスクライバープロジェクトのメンバーが、サブスクリプションに適用された行および列フィルターに基づいてアクセスが許可されている行と列にのみアクセスできるようにします。
Amazon DataZone は、まず Amazon DataZone のサブスクリプションに適用される行と列のフィルターを Amazon Redshift 遅延バインディングビューに変換します。複数の行および列フィルターが使用されている場合、Amazon DataZone はすべての列とすべての行のフィルター条件を結合して、行レベルと列レベルの両方で有効なアクセス許可を計算します。次に、Amazon DataZone は、有効な行および列のアクセス許可を使用して遅延バインディングビューを作成します。
遅延バインディングビューが作成されると、Amazon DataZone は Amazon Redshift で読み取り専用 (SELECT) アクセス許可を作成して、このビューをサブスクライバープロジェクトのメンバーと共有します。