Übertragungsberechtigungen ohne Agent

Agentenlose Übertragungen umfassen Übertragungen innerhalb von Cloud Storage oder von Amazon S3, Azure Blob Storage oder Data Lake Storage Gen2 oder URL-Listen öffentlicher Objekte. Sie benötigen keine Übertragungs-Agents oder Agent-Pools.

Bei der Übertragung von Daten zwischen Cloud-Anbietern ohne Agent müssen Sie zwei Entitäten Berechtigungen erteilen:

  • Das vom Nutzer oder Nutzer verwaltete Dienstkonto, das die Übertragung erstellt oder verwaltet.
  • Ein von Google verwaltetes Dienstkonto, das bei der ersten Interaktion mit Storage Transfer Service automatisch erstellt wird.

Darüber hinaus müssen Sie den Zugriff auf die Quelldateien in AWS S3, Microsoft Azure oder Cloud Storage konfigurieren.

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

Einfachste Methode zum Gewähren von Berechtigungen

Mit der gcloud-Befehlszeile können Sie dem von Nutzern bzw. Nutzern verwalteten Dienstkonto und dem von Google verwalteten Dienstkonto die erforderlichen Berechtigungen gewähren. Mit diesen Berechtigungen kann der Nutzer Übertragungsjobs erstellen, bearbeiten und löschen sowie Bandbreitenlimits festlegen oder ändern.

Wenn diese Berechtigungen für die Richtlinien Ihrer Organisation zu weit gefasst sind, finden Sie in den nachfolgenden Abschnitten in diesem Dokument Informationen zu den für Storage Transfer Service erforderlichen Mindestberechtigungen.

Führen Sie den folgenden Befehl aus, um vorhandene Berechtigungen zu prüfen und fehlende Rollen auszugeben:

gcloud transfer authorize

Verwenden Sie das Flag --add-missing, um diese Rollen automatisch anzuwenden:

gcloud transfer authorize --add-missing

Übergeben Sie die Dienstkonto-Schlüsseldatei, um einem nutzerverwalteten Dienstkonto Berechtigungen zu gewähren:

gcloud transfer authorize --add-missing --creds-file=path/to/key.json

Eine Anleitung zum Erstellen eines Dienstkontos finden Sie unter Dienstkonten erstellen und verwalten.

Durch den Befehl werden die folgenden Berechtigungen gewährt.

  • Für das vom Nutzer bzw. vom Nutzer verwaltete Dienstkonto:

    • roles/owner
    • roles/storagetransfer.admin
    • roles/storagetransfer.transferAgent
    • roles/storage.objectAdmin
    • roles/pubsub.editor
  • Zum von Google verwalteten Dienstkonto:

    • roles/storage.admin
    • roles/storagetransfer.serviceAgent

Eine Anleitung zum Installieren der gcloud-Befehlszeile finden Sie in der gcloud-Kurzanleitung.

Von Nutzern oder Nutzern verwaltete Dienstkontoberechtigungen

In diesem Abschnitt werden die Rollen beschrieben, die für die Konten erforderlich sind, die Übertragungen verwalten und ausführen. Gemäß den Anforderungen Ihrer Organisation werden die genauen Rollen für jede Persona festgelegt. In diesem Abschnitt wird davon ausgegangen, dass Sie einen Administrator und einen Nutzer erstellen.

Administratorkonten

Storage Transfer Service-Administratorkonten legen Limits für die Bandbreitennutzung fest und löschen Übertragungsjobs.

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

Rolle/Berechtigung Funktion Notes
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. die Projekteinrichtung. Eine ausführliche Liste der gewährten 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, hängt die Methode zum Übergeben der Anmeldedaten an den Storage Transfer Service je nach verwendeter Schnittstelle ab.

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

Rolle/Berechtigung Funktion Notes
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 ausführliche Liste der gewährten Berechtigungen finden Sie unter Vordefinierte Rollen für Storage Transfer Service.

Berechtigungen für von Google verwaltetes Dienstkonto

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

Das Dienstkonto hat meist das Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Verwenden Sie den API-Aufruf googleServiceAccounts.get, um Ihre Dienstkonto-ID abzurufen.

