同じデータベース内のテーブルへのビュー アクセスを管理する

プリンシパルは、割り当てられた セキュリティ ロールに基づいて、データベースやテーブルなどのリソースにアクセスできます。 viewerセキュリティ ロールはデータベース レベルでのみ使用でき、プリンシパルを割り当てると、データベース内のすべてのテーブルに対するビュー アクセス権が付与されます。

この記事では、プリンシパルのテーブル ビュー アクセスを制御する方法について説明します。

制御されたアクセスのためのデータの構造

アクセスをより効果的に制御するには、アクセス特権に基づいてテーブルを異なるデータベースに分割することをお勧めします。 たとえば、機密データ用の個別のデータベースを作成し、関連する セキュリティ ロールを割り当てることで特定のプリンシパルへのアクセスを制限します。

Restricted View Access ポリシー

特定のテーブルへのアクセスを制限するには、それらのテーブルの 制限付きビュー アクセス ポリシー を有効にします。 このポリシーにより、ロールを持つプリンシパルのみがテーブルに unrestrictedViewer アクセスできるようになります。 一方、通常 viewer のロールを持つプリンシパルはテーブルを表示できません。

行レベルセキュリティ ポリシー

行レベル セキュリティ (RLS) ポリシーを使用すると、特定の条件に基づいてデータ行へのアクセスを制限し、列内のデータをマスクできます。 テーブルに RLS ポリシーを作成すると、データベース管理者や RLS 作成者を含むすべてのユーザーに制限が適用されます。

フォロワー データベースを作成する

フォロワー データベースを作成し、特定のプリンシパルまたはプリンシパルのセットと共有する関連テーブルのみをフォローします。