SnowPro Advanced: MLOps Engineer 無料問題 9 / 10 ・ 分野5: Governance, Security, and Monitoring
特徴量のテーブル FT_LOANS には、シグネチャが REGION の列を取る行アクセスポリシーがあり、各アナリストは自分の地域の行だけを見る。プライバシーの担当は、REGION をほとんどのロールにマスクして見せるため、シグネチャが同じく REGION を取るマスキングポリシーを足したい。行アクセスポリシーのドキュメントに合うものはどれか。
- できる。マスキングポリシーが先に動き、行のフィルターはマスクした値を読む
- 計画どおりにはできない。1つの列を両方のシグネチャに同時に入れられない
- できる。1つの列はいくつのポリシーのシグネチャにでも入れられる
- できる。2つのポリシーは、付けた順に動く
正解と解説を見る
正解: B
正解の理由
行アクセスポリシーのページの「Masking policies」の節には、データベースのオブジェクトに行アクセスポリシーと1つ以上のマスキングポリシーの両方があるとき、Snowflake は行アクセスポリシーを先に評価すると書かれている。続けて、テーブルやビューのある列は、行アクセスポリシーのシグネチャかマスキングポリシーのシグネチャのどちらかに指定でき、同じ列を両方に同時に指定することはできないとある。FT_LOANS では REGION がすでに行アクセスポリシーのシグネチャにあるので、REGION を取るマスキングポリシーは計画どおりには足せない。プライバシーの担当は、別のやり方で列を守るか、どちらのポリシーが REGION を読むかを変える必要がある。
違う選択肢
「できる。マスキングポリシーが先に動き、行のフィルターはマスクした値を読む」… 行アクセスポリシーと1つ以上のマスキングポリシーの両方があるとき、ページには Snowflake は行アクセスポリシーを先に評価するとある。しかもこの組は、REGION が両方のシグネチャに入るので、そもそも組めない。
「できる。2つのポリシーは、付けた順に動く」… 順は付けた時期から決まるのではなく決まっており、Snowflake は行アクセスポリシーを先に評価する。そして REGION が両方のシグネチャに入る以上、この組はそもそも設定できない。
「できる。1つの列はいくつのポリシーのシグネチャにでも入れられる」… ページには、テーブルやビューのある列は、行アクセスポリシーのシグネチャかマスキングポリシーのシグネチャのどちらかに指定できるとあるので、REGION はそのうち一方にしか入れられない。
1つの列には、1種類のシグネチャ
「Considerations」の節は、ほかの行アクセスポリシーやマスキングポリシーですでに守られたテーブルにポリシーを付けると、エラーになることがあると付け加えている。展開の前に、各ポリシーがどの列を読むかを書き出しておけば、デプロイで ALTER TABLE の文が失敗するのを避けられる。