2016-08-08 32 views
0

Ich habe eine Desktop-Anwendung, die ich ein neues Dienstkonto für jeden Benutzer meiner Anwendung erstellen möchte.Wie programmiere ich Anmeldedaten für das Google-Dienstkonto?

Gibt es eine API für die Erstellung der service account Benutzer im laufenden Betrieb?

Szenario: Für jeden Benutzer möchte ich service account geben und diesem Dienstkonto die Daten geben, die dieser Benutzer benötigt.

Der Punkt ist, dass ich jedem Benutzer bestimmte Daten aus Google Cloud geben möchte, aber ich möchte, dass der Nutzer es direkt von Google erhält. Ich kann das Benutzerkonto nicht verwenden, da ich mir nicht sicher bin, ob er ein Google-Konto hat.

Antwort

2

Sie können die Google Identity and Access Management (IAM) API verwenden, um Dienstkonten programmatisch zu erstellen.

Das Erstellen eines Dienstkontos für jeden Benutzer Ihrer Anwendung ist jedoch teuer und nicht skalierbar. Möglicherweise kann Ihr Dienst ein einzelnes Dienstkonto haben, und dann kann der Dienst steuern, auf welche der Ressourcen der Benutzer zugreifen darf.

+0

Sie können dies verfolgen, aber Sie werden in Schwierigkeiten geraten, wenn Sie mehrere Konten erstellen möchten . Die API lässt nicht zu, dass Sie die Pseudo-E-Mail für das Konto angeben. Sobald Sie also ein Dienstkonto für ein Projekt erstellt haben, werden alle nachfolgenden Anforderungen abgelehnt, da das erstellte Dienstkonto nicht eindeutig ist . Sie müssen es danach manuell tun. Siehe [docs] (https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/create) – user1581404

+0

Sie erhalten die E-Mail-Adresse im Feld "email" der HTTP-Antwort – sw0rdf1sh

1

Es gibt kein Google API, mit dem Sie Projekte unter Google Developer console steuern können. Die einzige Sache, die nahe kommt, ist die Google Cloud Resource Manager API, die in der Unterstützung extrem begrenzt ist. Sie können es nicht verwenden, um ein Dienstkonto zu erstellen.

Antwort: Die einzige Möglichkeit zum Erstellen eines neuen Dienstkontos besteht darin, sich über die Google Developers-Konsole anzumelden.

+0

Vielen Dank. Haben Sie eine Problemumgehung? – Aminadav

+0

Begrenzen Sie die Anzahl der Dienstkonten, die Sie benötigen, indem Sie die Benutzer nach dem gruppieren, was sie sehen können? Auf jeden Fall glaube ich, dass die Anzahl der Anmeldeinformationen, die Sie in einem Projekt erstellen können, begrenzt ist. Nein, ich erinnere mich nicht daran, was ich gerade darüber gelesen habe. Ich glaube nicht, dass Google Ihnen erlauben würde, eine unbegrenzte Anzahl von Dienstkonten auf jeden Fall zu machen, wie würden Sie sie belästigen, wenn Sie irgendjemanden Zugriff entfernen wollten. – DaImTo

+0

@DaImTo Hallo - danke für deine Antwort oben - eine weitere Frage dazu: Wäre es sinnvoll, normale Benutzerkonten (wenn nicht Dienstkonten) programmatisch zu erstellen und dann die Benutzer nach dem zu gruppieren, was sie sehen können? z.B. Wie in dieser Dokumentation vorgeschlagen: https://developers.google.com/admin-sdk/directory/v1/guides/manage-users – BKSpurgeon