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
workspaceandchannelobject types. Workspaces havechannel_admin,guest, andmemberrelationships which grant permissions likecan_administer_channel. Channels havecommenterandwriterrelationships which grant permissions likecan_read,can_write,can_comment, andcan_delete. - A policy instance called
slackwhich uses a boilerplate authorization policy calledpolicy-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 workspaceand channels such asgeneral,citadel, andgossip. Rick & Morty havechannel_adminandmemberrelationships 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
slackpolicy for authorization, implemented in several languages. - An interactive tutorial which helps construct
curlrequests 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
curlrequests 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.