Skip to content

tactful-ai/OPA-Dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OPA-Dashboard

The Open Policy Agent is an open-source, general-purpose policy engine that unifies policy enforcement across the stack. OPA decouples policy decision-making from policy enforcement and application logic. At Dstny Engage, making changes to permissions in the OPA service is a cumbersome and time-consuming process that requires modifying code and deploying it. This project aims to develop a centralized dashboard for a middleware between Dstny Engage's services and the open policy agent, allowing for user-friendly policy modifications in real-time.

You can also check out the user manual in the repository's wiki

Running the application

You will need to have Node installed to run this project.

  1. Navigate to the project folder cd ./opa-dashboard/
  2. Install the dependencies npm install
  3. Run the application npm run serve

Running vue-styleguidist documentation

You will need to have Node installed to run this project.

  1. Navigate to the project folder cd ./opa-dashboard/
  2. Run the style guide npm run styleguide

Connecting to a backend

During development, the dashboard has been connecting to the backend using ngrok. Create a .env file in the /opa-dashboard/ directory and set the VUE_APP_BASE_URL variable to your backend link VUE_APP_BASE_URL = your backend link

Built With

Vue TypeScript Docker Figma

Project Walkthrough

Types of authorization policies include:

  1. Role-Based Access Control (RBAC): RBAC defines access permissions based on a user’s job function or “role”. Permissions are assigned onto roles (like “Admin” or “User”), and roles are assigned to users by the administrator. This structure allows you to easily understand who has access to what. For example, in AWS, IAM includes managed policies that assign permissions to specific roles. RBAC in IAM involves creating separate policies for each job function and attaching them to identities (i.e., IAM users, user groups).

  2. Attribute-Based Access Control (ABAC): ABAC is an authorization system that defines access based on attributes associated with security principals, resources, and the environment of an access request. With ABAC, you can grant a security principal access to a resource based on attributes. For example, you can add a condition that requires an object to have a specific tag to read the object. ABAC allows for more fine-grained access control and can help reduce the number of role assignments.

The dashboard offers GUI support to configure RBAC policies in realtime

2

3

as well as a code editor to configure any other types of policies

4

Check out the UI design on Figma here

About

A dashboard for managing OPA data & policies in realtime

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published