役割のためにdb_denycustomer
、私がしたいだけで、顧客テーブルの列コードを選択し、他の人のどれもします。だから私はこれをしました:
DENY SELECT ON dbo.customer TO db_denycustomer
GRANT SELECT ON dbo.customer (code) TO db_denycustomer
...そしてそれはうまくいきます。涼しい!しかし、なぜですか?
私が関連記事で読んだのは、その許可スタックですが、DENY
優先されます。対照的に、私の場合、最後の権限「クエリ」が優先されたようです。案の定、逆の順序で実行すると、後者DENY
もコード列を非表示にします。
これについて詳しく説明してもらえますか?
テストしたユーザーのデフォルトdb_datawriter
とdb_datareader
ロールも含めました。