Drei-Rollen-Modell
Doggy implementiert das Drei-Rollen-Sicherheitsmodell gemäß der chinesischen Klassifizierungsschutz-(等保-)Norm. Die Zugriffskontrolle wird über ThreeOfficersVoter realisiert.
Übersicht
Das Drei-Rollen-Modell trennt die Systemverwaltungsrechte in drei unabhängige Rollen. Über App\Security\Voter\ThreeOfficersVoter werden feingranulare Berechtigungsprüfungen durchgeführt:
| Rolle | Berechtigungsbereich |
|---|---|
ROLE_SYS_ADMIN | Systemkonfiguration, Benutzerverwaltung |
ROLE_SEC_ADMIN | Konfiguration der Sicherheitsrichtlinien |
ROLE_AUDITOR | Audit-Protokolle einsehen |
Die drei Rollen sind voneinander unabhängig und kontrollieren sich gegenseitig; keine einzelne Rolle kann das System vollständig kontrollieren.
Berechtigungsdefinition des Voters
// src/Security/Voter/ThreeOfficersVoter.php
class ThreeOfficersVoter extends Voter
{
public const SYSTEM_CONFIG = 'SYSTEM_CONFIG'; // 系统管理员
public const USER_MANAGE = 'USER_MANAGE'; // 安全保密员
public const AUDIT_VIEW = 'AUDIT_VIEW'; // 安全审计员
public const BUSINESS_DATA = 'BUSINESS_DATA'; // 普通用户访问业务数据
}Aufgaben der Rollen
Systemadministrator (ROLE_SYS_ADMIN)
- Verwaltung der Benutzerkonten
- Wartung der Systemkonfiguration (
SYSTEM_CONFIG-Berechtigung) - Verwaltung der Anwendungsbereitstellung
- Kann keine Audit-Protokolle einsehen
- Kann keine Sicherheitsrichtlinien ändern
Sicherheitsbeauftragter (ROLE_SEC_ADMIN)
- Konfiguration der Passwortrichtlinien
- Verwaltung der Berechtigungsrichtlinien (
USER_MANAGE-Berechtigung) - Bearbeitung von Sicherheitsvorfällen
- Kann keine Benutzerkonten verwalten
- Kann keine Audit-Protokolle einsehen
Sicherheitsauditor (ROLE_AUDITOR)
- Alle Operationsprotokolle einsehen (
AUDIT_VIEW-Berechtigung) - Erstellung von Audit-Berichten
- Erkennung von auffälligem Verhalten
- Kann keine Systemkonfiguration ändern
- Kann keine Benutzer verwalten
Initialisierung
Über den Befehl InitOfficersCommand werden drei Administrator-Konten initialisiert:
php bin/console app:init-officersNach der Initialisierung werden drei Standardkonten erstellt.
Standardkonten
| Rolle | Benutzername | Initiales Passwort |
|---|---|---|
| Systemadministrator | admin | admin123 |
| Sicherheitsbeauftragter | security | security123 |
| Sicherheitsauditor | auditor | auditor123 |
⚠️ Im Produktionsbetrieb müssen alle Standardpasswörter geändert werden.
Zugriff auf Geschäftsdaten
Normale authentifizierte Benutzer (ROLE_USER) können über die BUSINESS_DATA-Berechtigung normal auf Geschäftsdaten zugreifen, aber keine Verwaltungsoperationen ausführen.