Resource Pathing

In Permguard, an AuthZ Server is a logical server composed of multiple nodes. It includes the following components:

  • Zone Administration Point (ZAP)
  • Policy Administration Point (PAP)
  • Policy Information Point (PIP)
  • Policy Decision Point (PDP)

This AuthZ Server manages various elements such as users, actors, tenants, and ledgers. Due to the complexity of these resources, a structured pathing mechanism is essential for efficient management and access control.

An environment can have multiple AuthZ Servers, so it is important to reference each one explicitly. There is no guarantee that the same resource will be unique across all servers.

To reference a specific zone in an AuthZ Server, use the following URI format:

 protocol    host       zone
┌───┴────┐┌───┴───┐ ┌────┴─────┐
permguard@localhost/273165098782

Identity Source and Identity Pathing

To reference a specific identity source in an AuthZ Server, use the following URI format:

 protocol    host       zone            identity-source
┌───┴────┐┌───┴───┐ ┌────┴─────┐            ┌──┴───┐
permguard@localhost/273165098782/identities/keycloak

A user identity can be referenced using the following URI format:

 protocol    host       zone            identity-source       user
┌───┴────┐┌───┴───┐ ┌────┴─────┐            ┌──┴───┐       ┌───┴────┐
permguard@localhost/273165098782/identities/keycloak/users/john.smith

Ledger Pathing

To reference a specific ledger in an AuthZ Server, use the following URI format:

 protocol    host       zone                 ledger
┌───┴────┐┌───┴───┐ ┌────┴─────┐         ┌─────┴─────┐
permguard@localhost/273165098782/ledgers/magicfarmacia

A policy can be referenced using the following URI format:

 protocol    host       zone                 ledger                                 version                           partition    policy
┌───┴────┐┌───┴───┐ ┌────┴─────┐         ┌─────┴─────┐ ┌───────────────────────────────┴──────────────────────────────┐ ┌─┴─┐┌───────┴────────┐
permguard@localhost/273165098782/ledgers/magicfarmacia/722164f552f2c8e582d4ef79270c7ec94b3633e8172af6ea53ffe1fdf64d66de/root/assign-role-branch