Giter Site home page Giter Site logo

authzed / docs Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 36.0 17.65 MB

Documentation website for Authzed & SpiceDB

Home Page: https://authzed.com/docs

License: Apache License 2.0

JavaScript 0.68% TypeScript 5.32% CSS 0.15% MDX 93.85%
zanzibar spicedb permissions authorization documentation production database distributed grpc fine-grained-authorization

docs's People

Contributors

alexmarple avatar alsbury avatar authzedbot avatar bison avatar blitz2145 avatar buraksekili avatar carlpett avatar corkrean avatar csardelacal avatar davegallant avatar dsieczko avatar ecordell avatar elimanto avatar ensonic avatar fd-automox avatar jakedt avatar josephschorr avatar jzelinskie avatar kambangsinclaire avatar kevinetienne avatar kirbyquerby avatar nhedger avatar reify-tanner-stirrat avatar samkim avatar stevendaniels avatar suttod avatar tpetr avatar vroldanbet avatar winstaan74 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docs's Issues

Document SpiceDB proxies (e.g. prom-authzed-proxy)

prom-authzed-proxy is a project that enables secure, multi-tenant PromQL queries by first performing a permissions check in SpiceDB and then enforcing label a label on the downstream PromQL queries.

This could be an entry in a larger document that describes existing proxies that integrate with SpiceDB and how to go about implementing new ones.

golang client creation example does not build

I need to change
https://github.com/authzed/docs/blob/main/docs/guides/first-app.mdx?plain=1#L172
to:

	grpcutil.WithInsecureBearerToken("xxxx"),
	grpc.WithTransportCredentials(insecure.NewCredentials()),

(and this needs 2 extra imports). Should I send a PR for the tutorial, or do you want to handle this in the grpcutil module?

The error I otherwise get from go run xxx.go is:

2022/11/15 16:01:54 unable to initialize client: grpc: no transport security set (use grpc.WithTransportCredentials(insecure.NewCredentials()) explicitly or set credentials)
exit status 1

unclear naming instructions for relations

The documentation for naming relations mentions that relations should be adjectives, but all of the examples are nouns:

### Naming Relations
Relations define how one object relates to another object/subject, and thus **relations should be named as adjectives**, read as `{relation name} (of the object)`.
Examples:
| Name | Read as |
| -------- | ---------------------- |
| `reader` | reader of the document |
| `writer` | writer of the document |
| `member` | member of the group |
| `parent` | parent of the folder |

document x-request-id header

SpiceDB supports clients to provide a x-request-id header that will be returned back in the response as part of the io.spicedb.respmeta.requestid header. This allows clients to trace application requests to SpiceDB requests.

This functionality is unfortunately not documented.

REST postman sample collection has wrong body for Lookup Subjects

The link https://www.postman.com/authzed/workspace/spicedb/request/21043612-bdadf2bc-b239-4bb4-b248-b21bcf676d31
states for Lookup Subjects the body:
{ "consistency": { "minimizeLatency": true }, "subjectObjectType": "user", "permission": "view", "resource": { "object": { "objectType": "document", "objectId": "topsecret1" } } }

But it should be without the "object" { }
{ "consistency": { "minimizeLatency": true }, "subjectObjectType": "user", "permission": "view", "resource": { "objectType": "document", "objectId": "topsecret1" } }

Feedback for “Schema Language”

I think adding a section on Resources and Subjects giving them precise definitions with examples at the start of the doc can make it a lot easier grok and build a mental model from.

I have been trying to answer the question. How is the schema being used and what is the relationship between the schema and what gets put into the database, I wanted to know what goes into the postgres not what is shown the playground which is higher level. How is the engine executing a query for a permission check. I was not able to find any details I am looking for.

I think adding a section along the lines of "How the schema is used by SpiceDB" can be quite helpful. The section should answer the following questions.

  1. What happens when a schema is written to spiceDB
  2. If I change something in the schema how is versioning handled?
  3. There is no version number in the schema how do I evolve the schema?
  4. How is a check query executed against a schema, what SQL gets generated is it one SQL query per check or multiple? I have a mental model of how a typical SQL engine executes a query TableScan, HashJoin ... etc. What are operations that are executed during a check? Or a tuple update / insert.

Building a strong mental model of how SpiceDB works is important to building the trust to use it in an application and to fully understand the trade offs of using it.

Add quiz component to articles

The NextJS docs have really nice components that quiz the user to see if they understood a section. Applying this idea to some of the documents on complicated topics would be a great addition.

Document SpiceDB dispatching and its configuration

In order to operate a highly available deployment of SpiceDB, you must configure dispatching, which is pretty subtle and undiscoverable until we add documentation for it.

This document should cover

  • What is dispatching
  • How it works
  • Default configuration
  • HA configuration

Create a doc dedicated to explaining and configuring billing

Right now users are requesting access to discover what a paid plan looks like.
This should be documented and made obvious to everyone regardless of whether or not they've even registered or starting using a development permissions system.

Add node examples to First-App guide

Now that node supports typescript and the v1 API, we should add that to the examples in the first app guide.
Maybe consider dropping Java in the meantime.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.