请考虑以下几点:
问题:由于角色 A 现已授予角色 B,现在是否允许角色 B 查看屏蔽字段?
如果上述方法不可行,如果您在 Snowflake 帐户中有多个角色并且并非所有角色都应该看到 PII,那么设置可以查看 PII/屏蔽字段的角色的最佳方法是什么?
如果您尚未使用数据库角色,那么我强烈建议您开始使用,因为它们可以让您在设置 RBAC 模型时变得更加轻松。
您需要将数据访问角色与屏蔽策略角色分开。最简单的模型是有 2 个数据库角色:
您现在可以将 DB_RO 角色授予任何需要能够从此数据库中选择数据的角色。
对于任何还需要能够查看此数据库中的屏蔽数据的角色,您还为其授予 PI_ALL 角色。
如果出于某种原因,您将 PI_ALL 角色授予了一个不具有 DB_RO 角色的角色,则该角色不会产生任何效果 - 因为该角色将无法选择数据库中的任何数据