Zum Hauptinhalt springen
Gilt für:
DuoKey CockpitManagement APIRBAC · ABAC · SSO

Die Administration API ist Teil der authentifizierten Management-API (/api/…). Jede Anfrage ist mandantenbezogen: Der Mandant wird dem Bearer-Token entnommen, nie explizit übergeben, und ein Aufrufer sieht und ändert ausschließlich die Identitäten und Konfiguration des eigenen Mandanten. Siehe Authentifizierung, um zu erfahren, wie ein Token beschafft wird.

Jede Route wird durch die Administrationsberechtigungen gesteuert — Users.*, Roles.*, OrganizationUnits.*, IdentityProviders.* und AccessPolicies.*. Berechtigungen sind hierarchische Blätter in Punktnotation (zum Beispiel AccessPolicies.Create); die Vergabe eines übergeordneten Präfixes gewährt implizit jedes darunterliegende Blatt. Ein Aufrufer ohne die erforderliche Berechtigung erhält 403 Forbidden.

Hinweis

Alle Pfade sind relativ zu Ihrem Cockpit-Host, zum Beispiel https://cockpit.example.com. Klammern wie {id} bezeichnen einen UUID-Pfadparameter.

Benutzer​

Benutzer sind die Identitäten, die sich bei einem Mandanten anmelden. Jeder trägt einen vollständigen Authentifizierungsstatus (Passwort, TOTP, Sperrzähler, Freigabestatus) und kann Rollen und Organisationseinheiten zugewiesen werden.

Methode + PfadZweckBerechtigung
GET /api/usersBenutzer auflistenUsers.Read
POST /api/usersEinen Benutzer erstellenUsers.Create
POST /api/users/{id}/approveEinen ausstehenden Benutzer freigebenUsers.Approve
POST /api/users/{id}/lockEin Benutzerkonto sperrenUsers.Update
POST /api/users/{id}/unlockEin Benutzerkonto entsperrenUsers.Update
POST /api/users/{id}/suspendEin Benutzerkonto suspendierenUsers.Update
POST /api/users/{id}/reset-passwordEin Benutzerpasswort zurücksetzenUsers.Update
PUT /api/users/{id}/rolesEinem Benutzer Rollen zuweisenUsers.Update

Rollen und Berechtigungen​

Die Autorisierung ist rollenbasiert. Eine Rolle ist ein benanntes Bündel von Berechtigungen; das Token, das ein Benutzer erhält, trägt die aus seinen Rollen aufgelöste, flache Berechtigungsmenge. Rollen können auf eine Organisationseinheit begrenzt werden, sodass eine Vergabe nur innerhalb dieses Zweigs gilt.

Methode + PfadZweckBerechtigung
GET /api/rolesRollen auflistenRoles.Read
POST /api/rolesEine Rolle erstellenRoles.Create
PUT /api/roles/{id}Eine Rolle aktualisierenRoles.Update
DELETE /api/roles/{id}Eine Rolle löschenRoles.Delete
PUT /api/roles/{id}/permissionsDie Berechtigungsmenge einer Rolle festlegenRoles.Update
GET /api/roles/permissionsDen hierarchischen Berechtigungskatalog auflistenRoles.Read

Organisationseinheiten​

Organisationseinheiten (OUs) fügen innerhalb eines Mandanten eine zweite Abgrenzungsebene hinzu. Sie bilden einen Baum mit einem materialisierten Pfadcode (etwa 00001.00003.00007); Ressourcen wie Apps können auf eine OU begrenzt werden, und Rollen können auf OU-Ebene zugewiesen werden.

Methode + PfadZweckBerechtigung
GET /api/org-unitsOrganisationseinheiten auflistenOrganizationUnits.Read
POST /api/org-unitsEine Organisationseinheit erstellenOrganizationUnits.Create
GET /api/org-units/selectableFür die Zuweisung auswählbare OUs auflistenOrganizationUnits.Read
/api/org-units/{id}/rolesOU-begrenzte Rollen zuweisen (delegierte Administration)OrganizationUnits.Update

