Skip to content

AZ402: Masks need a view ​

Masked columns are hidden by a view the policy makes: rules app.users view app.users_v. The view shows the rows select allows, so the table needs a select rule, and the view's name must be a new one (not a table of the policy).

Reported when the policy is compiled: rowfence check, the editor, rowfence dev.

The mistake ​

authz
app role app_user
type user = app.users
type folder = app.folders
  owner : user = owner_id
  can view = owner
rules app.folders
  select : view
  mask notes : owner
line 8: masks are applied by a view: write 'rules app.folders view <schema.view_name>' [AZ402]

Fixed ​

authz
app role app_user
type user = app.users
type folder = app.folders
  owner : user = owner_id
  can view = owner
rules app.folders view app.folders_v
  select : view
  mask notes : owner