Projects & Environments
A Permit environment is a silo (a logical grouping) of your policy (roles, conditions, etc.) and data (users, tenants, role assignments, etc.). You can create multiple environments for each of your projects.
For example, you can create a production
environment for your production deployment and a staging
environment for your staging deployment. Environments can be used for
CI/D flows, testing, and more.
In this section we will dive into details of how Projects and Environments work within Permit.io.
Projects
Projects are the highest level of encapsulation for your authorization. Every unique service or application that requires its own set of policies and roles is a project. In addition, each project can support multiple environments - allowing different policies for different deployments or configurations.
Within your organization, you can have multiple projects. Each project represents your offerings, where an offering can be a different product, software or tool. By default, we defined the "Default Project" for you.
You can manage projects from the Projects page.
Creating a new project
If your organization needs to deal with multiple projects, you can add this project directly within the Projects page.
Editing, Filtering and Deleting projects
We also provide the functionality for filtering through projects, to provide you with a more concrete view, and of course, you also get the ability to edit and delete projects as you wish.
Getting the project id
To retrieve the project ID, click on the three dots and the key will be visible in the pop-up, or you can consult this guide for details on obtaining both the project and environment ID's via the API.
You will need a project and environment ID for most API calls to Permit.
Managing access to a project
If you want to dive deeper into understanding member roles, refer to the Member Management guide.