Identitätsanbieter​

Externe Identitätsanbieter ermöglichen Benutzern die Anmeldung mit Unternehmensanmeldedaten (Azure AD / Entra ID, Okta, Keycloak). Anbieter werden mit Client-Anmeldedaten, Authority-/Metadaten-URLs, Scopes und Claim-Zuordnungen konfiguriert und können Benutzer automatisch in Standardrollen bereitstellen.

Methode + PfadZweckBerechtigung
GET /api/identity-providersKonfigurierte Identitätsanbieter auflistenIdentityProviders.Read
POST /api/identity-providersEinen Identitätsanbieter erstellenIdentityProviders.Create
POST /api/identity-providers/discoverAnbieter-Endpunkte aus einer Metadaten-/Authority-URL ermittelnIdentityProviders.Read
POST /api/identity-providers/{id}/test-connectionDie Anbieterverbindung und Anmeldedaten testenIdentityProviders.Update
POST /api/identity-providers/{id}/toggleDen Anbieter aktivieren oder deaktivierenIdentityProviders.Update
SSO ist funktionsgesteuert

Single Sign-on wird zusätzlich durch die Identitätsanbieter-Feature-Flags der Edition des Mandanten gesteuert; ein Anbieter muss für die Edition aktiviert sein, bevor er verwendet werden kann.

Zugriffsrichtlinien​

Über RBAC hinaus umfasst die Administration die Casbin-ABAC-Zugriffsrichtlinien-Engine, die Laufzeit-Kryptooperationen nach Benutzer, IP, Standort, Zeit und Gruppe steuert. Eine Richtlinie ist mandantenbezogen und wirkt erst, sobald sie über ihre access_policy_id an eine Ressource (einen DKE-Dienst, eine generische App oder einen AWS-XKS-Endpunkt) gebunden ist. Das vollständige Modell ist auf der Seite Zugriffsrichtlinien dokumentiert.

Methode + PfadZweckBerechtigung
GET /api/access-policiesRichtlinien auflistenAccessPolicies.Read
POST /api/access-policiesEine Richtlinie erstellenAccessPolicies.Create
GET /api/access-policies/{id}Eine Richtlinie abrufenAccessPolicies.Read
PUT /api/access-policies/{id}Eine Richtlinie aktualisierenAccessPolicies.Update
DELETE /api/access-policies/{id}Eine Richtlinie löschenAccessPolicies.Delete
POST /api/access-policies/validateEine Richtliniendefinition vor dem Speichern validierenAccessPolicies.Read
GET /api/access-policies/capabilitiesFähigkeitsmatrix pro App-Typ (welche der fünf Dimensionen jeder App-Typ berücksichtigt)AccessPolicies.Read
GET /api/access-policies/available-groupsFür Gruppenregeln verfügbare GruppenAccessPolicies.Read
GET /api/access-policies/audit · GET /api/access-policies/{id}/auditAudit-Trail der DurchsetzungAccessPolicies.Read

Impersonation​

Impersonation ermöglicht es einem autorisierten Administrator, für Support und Fehlerbehebung als anderer Benutzer zu agieren. Der Start einer Sitzung stellt ein begrenztes Token im Kontext des Zielbenutzers aus; das Beenden setzt den Aufrufer auf seine eigene Identität zurück. Jede Impersonation wird in den Aktivitätsprotokollen erfasst.

Methode + PfadZweckBerechtigung
POST /api/impersonation/startImpersonation eines Zielbenutzers startenUsers.Impersonate
POST /api/impersonation/stopImpersonation beenden und die Aufrufer-Identität wiederherstellenUsers.Impersonate
Impersonation ist privilegiert

Impersonation gewährt dem Aufrufer für die Dauer der Sitzung die effektiven Berechtigungen des Zielbenutzers. Beschränken Sie die Impersonation-Berechtigung auf vertrauenswürdige Administratoren und prüfen Sie den Audit-Trail regelmäßig.