CtrlK
BlogDocsLog inGet started
Tessl Logo

nicholasjackson/opa-rego-language

Rego is the declarative policy language used by Open Policy Agent (OPA). This tile covers writing and testing Rego policies for Kubernetes admission control, Terraform and infrastructure-as-code plan validation, Docker container authorization, HTTP API authorization, RBAC and role-based access control, data filtering, metadata annotations with opa inspect, and OPA policy testing with opa test.

99

1.19x

Quality

Pending

Does it follow best practices?

Impact

99%

1.19x

Average score across 31 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

task.mdevals/scenario-29/

Regal: Membership Operators — Department-Based Access Control

Write a Rego policy that allows access to API endpoints based on the user's department. Each endpoint has a set of allowed departments stored in data.endpoint_access. Deny access if the user's department is not in the allowed set.

Input

{
  "method": "GET",
  "path": "/api/reports",
  "user": {"department": "engineering"}
}

Data

data.endpoint_access maps paths to lists of allowed departments:

{
  "/api/reports": ["engineering", "finance", "management"],
  "/api/admin":   ["management"]
}

Expected behaviour

  • Engineering department can access /api/reports — allow
  • HR department cannot access /api/reports — deny
  • Engineering department cannot access /api/admin — deny
  • Deny by default if no matching path in data.endpoint_access

README.md

rules.md

tile.json