Agent-basierte Übertragungsberechtigungen

Verwenden Sie den Google Cloud-Projektadministrator, einen Nutzer mit Berechtigungen vom Typ resourcemanager.projects.setIamPolicy, um den entsprechenden Nutzern und Dienstkonten Berechtigungen und Rollen von Identity and Access Management (IAM) zu erteilen.

Das Administratorkonto des Google Cloud-Projekts ist nur erforderlich, um Nutzern und Dienstkonten Berechtigungen zu erteilen. Es ist nicht erforderlich, um Übertragungsjobs zu starten.

Weitere Informationen zum Zuweisen von IAM-Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

Wenn Sie benutzerdefinierte Rollen für den Storage Transfer Service erstellen möchten, lesen Sie die Informationen unter Informationen zu benutzerdefinierten IAM-Rollen.

Administratorkonten

Storage Transfer Service-Administratorkonten verwalten Übertragungs-Agents, legen Bandbreitennutzungslimits fest und löschen Übertragungsjobs.

Weisen Sie zum Einrichten eines Administratorkontos die folgenden IAM-Berechtigungen und -Rollen zu:

Rolle/Berechtigung Funktion Hinweise
resourcemanager.projects.getIamPolicy Mit dieser Berechtigung wird bestätigt, dass das von Google verwaltete Dienstkonto die erforderlichen Berechtigungen für eine Übertragung hat. Um diese Berechtigung zu gewähren, gewähren Sie die vordefinierte Rolle Rollenbetrachter (roles/iam.roleViewer) oder erstellen Sie eine benutzerdefinierte Rolle mit dieser Einzelberechtigung und gewähren Sie die benutzerdefinierte Rolle.
Storage Transfer-Administrator (roles/storagetransfer.admin) Aktiviert administrative Aktionen im Übertragungsprojekt, z. B. Projekteinrichtung und Agent-Monitoring. Eine detaillierte Liste der erteilten Berechtigungen finden Sie unter Vordefinierte Rollen für Storage Transfer Service.

Nutzerkonten

Storage Transfer Service-Nutzerkonten werden zum Erstellen und Ausführen von Übertragungen verwendet. Diese Konten haben in der Regel keinen Zugriff zum Löschen von Übertragungsjobs.

Ein Nutzerkonto kann ein Nutzer der Google Cloud Console oder ein Dienstkonto sein. Wenn Sie ein Dienstkonto verwenden, variiert die Methode, mit der Sie die Anmeldedaten an Storage Transfer Service übergeben, je nach verwendeter Schnittstelle.

Weisen Sie dem Konto die folgenden Berechtigungen und Rollen zu, um ein Nutzerkonto einzurichten:

Rolle/Berechtigung Funktion Hinweise
resourcemanager.projects.getIamPolicy Wird verwendet, um zu bestätigen, dass das von Google verwaltete Dienstkonto die erforderlichen Pub/Sub-Berechtigungen für eine Übertragung hat. Um diese Berechtigung zu gewähren, gewähren Sie die vordefinierte Rolle Rollenbetrachter (roles/iam.roleViewer) oder erstellen Sie eine benutzerdefinierte Rolle mit dieser Einzelberechtigung und gewähren Sie die benutzerdefinierte Rolle.
Storage Transfer-Nutzer (roles/storagetransfer.user) Der Nutzer kann Übertragungen erstellen, abrufen, aktualisieren und auflisten. Eine detaillierte Liste der erteilten Berechtigungen finden Sie unter Vordefinierte Rollen für Storage Transfer Service.

Dienstkonto

Storage Transfer Service verwendet ein von Google verwaltetes Dienstkonto, um Ihre Daten zu bewegen. Dieses Dienstkonto wird automatisch erstellt, wenn Sie einen Übertragungsjob zum ersten Mal erstellen, einen Agent-Pool erstellen, googleServiceAccounts.get aufrufen oder die Seite zur Joberstellung in der Google Cloud Console aufrufen.

Das Dienstkonto hat meist das Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Verwenden Sie zum Ermitteln der spezifischen PROJECT_NUMBER den API-Aufruf googleServiceAccounts.get.

