blob: 36e11f3a29744120ed0001b7382cbbc22602bd8a [file] [log] [blame]
{
"serviceName":"hivedev",
"serviceDef":{
"name":"hive",
"id":3,
"resources":[
{"name":"database","level":1,"mandatory":true,"lookupSupported":true,"matcher":"org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher","matcherOptions":{"wildCard":true, "ignoreCase":true},"label":"Hive Database","description":"Hive Database"},
{"name":"table","level":2,"parent":"database","mandatory":true,"lookupSupported":true,"matcher":"org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher","matcherOptions":{"wildCard":true, "ignoreCase":true},"label":"Hive Table","description":"Hive Table"},
{"name":"udf","level":2,"parent":"database","mandatory":true,"lookupSupported":true,"matcher":"org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher","matcherOptions":{"wildCard":true, "ignoreCase":true},"label":"Hive UDF","description":"Hive UDF"},
{"name":"column","level":3,"parent":"table","mandatory":true,"lookupSupported":true,"matcher":"org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher","matcherOptions":{"wildCard":true, "ignoreCase":true},"label":"Hive Column","description":"Hive Column"}
],
"accessTypes":[
{"name":"select","label":"Select"},
{"name":"update","label":"Update"},
{"name":"create","label":"Create"},
{"name":"drop","label":"Drop"},
{"name":"alter","label":"Alter"},
{"name":"index","label":"Index"},
{"name":"lock","label":"Lock"},
{"name":"all","label":"All"}
],
"options": {
"enableDenyAndExceptionsInPolicies":"true"
},
"policyConditions":[
{
"itemId":1,
"name":"accessed-together",
"evaluator": "org.apache.ranger.plugin.conditionevaluator.RangerHiveResourcesAccessedTogetherCondition",
"evaluatorOptions" : {"ui.isMultiline":"false" },
"label":"Accessed Together?",
"description": "List of Hive resources"
}
]
},
"policies":[
{"id":1,"name":"db=default; allow select with mutual exclusion of col* only for user2, admin; deny for everyone else","isEnabled":true,"isAuditEnabled":true,
"resources":{"database":{"values":["default"]},"table":{"values":["testTable"]},"column":{"values":["col*"]}},
"policyItems":[
{"accesses":[{"type":"select"}],"users":["user2", "admin"],"groups":[],"delegateAdmin":false}
],
"denyPolicyItems":[
{"accesses":[{"type":"select"}],"users":[],"groups":["public"],"delegateAdmin":false,"conditions":[{"type":"accessed-together","values":["default.testTable.col*"]}]}
],
"denyExceptions":[
{"accesses":[{"type":"select"}],"users":["user2","admin"],"groups":["admin"],"delegateAdmin":false}
]
},
{"id":2,"name":"db=default; deny select with mutual exclusion of col1, name for everone except admin","isEnabled":true,"isAuditEnabled":true,
"resources":{"database":{"values":["default"]},"table":{"values":["testTable"]},"column":{"values":["col1"]}},
"policyItems":[
{"accesses":[{"type":"select"}],"users":["admin"],"groups":[],"delegateAdmin":false}
],
"denyPolicyItems":[
{"accesses":[{"type":"select"}],"users":[],"groups":["public"],"delegateAdmin":false,"conditions":[{"type":"accessed-together","values":["default.testTable.col1", "default.testTable.name"]}]}
],
"denyExceptions":[
{"accesses":[{"type":"select"}],"users":["admin"],"groups":[],"delegateAdmin":false}
]
},
{"id":3,"name":"db=default; table=testTable; column=*; allow access to everyone","isEnabled":true,"isAuditEnabled":true,
"resources":{"database":{"values":["default"]},"table":{"values":["testTable"]},"column":{"values":["*"]}},
"policyItems":[
{"accesses":[{"type":"select"}],"users":[""],"groups":["public"],"delegateAdmin":false}
]
}
],
"tests":[
{
"name": "DENY 'select col1, col2 from default.testtable;' to user1",
"request": {
"resource": {
"elements": {
"database": "default",
"table": "testTable",
"column": "col1"
}
},
"accessType": "select",
"user": "user1",
"userGroups": [
],
"requestData": "select col1,col2 from default.testtable",
"context": {
"REQUESTED_RESOURCES": "{\"requestedResources\":[ {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"col1\"} }, {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"col2\"} } ]}"
}
},
"result": {
"isAudited": true,
"isAllowed": false,
"policyId": 1
}
}
,
{
"name": "ALLOW 'select col1, col2 from default.testtable;' to admin",
"request": {
"resource": {
"elements": {
"database": "default",
"table": "testTable",
"column": "col1"
}
},
"accessType": "select",
"user": "admin",
"userGroups": [
],
"requestData": "select col1,col2 from default.testtable",
"context": {
"REQUESTED_RESOURCES": "{\"requestedResources\":[ {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"col1\"} }, {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"col2\"} } ]}"
}
},
"result": {
"isAudited": true,
"isAllowed": true,
"policyId": 1
}
}
,
{
"name": "DENY 'select col1, name from default.testtable;' to user2",
"request": {
"resource": {
"elements": {
"database": "default",
"table": "testTable",
"column": "col1"
}
},
"accessType": "select",
"user": "user2",
"userGroups": [
],
"requestData": "select col1,name from default.testtable",
"context": {
"REQUESTED_RESOURCES": "{\"requestedResources\":[ {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"col1\"} }, {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"name\"} } ]}"
}
},
"result": {
"isAudited": true,
"isAllowed": false,
"policyId": 2
}
}
,
{
"name": "ALLOW 'select col2 from default.testtable;' to user1",
"request": {
"resource": {
"elements": {
"database": "default",
"table": "testTable",
"column": "col1"
}
},
"accessType": "select",
"user": "user1",
"userGroups": [
"public"
],
"requestData": "select col2 from default.testtable",
"context": {
"REQUESTED_RESOURCES": "{\"requestedResources\":[ {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"col2\"} } ]}"
}
},
"result": {
"isAudited": true,
"isAllowed": true,
"policyId": 3
}
}
,
{
"name": "ALLOW 'select col2, name from default.testtable;' to user1",
"request": {
"resource": {
"elements": {
"database": "default",
"table": "testTable",
"column": "col1"
}
},
"accessType": "select",
"user": "user1",
"userGroups": [
"public"
],
"requestData": "select col2,name from default.testtable",
"context": {
"REQUESTED_RESOURCES": "{\"requestedResources\":[ {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"col2\"} }, {\"elements\":{\"database\":\"default\",\"table\":\"testTable\",\"column\":\"name\"} } ]}"
}
},
"result": {
"isAudited": true,
"isAllowed": true,
"policyId": 3
}
}
]
}