Permissions (Pretty)

TZ: Europe/Berlin · Jetzt: 2025-11-13 01:19:01
Hinweis: Diese Seite ist nur lesend. Änderungen an PIDs/Gruppen erledigst du typischerweise in der Teilnehmerverwaltung oder direkt im JSON (DB).

Was ist das?

Dieses Rechte-Schema bestimmt, wer welche Tiefe sehen darf – getrennt pro Fragebogen-Slug (z. B. KVI11) und für Viewer/Reports.

Version
2
default_policy
deny Empfehlung produktiv: deny (Least-Privilege)
deny bedeutet: Standard ist „verweigern“. Du musst explizit freischalten – z. B. über report_access.levels (welche Stufen sind erlaubt) und report.allowed_pids/allowed_groups (wer darf hinein). Direkt testen: Permission-Tester

Essenz

Das Level
Bestimmt die Detail-Tiefe (Report/Viewer): basic, bench, interp. Eine Stufe kann optional einen „Tunnelpass“ (HMAC) verlangen.
Wer (Allowed)
allowed_pids / allowed_groups bestimmen, wer überhaupt an der Tür steht (Zutrittsliste für Report/Viewer).
Wessen Ergebnisse (Scope)
own (nur eigene), group (eigene Gruppe), any (alle). Gilt für den Viewer (result_view.scope).
Wichtig: Die Stufe definiert die Einsichtstiefe. Fordert eine Stufe einen Tunnelpass (HMAC), prüft der Server zusätzlich den Pass – die anderen Türen (Allowed/Scope) bleiben Pflicht.
HMAC = Hash-basierte Nachrichtenauthentifizierung (signierter Link als „Tunnelpass“).

Übersicht pro Slug

A12 #

Report-Stufen erlaubt: basic
↩︎ q_list Gate v2 Permission-Tester
report.allowed_pids
9003
report.allowed_groups
A12
viewer.allowed_pids
viewer.allowed_groups
result_view.scope
own (nur eigene Ergebnisse – Owner-PID muss passen)
result_view.signature_required
basic: false bench: true interp: true
Merke: „Allowed“ (PIDs/Gruppen) + „Scope“ (wessen Ergebnis) sind die Grundtüren. Eine Stufe kann zusätzlich einen HMAC-Tunnelpass verlangen.

A1 #

Report-Stufen erlaubt:
↩︎ q_list Gate v2 Permission-Tester
report.allowed_pids
report.allowed_groups
viewer.allowed_pids
viewer.allowed_groups
result_view.scope
own (nur eigene Ergebnisse – Owner-PID muss passen)
result_view.signature_required
basic: false bench: false interp: false
Merke: „Allowed“ (PIDs/Gruppen) + „Scope“ (wessen Ergebnis) sind die Grundtüren. Eine Stufe kann zusätzlich einen HMAC-Tunnelpass verlangen.

A10 #

Report-Stufen erlaubt:
↩︎ q_list Gate v2 Permission-Tester
report.allowed_pids
report.allowed_groups
viewer.allowed_pids
viewer.allowed_groups
result_view.scope
own (nur eigene Ergebnisse – Owner-PID muss passen)
result_view.signature_required
basic: false bench: true interp: true
Merke: „Allowed“ (PIDs/Gruppen) + „Scope“ (wessen Ergebnis) sind die Grundtüren. Eine Stufe kann zusätzlich einen HMAC-Tunnelpass verlangen.

A_NEO5F_BASE #

Report-Stufen erlaubt: basic, bench, interp
↩︎ q_list Gate v2 Permission-Tester
report.allowed_pids
9103
report.allowed_groups
viewer.allowed_pids
9103
viewer.allowed_groups
result_view.scope
own (nur eigene Ergebnisse – Owner-PID muss passen)
result_view.signature_required
basic: false bench: false interp: false
Merke: „Allowed“ (PIDs/Gruppen) + „Scope“ (wessen Ergebnis) sind die Grundtüren. Eine Stufe kann zusätzlich einen HMAC-Tunnelpass verlangen.

KVI10 #

Report-Stufen erlaubt:
↩︎ q_list Gate v2 Permission-Tester
report.allowed_pids
report.allowed_groups
KVI10
viewer.allowed_pids
viewer.allowed_groups
result_view.scope
own (nur eigene Ergebnisse – Owner-PID muss passen)
result_view.signature_required
basic: false bench: false interp: false
Merke: „Allowed“ (PIDs/Gruppen) + „Scope“ (wessen Ergebnis) sind die Grundtüren. Eine Stufe kann zusätzlich einen HMAC-Tunnelpass verlangen.

KVI11 #

