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"]}'