Ich erwäge, OAuth 2.0 Dienstkonten und domänenweite Delegation von Befugnissen zur Integration unseres Dienstes in Google Apps. Ein besonderer Anwendungsfall ist:
Wenn sich ein Google Apps-Kunde für unseren Service anmeldet, können Sie unseren Service vorab nutzen, indem Sie die vorhandene Organisationsstruktur oder Ressourcen (Organisationseinheiten, Gruppen, Geräte, Benutzer, Ordner, Dateien usw.) des Kunden nutzen.
Wenn sich die Google Apps-Ressourcen des Kunden ändern, synchronisieren Sie die anwendbaren Änderungen an unserem Dienst.
Ich habe festgestellt, dass ich bei der Verwendung von Dienstkonten die E-Mail-Adresse eines autorisierten Superbenutzers für die von mir abgefragte Domäne angeben muss:
%Vor%wenn ich z.B.
Im Idealfall möchte ich keine automatischen Hintergrundprozesse auf unserem Server mit einem bestimmten Google Apps-Nutzer verknüpfen, um die Ressourcen mit den Änderungen, die der Administrator oder die Nutzer der Domain auf der Google Apps-Seite vornehmen, in Einklang zu bringen.
Ich möchte den Benutzer nicht angeben müssen. Meine Hauptfrage ist, verwende ich das richtige Autorisierungsmodell für das, was ich versuche zu tun?
Meine zweite Frage ist eher nebensächlich. Welchen Zweck hat der Identitätswechsel, um die Admin-APIs zu verwenden, wenn die Delegierung bereits Zugriff auf die Ressourcen der Domain gewährt hat? Im Gegensatz zum normalen OAuth 2.0-Autorisierungs-Workflow muss ich im Namen des Benutzers nicht autorisieren , sondern muss lediglich seine E-Mail-Adresse angeben. Fehle ich eine Absicht des Dienstkontos / delegierten Zugriffsmodells?
Das domänenweite Delegierungsmodell ermöglicht es einem Dienstkonto, sich als Benutzer auszugeben und erhält somit die gleichen Berechtigungen in der Domäne, die die Benutzeridentität und die Gruppe von Bereichen, die der Anwendung gewährt werden, implizieren.
Bei den von Ihnen aufgerufenen APIs kann nur ein Domänenadministrator auf diese APIs zugreifen. Aufgrund des Umfangs, in dem Ihnen die Möglichkeit gegeben wurde, einen solchen Administrator zu imitieren, können Sie auf diese APIs zugreifen.
Wenn die Task auf eine einzelne Ressource zugreifen würde, die dem Administrator gehört (z. B. den Kalender einer Organisation), könnte der Administrator diese Ressource für das Dienstkonto freigeben und das Dienstkonto könnte sich dann möglicherweise selbst als Benutzer ausgeben um auf diese Ressource zuzugreifen. Im Fall einer gesamten API, die viele Ressourcensammlungen darstellt, ist es jedoch nicht möglich, ACLs zu verwenden, und der einzige praktische Ansatz besteht darin, dem Dienstkonto die Möglichkeit zu geben, den Administrator für bestimmte API (s) direkt zu imitieren / p>
Tags und Links google-oauth google-admin-sdk google-directory-api