Automatische Zuweisung von Rollen

Es gibt zwei Möglichkeiten, dem von Google verwalteten Dienstkonto automatisch die richtigen Rollen zuzuweisen:

  • Erstellen Sie die Übertragung mit der Google Cloud Console. Die Console wendet die erforderlichen Berechtigungen automatisch an.

  • Verwenden Sie gcloud transfer authorize --add-missing. Weitere Informationen finden Sie unter Die einfachste Methode zum Gewähren von Berechtigungen.

Rollen manuell zuweisen

Damit das von Google verwaltete Dienstkonto Zugriff auf Ressourcen hat, die für Übertragungen erforderlich sind, weisen Sie dem Dienstkonto die folgenden Rollen oder entsprechende Berechtigungen zu.

Rolle/Berechtigung Funktion Notes
Autor von Legacy-Storage-Buckets (roles/storage.legacyBucketWriter) Ermöglicht dem Storage Transfer Service, Bucket-Metadaten zu lesen, Objekte im Bucket aufzulisten und Objekte in den Ziel-Bucket zu schreiben. Gewähren Sie Zugriff für den Cloud Storage-Ziel-Bucket.
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. Gewähren Sie Zugriff für den Cloud Storage-Quell-Bucket, wenn Sie Daten von Cloud Storage übertragen. 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.
Leser alter Storage-Buckets (roles/storage.legacyBucketReader) Ermöglicht dem Storage Transfer Service, Cloud Storage-Bucket-Metadaten zu lesen.

Gewähren Sie Zugriff für den Cloud Storage-Quell-Bucket, wenn Sie Daten von Cloud Storage übertragen.

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

Eine Anleitung dazu finden Sie unter Erforderliche Berechtigungen gewähren.

Projektübergreifende Cloud Storage-Übertragungen

Zum Übertragen von Objekten zwischen Cloud Storage-Buckets in verschiedenen Projekten müssen Sie einem einzelnen von Google verwalteten Dienstkonto sowohl für den Quell- als auch für den Ziel-Bucket Berechtigungen erteilen. Das von Google verwaltete Dienstkonto gehört zu dem Projekt, aus dem Sie die Übertragung erstellen.

Das vom Nutzer oder Nutzer verwaltete Dienstkonto benötigt nur Berechtigungen für das Projekt, in dem die Übertragung erstellt wird.

Informationen zum Abrufen der E-Mail-Adresse des von Google verwalteten Dienstkontos finden Sie unter E-Mail-Adresse des Dienst-Agents suchen.

Weisen Sie dem von Google verwalteten Dienstkonto im Quell-Bucket die folgenden Rollen auf Bucket-Ebene zu:

  • Storage Legacy Bucket Reader
  • Storage Object Viewer

Weisen Sie im Ziel-Bucket dem selben von Google verwalteten Dienstkonto die folgende Rolle auf Bucket-Ebene zu:

  • Storage Legacy Bucket Writer

Eine Anleitung zum Zuweisen von Rollen auf Bucket-Ebene finden Sie auf den folgenden Seiten:

Organisatorische Einschränkungen

Wenn Ihre Organisation Einschränkungen für Organisationsrichtlinien wie Domaineinschränkungen (constraints/iam.allowedPolicyMemberDomains) oder die Deaktivierung des Anhängens von Dienstkonten an Ressourcen in anderen Projekten (constraints/iam.disableCrossProjectServiceAccountUsage) deaktiviert hat, müssen diese Einschränkungen aktualisiert werden, bevor projektübergreifende Übertragungen erfolgreich sind.

Möglicherweise müssen Sie auch die Einstellungen der VPC Service Controls aktualisieren, um projektübergreifende Übertragungen zu unterstützen. Weitere Informationen finden Sie unter VPC Service Controls für Cloud-Objektspeicherübertragungen konfigurieren.

AWS- und Microsoft-Berechtigungen

Sie müssen auch den Zugriff auf Ihre Quelldateien konfigurieren, wenn sie sich in AWS S3 oder Microsoft Azure Storage befinden. In den folgenden Dokumenten werden die erforderlichen Schritte beschrieben: