Skip to main content

Slack Quickstart

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

The Slack Quickstart includes:

  • A domain model for Slack, including workspace and channel object types. Workspaces have channel_admin, guest, and member relationships which grant permissions like can_administer_channel. Channels have commenter and writer relationships which grant permissions like can_read, can_write, can_comment, and can_delete.
  • A policy instance called slack 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 workspaces such as The Smiths workspace and channels such as general, citadel, and gossip. Rick & Morty have channel_admin and member relationships to the workspace, which gives them permissions on the channels in the workspace, demonstrating a relationship-based (ReBAC) model.
  • A back-end API that uses the slack 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 Slack 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 Slack 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.