PostgreSQL: Node & Edge Schema
The PostgreSQL connection maps roles, users, and access permissions from a Postgres instance into the SlashID identity graph.
Node Types
Node Type | Description |
---|---|
PostgresUser | A Postgres user identity (IdentityTypePostgresUser ) |
PostgresRole | A Postgres role identity (IdentityTypePostgresRole ) |
Credential | Authentication credential for a user or role |
Resource | A Postgres object such as a table, schema, or database |
Edge Relationships
Edge Type | From Node | To Node | Description |
---|---|---|---|
CAN_ACCESS | PostgresUser , PostgresRole | Resource | Identity is allowed to access the resource |
CAN_BE_ACCESSED | Resource | PostgresUser or PostgresRole | Reverse of CAN_ACCESS |
CAN_READ | PostgresUser , PostgresRole | Resource | Identity can perform read operations |
CAN_BE_READ_BY | Resource | PostgresUser , PostgresRole | Reverse of CAN_READ |
CAN_WRITE | PostgresUser , PostgresRole | Resource | Identity can write to the resource |
CAN_BE_WRITTEN_BY | Resource | PostgresUser , PostgresRole | Reverse of CAN_WRITE |
IS_MEMBER_OF | PostgresUser | PostgresRole | Indicates group/role membership |
HAS_MEMBER | PostgresRole | PostgresUser | Reverse of IS_MEMBER_OF |
CREATED | PostgresUser or PostgresRole | Resource | Indicates the entity created the resource |
CREATED_BY | Resource | PostgresUser , PostgresRole | Reverse of CREATED |
CONTAINS | Resource | Resource | Represents hierarchical containment (e.g. DB > table) |
Examples
(PostgresUser)-[:IS_MEMBER_OF]->(PostgresRole)
(PostgresRole)-[:CAN_ACCESS]->(Resource)
(PostgresUser)-[:CAN_READ]->(Resource)
(PostgresUser)-[:CREATED]->(Resource)
(Resource)-[:CONTAINS]->(Resource) # e.g., database contains schema