SNOWFLAKE テーブルから特定の行だけを返す
「Your organization's security policies require that certain rows in tables are unavailable to users for querying. Which of the following Snowflake features can you use to meet these requirements? Select two.」
選択肢:
Row Access Policies
Secure Views
External Views
Column Level Security
🔍 正解:
1. Row Access Policies
2. Secure Views
📝 解説
あなたの組織のセキュリティポリシーにより、特定の行がユーザーからクエリで見えないようにする必要がある場合、Snowflakeでは以下の2つの機能を利用できます。
1. Row Access Policies(行アクセスポリシー)
概要:
Row Access Policiesは、テーブル内の特定の行に対するアクセスを制御するための機能です。
条件に基づいて、ユーザーがアクセスできる行とアクセスできない行を動的に決定します。
具体例:
シナリオ:
組織内で異なる部門のユーザーが存在し、それぞれの部門に関連するデータのみを閲覧できるようにしたい。
利点:
動的な制御: ユーザーの役割や属性に基づいて、リアルタイムでアクセス制御が行われます。
セキュリティの強化: 不要なデータアクセスを防ぎ、データ漏洩のリスクを低減します。
2. Secure Views(セキュアビュー)
概要:
Secure Viewsは、基になるテーブルのデータをフィルタリングして表示するビューです。
特定の行や列を除外することで、ユーザーに対して必要なデータのみを提供します。
具体例:
シナリオ:
人事データベースには給与情報が含まれており、特定のユーザーグループには給与情報を見せたくない。
実装方法:
利点:
データのカスタマイズ: 必要なデータだけを提供し、敏感な情報を隠すことができます。
柔軟性: ビューの条件を変更することで、アクセス制御を簡単に調整できます。
❌ 不正解の選択肢について
3. External Views(エクスターナルビュー)
理由:
Snowflakeには「External Views」という標準機能は存在しません。一般的には、Secure Viewsがセキュリティを考慮したデータ共有のために使用されます。
4. Column Level Security(カラムレベルセキュリティ)
理由:
Column Level Securityは、特定の列に対するアクセス制御を行いますが、これは「行」ではなく「列」に対するものです。質問は「特定の行」を対象としているため、カラムレベルのセキュリティは適切ではありません。
📚 まとめ
Row Access PoliciesとSecure Viewsは、Snowflakeにおいて特定の行のデータアクセスを制御するための強力な機能です。
Row Access Policiesは、ユーザーの役割や属性に基づいて動的に行アクセスを制御します。
Secure Viewsは、基になるテーブルから特定の行や列をフィルタリングして表示することで、必要なデータのみをユーザーに提供します。
External ViewsやColumn Level Securityは、今回の要件には適していません。