feat: secure resource explanation subjects
This commit is contained in:
@@ -301,6 +301,57 @@ ADMIN_READ_SCOPES = (
|
||||
)
|
||||
|
||||
ACCESS_DOCUMENTATION: tuple[DocumentationTopic, ...] = (
|
||||
DocumentationTopic(
|
||||
id="access.reference.resource-explanation-subjects",
|
||||
title="Select a user for resource-access diagnostics",
|
||||
summary=(
|
||||
"Resource explanations default to the signed-in user and expose "
|
||||
"other tenant users only when Policy permits the diagnostic."
|
||||
),
|
||||
body=(
|
||||
"The shared Files and Campaign explanation dialog asks Access for "
|
||||
"the permitted subject list. If Policy is unavailable or the actor "
|
||||
"lacks policy:access_explanation:select_user, Access returns only "
|
||||
"the signed-in active membership and no metadata for other users. "
|
||||
"When Policy permits selection, the picker is limited to active "
|
||||
"users in the current tenant. Every explanation run for another "
|
||||
"user creates audit evidence with the target membership, resource, "
|
||||
"requested action, and policy source. The explanation is diagnostic "
|
||||
"and never grants resource access."
|
||||
),
|
||||
layer="configured",
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("tenant_admin", "access_admin", "security_reviewer"),
|
||||
order=29,
|
||||
conditions=(
|
||||
DocumentationCondition(
|
||||
required_modules=("access",),
|
||||
any_scopes=(
|
||||
"admin:users:read",
|
||||
"admin:roles:read",
|
||||
"access:membership:read",
|
||||
"access:role:read",
|
||||
),
|
||||
),
|
||||
),
|
||||
links=(
|
||||
DocumentationLink(
|
||||
label="Permitted explanation subjects API",
|
||||
href="/api/v1/admin/access/resource-explanation/subjects",
|
||||
kind="api",
|
||||
),
|
||||
DocumentationLink(
|
||||
label="Resource explanation API",
|
||||
href="/api/v1/admin/access/resource-explanation",
|
||||
kind="api",
|
||||
),
|
||||
),
|
||||
related_modules=("audit", "campaigns", "files", "policy"),
|
||||
metadata={
|
||||
"kind": "reference",
|
||||
"help_contexts": ["access.resource-explanation.subject"],
|
||||
},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="access.operator.enroll-first-administrator",
|
||||
title="Enroll the first production administrator",
|
||||
|
||||
Reference in New Issue
Block a user