From f2935e59595b1de230149c81d1fe12cde46ccc2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Rold=C3=A1n=20Betancort?= Date: Tue, 21 Jan 2025 15:02:58 +0000 Subject: [PATCH] better describe use of caveats in playground I identified some gaps and recurring questions around the topic of caveat usage in the playground, so I tried to extend the documentation to better guide users. --- pages/spicedb/concepts/caveats.mdx | 70 ++++++++++++++++-- .../modeling/validation-testing-debugging.mdx | 59 +++++++++++++++ public/images/check-watches.png | Bin 0 -> 60179 bytes 3 files changed, 122 insertions(+), 7 deletions(-) create mode 100644 public/images/check-watches.png diff --git a/pages/spicedb/concepts/caveats.mdx b/pages/spicedb/concepts/caveats.mdx index ddc3f80f..5b75bfc6 100644 --- a/pages/spicedb/concepts/caveats.mdx +++ b/pages/spicedb/concepts/caveats.mdx @@ -117,21 +117,31 @@ A few important notes: Otherwise, the values in the `Relationship` take precedence over those in the `CheckPermissionRequest`. - Context of a caveat provided in `Relationship` is stored alongside the relationship and is provided to the caveat expression at runtime. This allows for **partial** binding of data at write time. -- The Context is a `structpb`, which is defined by Google and represents JSON-like data: [https://pkg.go.dev/google.golang.org/protobuf/types/known/structpb](https://pkg.go.dev/google.golang.org/protobuf/types/known/structpb) +- The Context is a `structpb`, which is defined by Google [and represents JSON-like data](https://pkg.go.dev/google.golang.org/protobuf/types/known/structpb). - To send 64-bit integers, encode them as strings. - A relationship cannot be duplicated, with or without a caveat, e.g. two relationships that differ only on their use of a caveat cannot both exist. - When deleting a relationship, a caveat does not need to be specified; the matching relationship will be deleted if present. -## Issuing Checks +## Providing Caveat Context via the API + +### `CheckPermission` When issuing a [CheckPermission request][check-req], additional caveat context can be specified to represent the known context at the time of the check: ```textproto CheckPermissionRequest { - Resource: …, - Permission: …, - Subject: …, - Context: { "user_ip": "1.2.3.4" } + resource: { + object_type: "book", + object_id: "specificbook", + }, + permission: "view", + subject: { + object: { + object_type: "user", + object_id: "specificuser", + }, + }, + context: { "user_ip": "1.2.3.4" } } ``` @@ -147,10 +157,56 @@ In the case of `PERMISSIONSHIP_CONDITIONAL_PERMISSION`, SpiceDB will also return [states]: https://buf.build/authzed/api/docs/main:authzed.api.v1#authzed.api.v1.CheckPermissionResponse.Permissionship [check-resp]: https://buf.build/authzed/api/docs/main:authzed.api.v1#authzed.api.v1.CheckPermissionResponse -## LookupResources and LookupSubjects +## `LookupResources` and `LookupSubjects` Similarly to **CheckPermission**, both **LookupResources** and **LookupSubjects** can be provided with additional context and will return one of the two permission states for each of the results found (either has permission or conditionally has permission). +```textproto +LookupResourcesRequest { + resource_object_type: "book", + permission: "view", + subject: { + object: { + object_type: "user", + object_id: "specificuser", + }, + }, + context: { "user_ip": "1.2.3.4" } +} +``` + +### Providing Caveat Context with `zed CLI + +When using `zed` command-line tool to interact with SpiceDB, the context can be provided using the `--caveat-context` flag. +The caveat context should be a JSON representation that matches the types defined in the schema. +For example, with the following caveat: + +```zed +caveat first_caveat(first_parameter int, second_parameter string) { + first_parameter == 42 && second_parameter == "hello world" +} +``` + +We would need to forward a JSON object like: + +```json +{ + "first_parameter": 42, + "second_parameter": "hello world" +} +``` + +The full command would look like: + +```shell +zed check -r resource:specificresource#view -p view -s user:specificuser --caveat-context '{"first_parameter": 42, "second_parameter": "hello world"}' +``` + + + Please note the use of single quotes to escape the characters in the JSON representation of the context. + You don't need character escaping when providing context using zed in the Authzed Playground. + + ## Full Example A full example of a schema with caveats can be found below, which allows users to `view` a resource if they are directly a `viewer` or they are a`viewer` within the correct IP CIDR range: diff --git a/pages/spicedb/modeling/validation-testing-debugging.mdx b/pages/spicedb/modeling/validation-testing-debugging.mdx index b581bb55..fe8b50fe 100644 --- a/pages/spicedb/modeling/validation-testing-debugging.mdx +++ b/pages/spicedb/modeling/validation-testing-debugging.mdx @@ -57,6 +57,29 @@ assertTrue: assertFalse: [] ``` +#### Caveat Context In Assertions + + + In order to escape JSON representation of the caveat context in an assertion you should use single-quotes + + +You can provide caveat context as part of an assertion: + +```yaml +assertTrue: + - 'document:validation-testing-debugging#reader@user:you with {"somecondition": 42, "anothercondition": "hello world"}' +assertFalse: [] +``` + +You can also assert that a caveat context is required for a particular expression using `assertCaveated`: + +```yaml +assertTrue: [] +assertCaveated: + - "document:validation-testing-debugging#reader@user:you" +assertFalse: [] +``` + ### Check Watches Check Watches are type of assertion that updates in real-time with changes in the Playground. @@ -67,6 +90,15 @@ Below is an example of configuring a Check Watch:
+Watches can show any of the following states: + +- ✅ Permission Allowed +- ❔ Permission Caveated +- ❌ Permission Denied +- ⚠️ Invalid Check + +![check-watches](/images/check-watches.png) + ### Expected Relations Expected Relations are a type of assertion that can be used to enumerate access to a specific relation. @@ -88,6 +120,33 @@ project:docs#admin: - "[user:rauchg] is " ``` +### Caveats in Expected Relations + +When caveats are involved, and due to the unbounded nature of it, the Playground will focus on enumerating +expected relations with "maybe" semantics. +You can't specify an expected relation with a specific caveat context, because the Playground supports inferring those for you, +and that would lead potentially to an infinite number of possible caveat context values. + +What you'll see is an expected relation with the caveat context denoted as `[...]` right after the resource. +This reads as `user:rauchg may have admin permission over platform vercel`. + +```yaml +project:docs#admin: + - "[user:rauchg[...]] is " +``` + +### Exceptions in Expected Relations + +There are also scenarios where an expected relation is described with an exception, which indicates that a permission +holds for a specific resource and subject pair, but with a potential exception. + +The following example reads like: `user:rauchg has admin permission over platform vercel, unless user:rauchg is banned`. + +```yaml +project:docs#admin: + - "[user:rauchg[...]] is /" +``` + ## Check Tracing SpiceDB supports tracing of check requests to view the path(s) taken to compute the result, as well as timing information. diff --git a/public/images/check-watches.png b/public/images/check-watches.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb36027bc713fe7ac919fe7a46a476f137ee69c GIT binary patch literal 60179 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 literal 0 HcmV?d00001