Quickstart
Last updated
Last updated
Abbey is an access governance platform that helps you automate access requests and approvals, making it easier for people to get access to resources like AWS S3 or Google Groups. This helps you get access to the resources you need, when you need it.
This tutorial teaches you how to get Abbey up and running, define time-bound access policies, and go through the request/approval flow for getting access to a resource.
Create an Abbey Account - keep this page open, you'll need it for the rest of the tutorial!
Log into your GitHub account
Abbey works with both GitHub and GitHub Enterprise (Cloud).
Go to Abbey Demo Site, login, and you'll see the following screen below
🏁 That's expected! You don't have access yet. This Quickstart will allow you to configure a Grant Kit for the demo site so you can request and approve access.
For this step, you'll be working in
Github
First, we'll create a new repo in your GitHub account based off our quickstart template repo.
Go to our Quickstart on Gitub
Click on Use this template
Click on Create a new repository to create the repository
Fill out the Repository name
Click Create repository
🏁 At this point, you should have a repository in your own GitHub account that is based off the Abbey Quickstart Repository
For this step, you'll be working in
Abbey App
GitHub
To use Abbey for access requests, you'll need to connect Abbey to your GitHub.
Go to the Abbey App (app.abbey.io)
Go to the Settings > Version Control page and click ➕Create a Connection
Choose a name for your connection, then click Create. You'll be redirected to GitHub to install Abbey on your GitHub account.
In the Github App Permissions screen, choose either All Repositories or Only select repositories with the repository you created earlier in Step 1 selected
5. Once you click Install & Authorize, you'll be redirected back to the Abbey App, and your connection will be created 🎉
🏁 Congrats! You've now authorized Abbey to talk with the newly created GitHub repo in your personal account
At this point you should
Have a connection to GitHub under the Abbey Settings -> Version Control tab
Have created a repo into your own GitHub account based off the Abbey Labs Quickstart Repo
Have cloned the newly created repo into your own terminal to work with
For this step, you'll be working in
Abbey App
Github
Go to Abbey API Tokens via Settings -> API Tokens in the Abbey app
Click on the + New API Token
Enter a name for your new API token or leave as is
Configure the Expires At field or leave it blank to have the token never expire
Click Create to make the new key
Copy the key - you'll need this for the next step!
Navigate to the repo you created in your own GitHub account
Go to the Settings tab
Select Secrets and Variables -> Actions on the left side
Create a new Repository Secret
For the Name, enter in ABBEY_TOKEN
For the Secret, enter in the value of the Abbey API token you created in the last step.
⚠️ Make sure you don't have any newlines or spaces when copy/pasting this
Click Add Secret to finish adding the repository secret
Abbey needs a few permissions to operate in your GitHub repo.
Go to the Settings tab of the same repo you added the API token
Select Actions -> General on the left side
Scroll to the Workflow Permissions section
Select the Read and write permissions button
Click on Save in the Workflow Permissions section
🏁 Great! Now you've allowed Abbey to interact with the new repository you just created to manage access requests.
For this step, you'll be working in
GitHub Web IDE (github.dev)
We'll now edit the files within the cloned Github repo.
We recommend using Github's native code editor, but feel free to edit the files with whatever tools you prefer.
Grant Kits define who can approve an access request, how long that access should last, and what resource the request is granting access to.
The repository you cloned in the previous step contains the grant kit that we'll be modifying below to grant access to the demo site.
Grant Kits rely on your GitHub account and repository name to output access changes, which we'll set through Terraform local variables. Update the locals
block in main.tf
with your account_name
and repo_name
Workflow defines who should approve an access request.
Let's update the reviewers
block by adding yourself as the reviewer by switching replace-me@example.com
with the email address you use to sign into Abbey.
Policies are used to define rules around access requests, such as time-based access or automatic approval if a user is on-call in PagerDuty.
Update the policy in policies/common/common.rego
so that access to the Demo Site automatically expires after 1 hour, not 6 hours.
🏁 Great job, you're almost there! Now your grant kit has been fully configured with updated reviewers, policies, and output. Double check that all the lines with #CHANGEME
have been updated before moving on to the next step.
We'll commit and push these changes in the next step.
For this step, you'll be working in
GitHub Web IDE (github.dev)
Now we're going to take the Grant Kit you modified in the previous step and deploy it to GitHub.
Abbey works with any CI system to deploy your grant kit through Terraform, and for this quickstart we use GitHub Actions - you can look at the Actions tab of your GitHub repo to see Terraform runs.
🎉 Congrats! At this point, you should see your deployed grant kit under Abbey Resources. In the next step, we'll show you how to use the grant kit to get access to the demo site.
If it's not showing up, it likely has a configuration issue causing the deployment to fail - open up the Troubleshooting section below for common steps to resolve.
For this step, you'll be working in
Abbey App
We've now completed all the steps for an admin to automate access grants to the Abbey demo site.
Now let's go through the experience as an end user making a request for access.
Go to the Resources tab of the Abbey App
Find the grant kit with the name Abbey_Demo_Site
Click on the Request
Click on the Expire after dropdown to customize the time the access should last, otherwise skip to step 5
Enter in a reason, then hit Confirm to submit the request
🎉 You just submitted your first access request using Abbey! In the next step, we'll approve the request and then you'll be able to access the demo site.
For this step, you'll be working in
Abbey App
For this grant kit, we've set ourselves as the reviewer to make things simple. In a real-world use-case you'd typically set a manager or another team as the approvers.
To approve the request:
Go to the Approvals tab of the Abbey App
Find the request you just made (there should only be one)
Click Approve to the right of the request
Enter in a reason, then hit Approve to submit
Your access request has been approved, so go ahead and check out the Abbey Demo Site. You should see the following screen!
Congrats 🎉 In this guide, you were able to
Create a Grant Kit defining access to the Abbey Demo Site
Add yourself as a reviewer for access requests
Configure a time-based policy for limiting access to 1 hour max
Make, and approve, an access request for yourself to gain access to the Demo Site
There are a lot of moving pieces involved, so if you'd like to learn more you can
📚 Check out our How Abbey Works docs for a high level breakdown
👷 Get hands on with our Step-by-Step Tutorials that integrate other services like AWS, GCP, Azure and more