Skip to main content

GitHub Quickstart

The GitHub scenario is an example of how to implement an authorization policy using a hierarchical, nested relationship-based access control (ReBAC) model.

The GitHub Quickstart includes:

  • A domain model for GitHub, including organization, team, and repo object types, owner, admin, maintainer, writer, triager, and reader relationships, and can_read, can_triage, can_write, can_maintain, can_delete, and can_administer permissions.
  • A policy instance called github which uses a boilerplate authorization policy called policy-rebac. This policy simply uses the underlying relationships to determine access.
  • A connection to the Citadel Demo IDP, which contains five demo users based on the Rick & Morty cartoon.
  • Sample resources, including Organizations such as citadel smiths, and Repos such as citadel.missions and smiths.budget. Rick & Morty have owner, writer, and reader relationships to these resources, demonstrating a relationship-based (ReBAC) model.
  • A back-end API that uses the github policy for authorization, implemented in several languages.
  • An interactive tutorial which helps construct curl requests to test the back-end API.

As you go through the Quickstart, you'll learn the following:

  • How to instantiate the GitHub template.
  • How to browse the directory and examine the manifest.
  • How to evaluate policy decisions within the Aserto Evaluator.
  • How to download and run the GitHub back-end API.
  • How to construct curl requests to the back-end in order to test out the API.

Prerequisites

To follow this Quickstart you'll need to have an Aserto account. If you do not have one, you can create one here. Once you have created your tenant, you can continue.