blob: 89ab9c0b5e528434ee6c09e83de0b7ffb7bd72b9 [file] [log] [blame]
{
"serviceName": "kafkadev",
"serviceDef": {
"name": "kafka", "id": 9,
"resources": [
{ "name": "topic", "level": 1, "mandatory": true, "lookupSupported": true, "matcher": "org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher", "matcherOptions": { "wildCard": true, "ignoreCase": true }, "label": "Topic", "description": "Topic", "accessTypeRestrictions": [ "create", "delete", "configure", "alter", "alter_configs", "describe", "describe_configs", "consume", "publish" ] },
{ "name": "transactionalid", "level": 1, "mandatory": true, "lookupSupported": true, "matcher": "org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher", "matcherOptions": { "wildCard": true, "ignoreCase": true }, "label": "Transactional Id", "description": "Transactional Id", "accessTypeRestrictions": [ "describe", "publish" ] },
{ "name": "cluster", "level": 1, "mandatory": true, "lookupSupported": true, "matcher": "org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher", "matcherOptions": { "wildCard": true, "ignoreCase": true }, "label": "Cluster", "description": "Cluster", "accessTypeRestrictions": [ "create", "configure", "alter", "alter_configs", "describe", "describe_configs", "kafka_admin", "idempotent_write", "cluster_action" ] },
{ "name": "delegationtoken", "level": 1, "mandatory": true, "lookupSupported": true, "matcher": "org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher", "matcherOptions": { "wildCard": true, "ignoreCase": true }, "label": "Delegation Token", "description": "Delegation Token", "accessTypeRestrictions": [ "describe" ] },
{ "name": "consumergroup", "level": 1, "mandatory": true, "lookupSupported": true, "matcher": "org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher", "matcherOptions": { "wildCard": true, "ignoreCase": true }, "label": "Consumer Group", "description": "Consumer Group", "accessTypeRestrictions": [ "consume", "describe", "delete" ] }
],
"accessTypes": [
{ "name": "publish", "label": "Publish", "impliedGrants": [ "describe" ] },
{ "name": "consume", "label": "Consume", "impliedGrants": [ "describe" ] },
{ "name": "configure", "label": "Configure", "impliedGrants": [ "describe" ] },
{ "name": "describe", "label": "Describe" },
{ "name": "kafka_admin", "label": "Kafka Admin", "impliedGrants": [ "publish", "consume", "configure", "describe", "create", "delete", "describe_configs", "alter_configs", "alter", "idempotent_write", "cluster_action" ] },
{ "name": "create", "label": "Create" },
{ "name": "delete", "label": "Delete", "impliedGrants": [ "describe" ] },
{ "name": "idempotent_write", "label": "Idempotent Write" },
{ "name": "describe_configs", "label": "Describe Configs" },
{ "name": "alter_configs", "label": "Alter Configs" },
{ "name": "cluster_action", "label": "Cluster Action" },
{ "name": "alter", "label": "alter" }
]
},
"policies": [
{
"id": 10,"name": "10: test-topic publish/consume allowed","isEnabled": true,"isAuditEnabled": true,
"resources": { "topic": {"values": [ "test-topic-1" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "publish", "isAllowed": true },{"type": "consume", "isAllowed": true }], "users": [ "user1" ], "groups": [] }
]
},
{
"id": 101,"name": "101: test-topic publish/consume allowed","isEnabled": true,"isAuditEnabled": true,
"resources": { "topic": {"values": [ "test-topic-2" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "publish", "isAllowed": true },{"type": "consume", "isAllowed": true }], "users": [ "user2" ], "groups": [] }
]
},
{
"id": 102,"name": "102: test-topic publish/consume allowed","isEnabled": true,"isAuditEnabled": true,
"resources": {"topic": {"values": [ "test-topic-1","test-topic-4" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "consume", "isAllowed": true }], "users": [ "user3" ], "groups": [] }
]
},
{
"id": 103,"name": "103: test-topic publish/consume allowed","isEnabled": true,"isAuditEnabled": true,
"resources": { "topic": {"values": [ "test-topic-1","test-topic-5" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "consume", "isAllowed": true }], "users": [ "user4", "user5" ], "groups": [] }
]
},
{
"id": 104,"name": "104: test-topic publish/consume allowed","isEnabled": true,"isAuditEnabled": true,
"resources": { "topic": {"values": [ "test-topic-7" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "publish", "isAllowed": true },{"type": "consume", "isAllowed": true }], "users": [ "user6" ], "groups": [] }
]
},
{
"id": 20,"name": "02: transation id","isEnabled": true,"isAuditEnabled": true,"policyType": 1,
"resources": { "delegationtoken": {"values": [ "tid-1" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "publish", "isAllowed": true }], "users": [ "user1" ], "groups": [] }
]
},
{
"id": 30,"name": "create/alter access for user1 on cluster-1","isEnabled": true,"isAuditEnabled": true,
"resources": { "cluster": {"values": [ "cluseter-1" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "create", "isAllowed": true },{"type": "alter", "isAllowed": true }], "users": [ "user1" ], "groups": [] }
]
},
{
"id": 301,"name": "Alter access for user31 on cluster-2","isEnabled": true,"isAuditEnabled": true,
"resources": { "cluster": {"values": [ "cluster-2" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "alter", "isAllowed": true }], "users": [ "user31" ], "groups": [] }
]
},
{
"id": 302,"name": "Alter access for user32 on cluster-1","isEnabled": true,"isAuditEnabled": true,
"resources": { "cluster": {"values": [ "cluseter-1" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "alter", "isAllowed": true }], "users": [ "user32" ], "groups": [] }
]
},
{
"id": 40,"name": "delegationtoken","isEnabled": true,"isAuditEnabled": true,
"resources": { "delegationtoken": {"values": [ "dt-1" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "describe", "isAllowed": true }], "users": [ "user1" ], "groups": [] }
]
},
{
"id": 50,"name": "consumergroup-1 access","isEnabled": true,"isAuditEnabled": true,
"resources": { "consumergroup": {"values": [ "consumergroup-1" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "consume", "isAllowed": true }], "users": [ "user1" ], "groups": [] }
]
},
{
"id": 52,"name": "consumergroup-2 access for user4","isEnabled": true,"isAuditEnabled": true,
"resources": { "consumergroup": {"values": [ "consumergroup-2" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "consume", "isAllowed": true }], "users": [ "user4" ], "groups": [] }
]
},
{
"id": 110,"name": "110: test-topic-1/2 consume allowed for user2","isEnabled": true,"isAuditEnabled": true,
"resources": { "topic": {"values": [ "test-topic-1", "test-topic-2" ], "isRecursive": true } },
"policyItems": [
{"accesses": [{"type": "consume", "isAllowed": true }], "users": [ "user2" ], "groups": [] }
]
},
{
"id": 111, "name": "110: new-topic-1/2 allowed for user2", "isEnabled": true, "isAuditEnabled": true,
"resources": { "topic": { "values": [ "new-topic-1", "new-topic-2" ], "isRecursive": true } },
"policyItems": [
{ "accesses": [ { "type": "consume", "isAllowed": true } ], "users": [ "user2" ], "groups": [] }
]
}
],
"tests": [
{
"name": "Any topic Consume access for user3",
"request": {
"resource": { "elements": { "topic": "" } }, "resourceElementMatchingScopes": { "topic": "SELF_OR_PREFIX" },
"accessType": "consume", "user": "user3", "userGroups": []
},
"result": { "isAudited": true, "isAllowed": true, "policyId": 102 }
},
{
"name": "Any consumergroup consume access for user1",
"request": {
"resource": { "elements": { "consumergroup": "" } }, "resourceElementMatchingScopes": { "consumergroup": "SELF_OR_PREFIX" },
"accessType": "consume", "user": "user1", "userGroups": []
},
"result": { "isAudited": true, "isAllowed": true," policyId": 50 }
},
{
"name": "Any consumergroup consume access for user3",
"request": {
"resource": { "elements": { "consumergroup": "" } }, "resourceElementMatchingScopes": { "consumergroup": "SELF_OR_PREFIX" },
"accessType": "consume", "user": "user3", "userGroups": []
},
"result": { "isAudited": true, "isAllowed": false, "policyId": -1 }
}
]
}