Skip to main content

What is a Resource?

A resource represents an entity in your application that you want to protect with permissions. Documents, projects, users, reports, jobs—anything that subjects need permission to access is a resource.

Resource Types

Define categories of resources

Resource Hierarchies

Model parent-child resource relationships

Resource Scope Links

Share resources across scopes

Resource Collections

Dynamic resource grouping with match rules

Resource Policies

Fine-grained allow/deny on resources

Tags

Classify resources with tags

Resource Properties

Creating Resources

Resource-Based Permissions

Permissions can target specific resources or resource patterns:

Evaluating Against Resources

When checking permissions, you can specify the resource:

Resource Ownership

A resource’s ownerScopeId is the scope that owns it (it also serves as the always-reachable scope for the reachability gate—see Resource Scope Links). It is a scope, not a subject.
To make a subject an owner of a resource—so the engine grants that subject an owner role’s permissions on it—use a resource-ownership grant (owns(subject, resource, role)), which the engine evaluates as its own leg. That is distinct from ownerScopeId.

Common Patterns

Pattern 1: Document Management

Pattern 2: Project Management

Pattern 3: E-Commerce

API Reference

Create Resource Type

Define a new resource type

Create Resource

Create a resource instance

Get Resources

List resources

Resource Types API

All resource type operations

Next Steps

Resource Types

Learn how to define resource type schemas