When implementing hierarchical permission systems with scopes, ensure that permissions granted at a specific scope cannot be used to access resources or escalate privileges outside that scope’s boundaries. This prevents lateral movement and privilege escalation attacks.
Key validation requirements:
Example implementation:
# Secure: Role created in /dev/lab scope with proper constraints
kind: role
metadata:
name: lab-admin
spec:
grantable_scopes: ['/dev/lab'] # Cannot grant broader than creation scope
parent_resource_group: /dev/lab
allow:
rules:
- resources: [node, app]
verbs: [create, read, update, delete]
# Implicitly scoped to /dev/lab and descendants only
# Insecure: Would allow privilege escalation
kind: role
spec:
grantable_scopes: ['/'] # Broader than creation scope - should be rejected
parent_resource_group: /dev/lab
This principle ensures that compromised credentials or roles cannot be used to affect resources outside their intended domain, maintaining proper security boundaries in multi-tenant or hierarchical systems.
Enter the URL of a public GitHub repository