| { |
| "policiesFilename": "/plugin/hive_policies.json", |
| "tagsFilename": "/plugin/hive_tags.json", |
| "rolesFilename": "/plugin/hive_roles.json", |
| "userStoreFilename": "/plugin/hive_user_store.json", |
| "gdsInfoFilename": "/policyengine/gds/gds_info_hive_access.json", |
| "tests": [ |
| { |
| "name": "table: sales.prospects, user: res-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } }, |
| "accessType": "select", "user": "res-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 100 } |
| }, |
| { |
| "name": "table: sales.prospects, user: tag-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } }, |
| "accessType": "select", "user": "tag-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 200 } |
| }, |
| { |
| "name": "table: sales.prospects, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2001 } |
| }, |
| { |
| "name": "table: sales.prospects, user: ds1-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } }, |
| "accessType": "select", "user": "ds1-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2001 } |
| }, |
| { |
| "name": "table: sales.prospects, user: proj-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } }, |
| "accessType": "select", "user": "proj-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3001 } |
| }, |
| { |
| "name": "table: sales.prospects, user: proj1-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } }, |
| "accessType": "select", "user": "proj1-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3001 } |
| }, |
| { |
| "name": "table: sales.prospects, user: no-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } }, |
| "accessType": "select", "user": "no-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| |
| { |
| "name": "table: finance.invoices, user: res-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } }, |
| "accessType": "select", "user": "res-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 110 } |
| }, |
| { |
| "name": "table: finance.invoices, user: tag-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } }, |
| "accessType": "select", "user": "tag-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 201 } |
| }, |
| { |
| "name": "table: finance.invoices, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2001 } |
| }, |
| { |
| "name": "table: finance.invoices, user: ds1-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } }, |
| "accessType": "select", "user": "ds1-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2001 } |
| }, |
| { |
| "name": "table: finance.invoices, user: proj-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } }, |
| "accessType": "select", "user": "proj-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3001 } |
| }, |
| { |
| "name": "table: finance.invoices, user: proj1-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } }, |
| "accessType": "select", "user": "proj1-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3001 } |
| }, |
| { |
| "name": "table: finance.invoices, user: no-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } }, |
| "accessType": "select", "user": "no-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| |
| { |
| "name": "table: shipping.shipments, user: res-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } }, |
| "accessType": "select", "user": "res-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 121 } |
| }, |
| { |
| "name": "table: shipping.shipments, user: tag-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } }, |
| "accessType": "select", "user": "tag-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 202 } |
| }, |
| { |
| "name": "table: shipping.shipments, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2002 } |
| }, |
| { |
| "name": "table: shipping.shipments, user: ds2-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } }, |
| "accessType": "select", "user": "ds2-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2002 } |
| }, |
| { |
| "name": "table: shipping.shipments, user: proj-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } }, |
| "accessType": "select", "user": "proj-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3001 } |
| }, |
| { |
| "name": "table: shipping.shipments, user: proj1-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } }, |
| "accessType": "select", "user": "proj1-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3001 } |
| }, |
| { |
| "name": "table: shipping.shipments, user: no-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } }, |
| "accessType": "select", "user": "no-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| |
| |
| { |
| "name": "table: customers.contact_info, user: res-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } }, |
| "accessType": "select", "user": "res-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 131 } |
| }, |
| { |
| "name": "table: customers.contact_info, user: tag-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } }, |
| "accessType": "select", "user": "tag-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 203 } |
| }, |
| { |
| "name": "table: customers.contact_info, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2003 } |
| }, |
| { |
| "name": "table: customers.contact_info, user: ds3-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } }, |
| "accessType": "select", "user": "ds3-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2003 } |
| }, |
| { |
| "name": "table: customers.contact_info, user: proj-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } }, |
| "accessType": "select", "user": "proj-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3002 } |
| }, |
| { |
| "name": "table: customers.contact_info, user: proj2-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } }, |
| "accessType": "select", "user": "proj2-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 3002 } |
| }, |
| { |
| "name": "table: customers.contact_info, user: no-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } }, |
| "accessType": "select", "user": "no-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| |
| |
| { |
| "name": "table: customers.shipping_address, user: res-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address" } }, |
| "accessType": "select", "user": "res-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| { |
| "name": "table: customers.shipping_address, user: tag-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address" } }, |
| "accessType": "select", "user": "tag-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| { |
| "name": "table: customers.shipping_address, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1, "additionalInfo": { "filterExpr": "country = 'US'" } } |
| }, |
| { |
| "name": "mask: column: customers.shipping_address.phone, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address", "column": "phone" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2006, "additionalInfo": { "maskType": "MASK_SHOW_LAST_4" } } |
| }, |
| { |
| "name": "mask: column: customers.shipping_address.city, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address", "column": "city" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2006, "additionalInfo": { "maskType": "MASK_SHOW_FIRST_4" } } |
| }, |
| { |
| "name": "mask: column: customers.shipping_address.zip, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address", "column": "zip" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2006, "additionalInfo": null } |
| }, |
| { |
| "name": "mask: column: customers.shipping_address.non-existing, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address", "column": "non-existing" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": false, "isAuditedDetermined": false, "policyId": -1, "additionalInfo": null } |
| }, |
| { |
| "name": "mask: column: customers.shipping_address.phone, user: ds6-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address", "column": "phone" } }, |
| "accessType": "select", "user": "ds6-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2006, "additionalInfo": { "maskType": "MASK_SHOW_LAST_4" } } |
| }, |
| { |
| "name": "table: customers.shipping_address, user: ds3-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address" } }, |
| "accessType": "select", "user": "ds3-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| { |
| "name": "table: customers.shipping_address, user: proj-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address" } }, |
| "accessType": "select", "user": "proj-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1, "additionalInfo": { "filterExpr": "country = 'US'" } } |
| }, |
| { |
| "name": "table: customers.shipping_address, user: proj2-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address" } }, |
| "accessType": "select", "user": "proj2-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| { |
| "name": "table: customers.shipping_address, user: no-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "shipping_address" } }, |
| "accessType": "select", "user": "no-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| |
| { |
| "name": "table: operations.facilities, user: res-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "operations", "table": "facilities" } }, |
| "accessType": "select", "user": "res-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 141 } |
| }, |
| { |
| "name": "table: operations.facilities, user: tag-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "operations", "table": "facilities" } }, |
| "accessType": "select", "user": "tag-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 204 } |
| }, |
| { |
| "name": "table: operations.facilities, user: ds-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "operations", "table": "facilities" } }, |
| "accessType": "select", "user": "ds-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2004 } |
| }, |
| { |
| "name": "table: operations.facilities, user: ds4-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "operations", "table": "facilities" } }, |
| "accessType": "select", "user": "ds4-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": true, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": 2004 } |
| }, |
| { |
| "name": "table: operations.facilities, user: proj-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "operations", "table": "facilities" } }, |
| "accessType": "select", "user": "proj-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| { |
| "name": "table: operations.facilities, user: no-user, access: select", |
| "request": { |
| "resource": { "elements": { "database": "operations", "table": "facilities" } }, |
| "accessType": "select", "user": "no-user", "userGroups": [] |
| }, |
| "result": { "isAllowed": false, "isAccessDetermined": "true", "isAudited": true, "isAuditedDetermined": true, "policyId": -1 } |
| }, |
| |
| { |
| "name": "ACLs: table: sales.prospects", |
| "request": { |
| "resource": { "elements": { "database": "sales", "table": "prospects" } } |
| }, |
| "acls": { |
| "userACLs": { |
| "res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 100 } } }, |
| "tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 200 } } }, |
| "ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } }, |
| "ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } }, |
| "proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }, |
| "proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } } |
| }, |
| "datasets": [ "dataset-1" ], |
| "projects": [ "project-1" ] |
| } |
| }, |
| { |
| "name": "ACLs: table: finance.invoices", |
| "request": { |
| "resource": { "elements": { "database": "finance", "table": "invoices" } } |
| }, |
| "acls": { |
| "userACLs": { |
| "res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 110 } } }, |
| "tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 201 } } }, |
| "ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } }, |
| "ds1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2001 } } }, |
| "ds2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } }, |
| "proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }, |
| "proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } } |
| }, |
| "datasets": [ "dataset-1", "dataset-2" ], |
| "projects": [ "project-1" ] |
| } |
| }, |
| { |
| "name": "ACLs: table: shipping.shipments", |
| "request": { |
| "resource": { "elements": { "database": "shipping", "table": "shipments" } } |
| }, |
| "acls": { |
| "userACLs": { |
| "res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 121 } } }, |
| "tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 202 } } }, |
| "ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } }, |
| "ds2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2002 } } }, |
| "proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } }, |
| "proj1-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3001 } } } |
| }, |
| "datasets": [ "dataset-2" ], |
| "projects": [ "project-1" ] |
| } |
| }, |
| { |
| "name": "ACLs: table: customers.contact_info", |
| "request": { |
| "resource": { "elements": { "database": "customers", "table": "contact_info" } } |
| }, |
| "acls": { |
| "userACLs": { |
| "res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 131 } } }, |
| "tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 203 } } }, |
| "ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2003 } } }, |
| "ds3-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2003 } } }, |
| "ds6-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2006 } } }, |
| "proj-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3002 } } }, |
| "proj2-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3002 } } }, |
| "proj4-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 3004 } } } |
| }, |
| "datasets": [ "dataset-3", "dataset-6" ], |
| "projects": [ "project-2", "project-4" ] |
| } |
| }, |
| { |
| "name": "ACLs: table: operations.facilities", |
| "request": { |
| "resource": { "elements": { "database": "operations", "table": "facilities" } } |
| }, |
| "acls": { |
| "userACLs": { |
| "res-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 141 } } }, |
| "tag-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 204 } } }, |
| "ds-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2004 } } }, |
| "ds4-user": { "select": { "result": 1, "isFinal": true, "policy": { "id": 2004 } } } |
| }, |
| "datasets": [ "dataset-4" ] |
| } |
| } |
| ] |
| } |