Report-Stufen erlaubt: basic
↩︎ q_list Gate v2 Permission-Tester
report.allowed_pids
9103
report.allowed_groups
viewer.allowed_pids
viewer.allowed_groups
result_view.scope
own (nur eigene Ergebnisse – Owner-PID muss passen)
result_view.signature_required
basic: false bench: false interp: false
Merke: „Allowed“ (PIDs/Gruppen) + „Scope“ (wessen Ergebnis) sind die Grundtüren. Eine Stufe kann zusätzlich einen HMAC-Tunnelpass verlangen.

Roh-JSON

Direkte Anzeige des JSON-Werts aus app_settings (Permissions).

{
    "report": [],
    "by_slug": {
        "A1": {
            "denied_pids": [],
            "result_view": {
                "scope": "own",
                "signature_required": {
                    "basic": false,
                    "bench": false,
                    "interp": false
                }
            },
            "allowed_pids": {
                "render": [],
                "post_result": [],
                "report_level": [],
                "result_view_scope": []
            },
            "report_access": {
                "basic": true,
                "bench": false,
                "interp": false
            },
            "allowed_groups": {
                "render": [
                    "default"
                ],
                "post_result": [
                    "default"
                ],
                "report_level": [
                    "default"
                ],
                "result_view_scope": [
                    "default"
                ]
            }
        },
        "A10": {
            "denied_pids": [],
            "result_view": {
                "scope": "own",
                "signature_required": {
                    "basic": false,
                    "bench": true,
                    "interp": true
                }
            },
            "allowed_pids": {
                "render": [
                    33
                ],
                "post_result": [
                    33
                ],
                "report_level": [
                    33
                ],
                "result_view_scope": [
                    33
                ]
            },
            "report_access": {
                "basic": true,
                "bench": false,
                "interp": false
            },
            "allowed_groups": {
                "render": [
                    "default",
                    "codeA10",
                    "admin"
                ],
                "post_result": [
                    "default",
                    "codeA10",
                    "admin"
                ],
                "report_level": [
                    "default",
                    "codeA10",
                    "admin"
                ],
                "result_view_scope": [
                    "default",
                    "codeA10",
                    "admin"
                ]
            }
        },
        "A12": {
            "report": {
                "allowed_pids": [
                    9003
                ],
                "allowed_groups": [
                    "A12"
                ]
            },
            "denied_pids": [],
            "result_view": {
                "scope": "own",
                "signature_required": {
                    "basic": false,
                    "bench": true,
                    "interp": true
                }
            },
            "allowed_pids": {
                "render": [],
                "post_result": [],
                "report_level": [
                    9001
                ],
                "result_view_scope": []
            },
            "report_access": {
                "basic": true,
                "bench": false,
                "interp": false,
                "levels": [
                    "basic"
                ]
            },
            "allowed_groups": {
                "render": [
                    "default"
                ],
                "post_result": [
                    "default"
                ],
                "report_level": [
                    "A12"
                ],
                "result_view_scope": [
                    "default"
                ]
            }
        },
        "KVI10": {
            "report": {
                "allowed_pids": [],
                "allowed_groups": [
                    "KVI10"
                ]
            },
            "denied_pids": [],
            "result_view": {
                "scope": "own",
                "signature_required": {
                    "basic": false,
                    "bench": false,
                    "interp": false
                }
            },
            "allowed_pids": {
                "render": [],
                "post_result": [],
                "report_level": [],
                "result_view_scope": []
            },
            "report_access": {
                "basic": false,
                "bench": false,
                "interp": false
            },
            "allowed_groups": {
                "render": [],
                "post_result": [],
                "report_level": [],
                "result_view_scope": []
            }
        },
        "KVI11": {
            "post": {
                "allowed_groups": []
            },
            "render": {
                "allowed_groups": []
            },
            "report": {
                "allowed_pids": [
                    9103
                ],
                "allowed_groups": []
            },
            "viewer": {
                "allowed_pids": [],
                "allowed_groups": []
            },
            "report_access": {
                "levels": [
                    "basic"
                ]
            }
        },
        "A_NEO5F_BASE": {
            "report_access": {
                "levels": [
                    "basic",
                    "bench",
                    "interp"
                ]
            },
            "report": {
                "allowed_pids": [
                    9103
                ],
                "allowed_groups": []
            },
            "viewer": {
                "allowed_pids": [
                    9103
                ],
                "allowed_groups": []
            },
            "result_view": {
                "scope": "own",
                "signature_required": {
                    "basic": false,
                    "bench": false,
                    "interp": false
                }
            }
        }
    },
    "version": 2,
    "by_group": {
        "codeA10": [
            "A10"
        ],
        "default": [
            "A10"
        ]
    },
    "report_access": [],
    "default_policy": "deny"
}