Frontier
Frontier by Raystack is a role-based cloud-native user management system and authorization server for your applications and API endpoints. With Frontier, you can assign roles to users or groups of users to configure policies that determine whether a particular user has the ability to perform a certain action on a given resource. Guardian supports access management to the following resources in Frontier:
- Organization
- Group
- Project
Compatible version of Frontier :
Use version v0.7.24 or above of Frontier for Guardian to work properly.
Authentication
Guardian requires authentication email of an administrator user having access to all Organizations in Frontier.
Example Credential config for Frontier provider:
---
credentials:
host: http://localhost:12345
auth_email: "guardian_test@test.com"
auth_header: X-Frontier-Email
Example provider config for Frontier provider:
Config
sample.config.yaml
type: frontier
urn: frontier-provider-urn
credentials:
host: http://localhost:7400
auth_email: john.doe@raystack.org
auth_header: X-Frontier-Email
allowed_account_types:
- user
resources:
- type: group
policy:
id: policy_id
version: 1
roles:
- id: member
name: Member
permissions:
- app_group_member
- id: admin
name: Admin
permissions:
- app_group_owner
- type: project
policy:
id: policy_id
version: 1
roles:
- id: admin
name: Admin
permissions:
- app_project_owner
- id: manager
name: Manager
permissions:
- app_project_manager
- id: member
name: Member
permissions:
- app_project_member
- type: organization
policy:
id: policy_id
version: 1
roles:
- id: admin
name: Admin
permissions:
- app_organization_owner
- id: manager
name: Manager
permissions:
- app_organization_manager
- app_organization_accessmanager
- id: member
name: Member
permissions:
- app_organization_viewer
Frontier Credentials
Fields | |
---|---|
host | string Required. Frontier instance host Example: http://localhost:12345 |
auth_email | email Required. Email address of an account that has Organization Administration permission |
auth_header | string Required. Header name for authentication. Default: X-Frontier-Email |
Frontier Resource Type
- organization
- group
- project
Frontier Resource Permission
Resource Type | Permission Name | Details |
---|---|---|
organization | app_organization_owner | Organization Owner |
organization | app_organization_manager | Organization Manager |
organization | app_organization_accessmanager | Organization Access Manager |
organization | app_organization_viewer | Organization Viewer |
project | app_project_owner | Project Owner |
project | app_project_manager | Project Manager |
project | app_project_member | Project Member |
group | app_group_owner | Group Owner |
group | app_group_member | Group Member |