Dienstkonten lassen sich in die folgenden Kategorien unterteilen:
- Nutzerverwaltete Dienstkonten, die Sie selbst erstellen und verwalten
- Dienst-Agents, die von Google Cloud erstellt und verwaltet werden
Auf dieser Seite wird beschrieben, wie die einzelnen Arten von Dienstkonten erstellt und verwendet werden.
Nutzerverwaltete Dienstkonten
Nutzerverwaltete Dienstkonten sind Dienstkonten, die Sie in Ihren Projekten erstellen. Sie können diese Dienstkonten nach Belieben aktualisieren, deaktivieren, aktivieren und löschen. Sie können auch den Zugriff anderer Hauptkonten auf diese Dienstkonten verwalten.
Sie können in Ihrem Projekt nutzerverwaltete Dienstkonten mit der IAM API, der Google Cloud Console oder der Google Cloud CLI erstellen.
Standardmäßig können Sie bis zu 100 Dienstkonten mit Nutzerverwaltung in einem Projekt erstellen. Wenn dieses Kontingent für Ihre Anforderungen nicht ausreicht, haben Sie die Möglichkeit, über die Cloud Console eine Kontingenterhöhung anzufordern. Auf dieses Kontingent werden nur von Nutzern erstellte Dienstkonten angerechnet, Standarddienstkonten und Dienst-Agents nicht.
Wenn Sie in Ihrem Projekt ein nutzerverwaltetes Dienstkonto erstellen, müssen Sie einen Namen für das Dienstkonto festlegen. Dieser Name erscheint in der E-Mail-Adresse, die das Dienstkonto identifiziert. Diese hat folgendes Format:
service-account-name@project-id.iam.gserviceaccount.com
Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonten erstellen.
Standarddienstkonten
Standarddienstkonten sind nutzerverwaltete Dienstkonten, die automatisch erstellt werden, wenn Sie bestimmte Google Cloud-Dienste aktivieren oder verwenden. Mit diesen Dienstkonten kann der Dienst Jobs bereitstellen, die auf andere Google Cloud-Ressourcen zugreifen. Sie sind dafür verantwortlich, Standarddienstkonten nach ihrer Erstellung zu verwalten.
Wenn Ihre Anwendung in einer Google Cloud-Umgebung mit einem Standarddienstkonto ausgeführt wird, kann sie mit den Anmeldedaten für das Standarddienstkonto Google Cloud APIs aufrufen. Alternativ können Sie Ihr eigenes nutzerverwaltetes Dienstkonto erstellen und es zur Authentifizierung verwenden. Weitere Informationen finden Sie unter Standardanmeldedaten für Anwendungen einrichten.
Abhängig von der Konfiguration Ihrer Organisationsrichtlinie kann dem Standarddienstkonto für Ihr Projekt automatisch die Rolle "Bearbeiter" zugewiesen werden. Wir empfehlen dringend, die automatische Rollenzuweisung zu deaktivieren, indem Sie die
Einschränkung der Organisationsrichtlinien iam.automaticIamGrantsForDefaultServiceAccounts
erzwingen. Wenn Sie Ihre Organisation nach dem 3. Mai 2024 erstellt haben, wird diese Einschränkung standardmäßig erzwungen.
Wenn Sie die automatische Rollenzuweisung deaktivieren, müssen Sie entscheiden, welche Rollen den Standarddienstkonten zugeteilt werden sollen, und diese Rollen dann selbst zuweisen.
Wenn das Standarddienstkonto bereits die Rolle „Bearbeiter“ hat, sollten Sie die Rolle „Bearbeiter“ durch weniger strikte Rollen ersetzen.Verwenden Sie zum sicheren Ändern der Rollen des Dienstkontos den Policy Simulator, um die Auswirkungen der Änderung zu sehen, und weisen Sie die entsprechenden Rollen zu und widerrufen Sie sie.
In der folgenden Tabelle sind die Dienste aufgeführt, die Standarddienstkonten erstellen:
Dienst | Name des Dienstkontos | E-Mail-Adresse |
---|---|---|
App Engine und alle Google Cloud-Dienste, die App Engine nutzen | App Engine-Standarddienstkonto | project-id@appspot.gserviceaccount.com |
Compute Engine und alle Google Cloud-Dienste, die Compute Engine nutzen | Standardmäßiges Compute Engine-Dienstkonto |
project-number-compute@developer.gserviceaccount.com
|
Kundenservicemitarbeiter
Einige Google Cloud-Dienste benötigen Zugriff auf Ihre Ressourcen, damit sie Aufgaben für Sie ausführen können. Wenn Sie beispielsweise einen Container mit Cloud Run ausführen, benötigt der Dienst Zugriff auf alle Pub/Sub-Themen, die den Container auslösen können.
Damit dies möglich ist, erstellt und verwaltet Google Cloud Dienstkonten für viele Google Cloud-Dienste. Diese Dienstkonten werden als Dienst-Agents bezeichnet. Unter Umständen sehen Sie Dienst-Agents in der Zulassungsrichtlinie Ihres Projekts, in Audit-Logs oder auf der IAM-Seite in der Google Cloud Console.
Dienstmitarbeiter werden nicht in Ihren Projekten erstellt. Daher werden sie bei der Anzeige der Dienstkonten Ihrer Projekte nicht angezeigt. Sie können nicht direkt darauf zugreifen.
Standardmäßig werden Dienst-Agents auf der Seite IAM in der Google Cloud Console nicht aufgeführt, auch wenn ihnen in Ihrem Projekt eine Rolle zugewiesen wurde. Wenn Sie sich die Rollenzuweisungen für Dienst-Agents ansehen möchten, klicken Sie auf das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen.
In Google Cloud gibt es die folgenden Arten von Kundenservicemitarbeitern:
Dienstspezifische Dienst-Agents
Die meisten Dienst-Agents sind dienstspezifisch und agieren im Namen einzelner Dienste. In vielen Fällen sind diese Dienst-Agents erforderlich, damit Dienste ordnungsgemäß funktionieren. Dienst-Agents ermöglichen es Cloud Logging-Senken beispielsweise, Logs in Cloud Storage-Buckets zu schreiben.
Jeder Dienst-Agent ist mit einer Ressource verknüpft. Diese Ressource ist normalerweise ein Projekt, ein Ordner oder eine Organisation. Es kann jedoch auch eine dienstspezifische Ressource sein, z. B. eine Cloud SQL-Instanz. Diese Ressource definiert den Bereich der Aktionen des Dienst-Agents. Wenn ein Dienst-Agent beispielsweise mit einem Projekt verknüpft ist, wird er im Namen eines Dienstes für das Projekt und seine untergeordneten Ressourcen agieren.
Ermitteln Sie anhand der E-Mail-Adresse, welchem Ressourcentyp ein Dienst-Agent zugeordnet ist:
- Wenn der Dienst-Agent mit einem Projekt, Ordner oder einer Organisation verknüpft ist, enthält die E-Mail-Adresse die numerische ID für dieses Projekt, diesen Ordner oder diese Organisation.
- Wenn der Dienst-Agent einer dienstspezifischen Ressource zugeordnet ist, enthält die E-Mail-Adresse eine numerische Projekt-ID und eine eindeutige Kennung. Die numerische Projekt-ID gibt an, welchem Projekt die Ressource gehört, mit der der Dienst-Agent verknüpft ist. Die eindeutige Kennung unterscheidet den Dienst-Agent von anderen ähnlichen Dienst-Agents im selben Projekt.
Google APIs-Dienst-Agent
Die Zulassungsrichtlinie Ihres Projekts verweist wahrscheinlich auf ein Dienstkonto mit dem Namen des Google APIs-Dienst-Agents mit einer E-Mail-Adresse im folgenden Format: project-number@cloudservices.gserviceaccount.com
.
Dieses Dienstkonto führt in Ihrem Namen interne Google Cloud-Prozesse aus.
Es erhält automatisch die Rolle „Bearbeiter“ (roles/editor
) für das Projekt.
Rollenmanager für Dienst-Agents
Ihre Audit-Logs für IAM beziehen sich möglicherweise auf das Dienstkonto service-agent-manager@system.gserviceaccount.com
.
Dieses Dienstkonto verwaltet die Rollen, die anderen Dienst-Agents zugewiesen sind. Es ist nur in Audit-Logs sichtbar.
Wenn Sie beispielsweise eine neue API verwenden, kann Google Cloud automatisch einen neuen Dienst-Agent erstellen und ihm in Ihrem Projekt Rollen zuweisen. Durch das Zuweisen dieser Rollen wird ein Audit-Logeintrag generiert, aus dem hervorgeht, dass service-agent-manager@system.gserviceaccount.com
die Zulassungsrichtlinie für das Projekt festgelegt hat.
Dienst-Agent erstellen
Die genaue Zeit, zu der ein Dienst-Agent erstellt wird, hängt von der Art der Ressource ab, der er zugeordnet ist.
Dienst-Agents, die einer dienstspezifischen Ressource zugeordnet sind, werden beim Erstellen der Ressource erstellt. Weitere Informationen zum Identifizieren und Konfigurieren dieser Dienst-Agents finden Sie in der Dokumentation zur zugehörigen Ressource.
Dienst-Agents, die Projekten, Ordnern und Organisationen zugeordnet sind, werden nach Bedarf erstellt, in der Regel, wenn Sie einen Dienst zum ersten Mal verwenden. Bei Bedarf können Sie auch Google Cloud bitten, Dienst-Agents für einen Dienst zu erstellen, bevor Sie den Dienst verwenden. Weitere Informationen finden Sie unter Rollen erstellen und ihnen Dienst-Agents zuweisen.
Dienst-Agent-Rollen
Für einige Aktionen in Google Cloud müssen Dienst-Agents in Ihrem Namen Ressourcen erstellen und darauf zugreifen. Wenn Sie beispielsweise einen Dataproc-Cluster erstellen, benötigt der Dataproc-Dienst-Agent die Berechtigung, Compute Engine-Instanzen in Ihrem Projekt zu erstellen, um den Cluster zu erstellen.
Dienstzugriff-Agents benötigen bestimmte IAM-Rollen, um diesen Zugriff zu erhalten. Viele Dienst-Agents auf Projektebene erhalten automatisch die Rollen, die sie benötigen.
Die Namen dieser automatisch zugewiesenen Rollen enden normalerweise auf serviceAgent
oder ServiceAgent
. Anderen Dienst-Agents müssen Sie diese Rollen zuweisen, damit der Dienst ordnungsgemäß funktioniert. Informationen dazu, welchen Dienst-Agents automatisch Rollen zugewiesen werden, finden Sie in der Referenz zum Dienst-Agent.
Wenn Sie Google Cloud bitten, Dienst-Agents zu erstellen, bevor Sie einen Dienst verwenden, müssen Sie den Dienst-Agents die Rollen zuweisen, die ihnen normalerweise automatisch zugewiesen werden. Dies liegt daran, dass Dienst-Agents, die auf Anfrage eines Nutzers erstellt werden, nicht automatisch Rollen zugewiesen werden. Wenn Sie den Dienst-Agents diese Rollen nicht zuweisen, funktionieren einige Dienste möglicherweise nicht ordnungsgemäß. Informationen zum Zuweisen dieser Rollen für Dienst-Agents finden Sie unter Rollen erstellen und zuweisen.
Primäre Dienst-Agents
In der Referenz zum Dienst-Agent werden einige Dienst-Agents als primäre Dienst-Agents identifiziert. Primäre Dienst-Agents sind Dienst-Agents, deren E-Mail-Adresse zurückgegeben wird, wenn Sie für einen Dienst die Erstellung des Dienst-Agents auslösen.
Audit-Logging
Manchmal führt ein Dienst-Agent eine Aktion im Namen des Hauptkontos aus, wenn dieses einen Vorgang initiiert. Wenn Sie jedoch Audit-Logs für einen Dienst-Agent prüfen, kann es schwierig sein zu erkennen, in wessen Namen der Dienst-Agent gehandelt hat und warum.
Damit Sie den Kontext für die Aktionen eines Dienst-Agents besser nachvollziehen können, fügen einige Dienst-Agents zusätzliche Details in ihre Audit-Logs ein, z. B. den Job, mit der die Aktion verknüpft ist, und das Hauptkonto, das den Job erstellt hat.Die folgenden Dienst-Agents fügen ihren Audit-Logs diese zusätzlichen Details hinzu:
Diese zusätzlichen Details finden Sie im Feld serviceDelegationHistory
des Audit-Logs, das im Feld authenticationInfo
verschachtelt ist. Dieses Feld enthält die folgenden Informationen:
- Das ursprüngliche Hauptkonto, das den Job erstellt hat
- Der Dienst-Agent, der die Aktion ausgeführt hat
- Der Dienst, zu dem der Dienst-Agent gehört
- Job-ID
Angenommen, example-user@example.com
erstellt einen Job mit der BigQuery Connection API. Für diesen Job muss einer der Dienst-Agents der BigQuery Connection API eine Aktion ausführen. In diesem Fall würde das Audit-Log für die Aktion des Kundenservicemitarbeiters ein serviceDelegationHistory
-Feld enthalten, das in etwa so aussieht:
{ "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "authenticationInfo": { "principalEmail": "bqcx-442188550395-jujw@gcp-sa-bigquery-condel.iam.gserviceaccount.com", "serviceDelegationHistory": { "originalPrincipal": "user:my-user@example.com", "serviceMetadata": [ { "principalSubject": "serviceAccount:bqcx-442188550395-jujw@gcp-sa-bigquery-condel.iam.gserviceaccount.com", "serviceDomain": "bigquery.googleapis.com", } ] } } } }
Nächste Schritte
- Erfahren Sie, wie Sie Dienstkonten erstellen und verwalten.
- Mehr über das Erstellen und Verwalten von Dienstkontoschlüsseln
- Best Practices für die Arbeit mit Dienstkonten
- Best Practices für die Verwaltung von Dienstkontoschlüsseln
Jetzt testen
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Jetzt kostenlos starten