[
  {
    "resource": {
      "verbs": [
        "get",
        "list"
      ],
      "resources": [
        "user_resource1",
        "user_resource2"
      ],
      "version": "*",
      "namespace": "*"
    },
    "match": [
      {
        "type": "user",
        "values": [
          "user1"
        ]
      },
      {
        "type": "role",
        "values": [
          "role1"
        ]
      }
    ]
  },
  {
    "resource": {
      "verbs": ["get"],
      "resources": ["group_resource"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "group",
      "values": ["group1"]
    }]
  },
  {
    "resource": {
      "verbs": [
        "get"
      ],
      "resources": [
        "group_role_resource"
      ],
      "version": "*",
      "namespace": "*"
    },
    "match": [
      {
        "type": "group",
        "values": [
          "group1"
        ]
      },
      {
        "type": "role",
        "values": [
          "role3"
        ]
      }
    ]
  },
  {
    "resource": {
      "verbs": ["get"],
      "resources": ["project_resource"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "project",
      "values": ["project1"]
    }]
  },
  {
    "resource": {
      "verbs": ["get"],
      "resources": ["role_resource"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "role",
      "values": ["role1"]
    }]
  },
  {
    "resource": {
      "verbs": ["get"],
      "resources": ["core_resource"],
      "version": "",
      "namespace": "*"
    },
    "match": [{
      "type": "role",
      "values": ["role1"]
    }]
  },
  {
    "nonresource": {
      "verbs": ["get"],
      "path": "/user"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "nonresource": {
      "verbs": ["get"],
      "path": "/group"
    },
    "match": [{
      "type": "group",
      "values": ["group1"]
    }]
  },
  {
    "nonresource": {
      "verbs": ["get"],
      "path": "/project"
    },
    "match": [{
      "type": "project",
      "values": ["project1"]
    }]
  },
  {
    "nonresource": {
      "verbs": ["get"],
      "path": "/role"
    },
    "match": [{
      "type": "role",
      "values": ["role1"]
    }]
  },

  {
    "resource": {
      "verbs": ["*"],
      "resources": ["unknown_type_resource"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "unknown_type",
      "values": ["*"]
    }]
  },
  {
    "resource": {
      "verbs": ["get"],
      "resources": ["user_resource"],
      "version": "*",
      "namespace": "*"
    },
    "nonresource": {
      "verbs": ["get"],
      "path": "/user"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "resource": {
      "verbs": [""],
      "resources": ["user_resource"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "nonresource": {
      "verbs": [""],
      "path": "/user"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "resource": {
      "verbs": ["get"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "nonresource": {
      "verbs": ["get"]
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "resource": {
      "verbs": ["get"],
      "resources": ["user_resource1/subresource1"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "resource": {
      "verbs": ["get"],
      "resources": ["user_resource3/*"],
      "version": "*",
      "namespace": "*"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "nonresource": {
      "verbs": ["get"],
      "path": "/api"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  },
  {
    "nonresource": {
      "verbs": ["get"],
      "path": "/api/*"
    },
    "match": [{
      "type": "user",
      "values": ["user1"]
    }]
  }
]