Wenn Sie dem Storage Transfer Service-Dienstkonto Zugriff auf Ressourcen gewähren möchten, die für die Übertragung erforderlich sind, weisen Sie dem Dienstkonto die folgenden Rollen oder entsprechende Berechtigungen zu:

Rolle/Berechtigung Funktion Hinweise
Storage-Objekt-Ersteller (roles/storage.objectCreator) Ermöglicht dem Storage Transfer Service, Übertragungslogs in dem mit dieser Übertragung verbundenen Cloud Storage-Bucket zu erstellen. Allen Cloud Storage-Buckets zuweisen, die in einer Übertragung verwendet werden. Sie können die Rolle auf Projektebene für das Projekt zuweisen, über das der Storage Transfer Service ausgeführt wird, sofern dies für Ihre Situation erforderlich ist.

Eine detaillierte Liste der Berechtigungen, die diese Rollen gewähren, finden Sie unter Vordefinierte Cloud Storage-Rollen.
Storage-Objekt-Betrachter (roles/storage.objectViewer) Ermöglicht dem Storage Transfer Service, zu bestimmen, ob eine Datei bereits zu oder von Cloud Storage übertragen wurde.
Storage Transfer-Dienst-Agent (roles/storagetransfer.serviceAgent) Ermöglicht dem Storage Transfer Service, Pub/Sub-Themen automatisch zu erstellen und zu ändern, um Agents von Google Cloud zu übertragen. Wenden Sie die Rolle auf Projektebene auf das Projekt an, aus dem der Storage Transfer Service ausgeführt wird.

Eine ausführliche Liste der Berechtigungen, die diese Rolle gewährt, finden Sie unter Berechtigungen und Rollen.
Leser von Legacy-Storage-Buckets (roles/storage.legacyBucketReader) Ermöglicht dem Storage Transfer Service, Cloud Storage-Bucket-Metadaten zu lesen.

Wird allen Cloud Storage-Buckets zugewiesen, die in einer Übertragung verwendet werden.

legacy-Rollen in Cloud Storage können nur auf Bucket-Ebene zugewiesen werden.

Agents übertragen

Storage Transfer Service-Transfer-Agents können entweder mit dem Nutzerkonto oder mit einem Dienstkonto ausgeführt werden.

Weisen Sie die Rolle "Transfer-Agent-Dienstkonto" oder "Nutzerkonto" zu, mit dem die Transfer-Agents ausgeführt werden:

Rolle/Berechtigung Funktion Hinweise
Storage Transfer-Agent (roles/storagetransfer.transferAgent) Gewährt Übertragungs-Agents die Berechtigungen des Storage Transfer Service und Pub/Sub, um eine Übertragung abzuschließen. Weisen Sie diese Rolle dem Nutzer oder Dienstkonto zu, das von Agents verwendet wird.

Eine detaillierte Liste der Berechtigungen, die diese Rolle gewährt, finden Sie unter Zugriffssteuerung mit IAM.

Quell- und Zielberechtigungen

Außerdem müssen Sie darauf achten, dass das Agent-Konto über die richtigen Berechtigungen verfügt, um auf die Quelldaten zuzugreifen und in das Ziel zu schreiben.

Dateisystem in Cloud Storage

Wenn Ihr Übertragungsziel ein Cloud Storage-Bucket ist, benötigt der Übertragungs-Agent die folgenden Berechtigungen für den Ziel-Bucket. Eine Anleitung finden Sie unter Hauptkonto zu einer Richtlinie auf Bucket-Ebene hinzufügen.

Berechtigung Beschreibung
storage.objects.create Ermöglicht dem Agent-Konto, während der Übertragung Cloud Storage-Objekte zu schreiben.
storage.objects.get Ermöglicht dem Agent-Konto, Objektdaten und Metadaten zu lesen.
storage.objects.delete Erforderlich, wenn die Übertragung so konfiguriert ist, dass Objekte in der Senke überschrieben oder gelöscht werden Beispiel: overwriteObjectsAlreadyExistingInSink oder deleteObjectsUniqueInSink sind in der transferOptions-Konfiguration Ihrer Übertragung festgelegt.

Weisen Sie zum Zuweisen dieser Berechtigungen die folgende Rolle zu:

  • Storage-Objekt-Administrator (roles/storage.objectAdmin)

Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen und die benutzerdefinierte Rolle zuweisen.

