Add resource access explanation contract
Some checks failed
Dependency Audit / dependency-audit (push) Has been cancelled

This commit is contained in:
2026-07-11 00:39:39 +02:00
parent c32951393a
commit 060f4da751
4 changed files with 170 additions and 1 deletions

View File

@@ -85,6 +85,9 @@ AccessProvenanceKind = Literal[
"identity",
"account",
"tenant_membership",
"resource",
"owner",
"share",
"organization_unit",
"function",
"group",
@@ -496,6 +499,20 @@ class ResourceAccessService(Protocol):
...
@runtime_checkable
class ResourceAccessExplanationProvider(Protocol):
def explain_resource_provenance(
self,
session: object,
principal: PrincipalRef,
*,
resource_type: str,
resource_id: str,
action: str,
) -> Sequence[AccessDecisionProvenance]:
...
@runtime_checkable
class AccessExplanationService(Protocol):
def explain_scope_provenance(

View File

@@ -0,0 +1,13 @@
from __future__ import annotations
from typing import Protocol, runtime_checkable
from govoplan_core.core.access import ResourceAccessExplanationProvider
CAPABILITY_FILES_ACCESS = "files.access"
@runtime_checkable
class FileAccessProvider(ResourceAccessExplanationProvider, Protocol):
"""Resource-level access explanation provider for Files-owned resources."""