投影ポリシーの作成と適用それぞれのロールでクエリしてみるさいごに関連する記事こんにちは!Bucciです。投影ポリシーについても紹介します、と言っておきながら、すっかり(しっかり)忘れておりました。リリースから日が空いてしまいましたが、本記事で見ていきたいと思います!snowflakeのデータマネジメント機能の概要についてはこちらの記事にも分かりやすくまとまっているので全体像を知りたい方はぜひご一読ください。個人情報等の機密データを保護するためにSnowflakeが提供している機能はいくつかあります。過去ご紹介してきた機能と今回紹介する機能はこんな感じです。policies(英語)投影ポリシーはどんな時に使える?投影ポリシーは上記表の通り、ロールに応じて「特定の列へのアクセスを制限する」機能です。経理スタッフと顧客サポートスタッフのロールを分けた上でクレジットカード番号を含む列を参照できる/できない、をロールごとに設定できる...といったイメージです。やってみよう!今回は上記で挙げたケースを想定してやってみましょう。・クレジットカード番号が入ったテーブルがある・クレジットカード番号はFINANCEロールからは参照できるがSUPPORTロールからは参照できないようにしたいではやっていきましょう!サンプルデータ作成SYSADMINロールでサンプルデータを作って、FINANCEおよびSUPPORTロールでSELECTできるようにします。SUPPORT;投影ポリシーの作成と適用SAMPLE_POLICYという投影ポリシーを作成していきます。FINANCEの時は投影制限しない、それ以外のロール(SUPPORT含む)では制限してね!と定義します。そのように定義ポリシーをクレジットカード番号のカラムに適用しています。この辺りの流れはダイナミックマスキングポリシーや集約ポリシーと同じですね。SAMPLE_POLICY;それぞれのロールでクエリしてみるまず、FINANCEでクエリすると...クレジットカード番号が見れていますね。SUPPORTロールではどうでしょうか?狙い通り、クレジットカード番号の列は制限されてるわよ、と言われました!では、クレジットカード番号以外の列なら見れるか、Selectしてみましょう。クレジットカード番号以外は問題なくクエリできました!!さいごにこの記事ではsnowflakeのデータガバナンス機能の1つ、投影ポリシーについて紹介しました。ポリシーを作って適用する、という簡単なステップで制御できましたね...!あくまで投影を制限するポリシーなので、制限しているカラムを結合キーとして使用することはできるのも便利なところです。保護していないテーブル側からは情報が参照できてしまうのでそのあたりは注意が必要です。truestarではSnowflakeの検討、導入支援や環境構築からアプリ開発まで幅広くサポート可能です。Bucci↓すぐに使えるオープンデータが揃っています。ついてのお知らせです。