Zum Aktivieren mehrteiliger Uploads sind zusätzliche Berechtigungen erforderlich.

Cloud Storage zum Dateisystem

Wenn die Quelle der Übertragung ein Cloud Storage-Bucket ist, benötigt der Transfer-Agent die folgende Berechtigung für den Quell-Bucket.

Berechtigung Beschreibung
storage.objects.get Ermöglicht dem Agent-Konto, Objektdaten und Metadaten zu lesen.

Weisen Sie zum Gewähren dieser Berechtigung die folgende Rolle zu:

Alternativ können Sie eine benutzerdefinierte Rolle mit einer einzigen Berechtigung erstellen und die benutzerdefinierte Rolle zuweisen.

Dateisystem zum Dateisystem

Wenn die Übertragung zwischen zwei Dateisystemen erfolgt, benötigt der Transfer-Agent die folgenden Berechtigungen für den Zwischen-Bucket.

Berechtigung Beschreibung
storage.objects.create Ermöglicht dem Agent-Konto, während der Übertragung Cloud Storage-Objekte zu schreiben.
storage.objects.get Ermöglicht dem Agent-Konto, Objektdaten und Metadaten zu lesen.
storage.objects.delete Erforderlich, wenn die Übertragung für das Löschen von Objekten im Zwischen-Bucket konfiguriert wurde, nachdem die Übertragung abgeschlossen wurde.

Weisen Sie zum Zuweisen dieser Berechtigungen die folgende Rolle zu:

  • Storage-Objekt-Administrator (roles/storage.objectAdmin)

Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen und die benutzerdefinierte Rolle zuweisen.

Zum Aktivieren mehrteiliger Uploads sind zusätzliche Berechtigungen erforderlich.

S3-kompatibler Speicher in Cloud Storage

Das Konto des Übertragungs-Agents benötigt die folgenden Berechtigungen für den Ziel-Bucket. Eine Anleitung finden Sie unter Hauptkonto zu einer Richtlinie auf Bucket-Ebene hinzufügen.

Berechtigung Beschreibung
storage.objects.create Ermöglicht dem Agent-Konto, während der Übertragung Cloud Storage-Objekte zu schreiben.
storage.objects.get Ermöglicht dem Agent-Konto, Objektdaten und Metadaten zu lesen.
storage.objects.delete Erforderlich, wenn die Übertragung so konfiguriert ist, dass Objekte in der Senke überschrieben oder gelöscht werden Beispiel: overwriteObjectsAlreadyExistingInSink oder deleteObjectsUniqueInSink sind in der transferOptions-Konfiguration Ihrer Übertragung festgelegt.

Weisen Sie zum Zuweisen dieser Berechtigungen die folgende Rolle zu:

  • Storage-Objekt-Administrator (roles/storage.objectAdmin)

Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen und die benutzerdefinierte Rolle zuweisen.

Mehrteilige Uploads

Wenn Sie mehrteilige Uploads für Dateisysteme an Cloud Storage-Übertragungen oder -Übertragungen zwischen Dateisystemen aktivieren möchten, gewähren Sie dem Agent zusätzlich die folgenden Berechtigungen.

  • Bei Übertragungen zu Cloud Storage weisen Sie dem Ziel-Bucket die Berechtigungen zu.
  • Weisen Sie für Übertragungen zwischen Dateisystemen die Berechtigungen dem Zwischen-Bucket zu.

Mehrteilige Uploads können Übertragungen beschleunigen, die große Dateien enthalten und nur für Buckets mit der Standardspeicherklasse unterstützt werden.

Name der mehrteiligen Upload-Berechtigung Beschreibung
storage.multipartUploads.create Objekte in mehreren Teilen hochladen.
storage.multipartUploads.abort Mehrteilige Upload-Sitzungen abbrechen.
storage.multipartUploads.listParts Die hochgeladenen Objektteile in einer mehrteiligen Upload-Sitzung auflisten
storage.multipartUploads.list Mehrteilige Upload-Sitzungen in einem Bucket auflisten.

Weisen Sie zum Zuweisen dieser Berechtigungen die folgende Rolle zu:

  • Storage-Objekt-Administrator (roles/storage.objectAdmin)

Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen und die benutzerdefinierte Rolle zuweisen.