Zum Hauptinhalt springen

Organisationsverwaltungsfunktionen definieren

Bevor du deine Organisationserfahrung gestaltest, solltest du die wichtigsten Anforderungen für deine Multi-Tenant-App auflisten. Dieses Kapitel hebt einige wesentliche Punkte hervor, die du bei der Gestaltung dieser Erfahrung berücksichtigen solltest.

Zugriffssteuerung innerhalb von Organisationen definieren

In diesem Szenario können innerhalb eines Mandanten Organisations-Admins Benutzerrollen aktualisieren, während reguläre Mitglieder dies nicht können. (Im Gegensatz dazu ist das Erstellen einer Organisation eine systemweite Aktion, die jeder Endbenutzer in einer SaaS-Multi-Tenant-App durchführen kann.) Um diese granulare Zugriffssteuerung zu unterstützen, definiere Organisationsberechtigungen und -rollen so, dass nur Admins Rollen innerhalb einer Organisation aktualisieren können.

hinweis:

Sieh dir die Organisationstemplate an, um mehr über Organisationsrollen und Berechtigungen zu erfahren.

Die admin-Rolle hat vollen Zugriff auf alle Ressourcen in der Organisation, während die member-Rolle eingeschränkten Zugriff hat. Zum Beispiel können die einzelnen Rollen folgende Berechtigungen haben:

  • admin-Rolle:
    • read:data – Lesezugriff auf alle Organisationsdatenressourcen.
    • write:data – Schreibzugriff auf alle Organisationsdatenressourcen.
    • delete:data – Löschzugriff auf alle Organisationsdatenressourcen.
    • invite:member – Mitglieder zur Organisation einladen.
    • manage:member – Mitglieder in der Organisation verwalten.
    • delete:member – Mitglieder aus der Organisation entfernen.
  • member-Rolle:
    • read:data – Lesezugriff auf alle Organisationsdatenressourcen.
    • write:data – Schreibzugriff auf alle Organisationsdatenressourcen.
    • invite:member – Mitglieder zur Organisation einladen.

Du kannst dies ganz einfach in der Logto Console umsetzen. Die Einrichtung der Zugriffssteuerung ist ein zentraler Bestandteil deiner Organisations- (Multi-Tenant-) Architektur.

Nutzern ermöglichen, ihre Organisationen selbst zu verwalten

Deine App benötigt möglicherweise mehrere Verwaltungsfunktionen. Um diese zu erstellen, verwende die Logto Management API. Nachfolgend findest du gängige Funktionen und zugehörige API-Endpunkte. Im nächsten Kapitel zeigen wir dir Schritt für Schritt, wie du sie implementierst.

Admins und Mitglieder können andere einladen

Sowohl Admins als auch Mitglieder können andere in die Organisation einladen. Siehe Organisationsmitglieder einladen für Details.

Admins können Mitgliederrollen ändern

Admins können die Rollen anderer Mitglieder ändern. Sie können auch spezifischere Rollen für die Organisation erstellen, wie z. B. Abteilungsleiter, Projektmanager, Koordinator usw. Implementiere dies mit diesen Management APIs:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/{userId}/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationRoleIds":["admin"]}'

Oder in einer Sammelaktion:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userIds":["userId1", "userId2"],"organizationRoleIds":["admin"]}'

Bots zur Organisation hinzufügen

Du kannst Admins auch erlauben, Bots zu einer bestimmten Organisation hinzuzufügen. Erstelle zuerst Maschine-zu-Maschine (M2M) Apps und füge diese M2M-Apps dann als Bots zu Organisationen hinzu.

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botAppId"]}'

Anschließend kannst du diesen Bots auch Organisationsrollen zuweisen.

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botApp1"],"organizationRoleIds":["botRoleId"]}'