Zu den agentlosen Übertragungen gehören Übertragungen innerhalb von Cloud Storage oder von Amazon S3, Azure Blob Storage oder Data Lake Storage Gen2 oder URL-Listen mit öffentlichen Objekten. Es sind keine Mitarbeiter für die Weiterleitung oder Agentenpools erforderlich.
Wenn Sie Daten zwischen Cloud-Anbietern in einer agentlosen Übertragung übertragen, müssen Sie zwei Entitäten Berechtigungen erteilen:
- Das Nutzer- oder nutzerverwaltete Dienstkonto, mit dem die Übertragung erstellt oder verwaltet wird.
- Ein von Google verwaltetes Dienstkonto, das automatisch erstellt wird, wenn Sie zum ersten Mal mit Storage Transfer Service interagieren.
Außerdem 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
CLI können Sie dem Nutzerkonto, dem von Nutzern verwalteten Dienstkonto und dem von Google verwalteten Dienstkonto die erforderlichen Berechtigungen erteilen.
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 folgenden Abschnitten dieses Dokuments die Mindestberechtigungen, die für den Storage Transfer Service erforderlich sind.
Führen Sie den folgenden Befehl aus, um vorhandene Berechtigungen zu prüfen und fehlende Rollen auszugeben:
gcloud transfer authorize
Wenn Sie diese Rollen automatisch anwenden möchten, verwenden Sie das Flag --add-missing
:
gcloud transfer authorize --add-missing
Wenn Sie einem vom Nutzer verwalteten Dienstkonto Berechtigungen erteilen möchten, übergeben Sie die Schlüsseldatei des Dienstkontos:
gcloud transfer authorize --add-missing --creds-file=path/to/key.json
Eine Anleitung zum Erstellen eines Dienstkontos finden Sie unter Dienstkonten erstellen und verwalten.
Der Befehl gewährt die folgenden Berechtigungen.
Für den Nutzer / das vom Nutzer verwaltete Dienstkonto:
roles/owner
roles/storagetransfer.admin
roles/storagetransfer.transferAgent
roles/storage.objectAdmin
roles/pubsub.editor
Für das von Google verwaltete Dienstkonto:
roles/storage.admin
roles/storagetransfer.serviceAgent
Eine Anleitung zur Installation der gcloud
CLI finden Sie in der gcloud
-Kurzanleitung.
Berechtigungen für Nutzer oder nutzerverwaltete Dienstkonten
In diesem Abschnitt werden die Rollen beschrieben, die für die Konten erforderlich sind, die Überweisungen verwalten und ausführen. Die genauen Rollen für jede Persona richten sich nach den Anforderungen Ihrer Organisation. 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 | 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 )
|
Ermöglicht administrative Aktionen im Übertragungsprojekt, z. B. 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 Google Cloud Console-Nutzer oder ein Dienstkonto sein. Wenn Sie ein Dienstkonto verwenden, hängt die Methode, mit der Sie die Anmeldedaten an den Storage Transfer Service übergeben, von der verwendeten Benutzeroberfläche ab.
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 ausführliche Liste der gewährten Berechtigungen finden Sie unter Vordefinierte Rollen für Storage Transfer Service. |
Von Google verwaltete Dienstkontoberechtigungen
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, googleServiceAccounts.get
aufrufen oder die Seite zum Erstellen von Jobs 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 die ID Ihres Dienstkontos abzurufen.
Rollen automatisch zuweisen
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 erforderlichen Berechtigungen werden automatisch in der Console angewendet.
Verwenden Sie
gcloud transfer authorize --add-missing
. Weitere Informationen finden Sie unter Einfache Methode zum Erteilen von Berechtigungen.
Rollen manuell zuweisen
Wenn Sie dem von Google verwalteten 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 |
---|---|---|
Autor alter 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. | Berechtigung 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. | Berechtigung für den Cloud Storage-Quell-Bucket, wenn Sie aus 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 von Legacy-Storage-Buckets
(roles/storage.legacyBucketReader )
|
Ermöglicht dem Storage Transfer Service, Cloud Storage-Bucket-Metadaten zu lesen. |
Berechtigung für den Cloud Storage-Quell-Bucket, wenn Sie von Cloud Storage übertragen.
|
Eine Anleitung finden Sie unter Erforderliche Berechtigungen erteilen.
Projektübergreifende Cloud Storage-Übertragungen
Wenn Sie Objekte zwischen Cloud Storage-Buckets in verschiedenen Projekten übertragen möchten, müssen Sie einem einzelnen von Google verwalteten Dienstkonto sowohl für den Quell- als auch für den Ziel-Bucket die Berechtigung erteilen. Das von Google verwaltete Dienstkonto gehört zum Projekt, aus dem Sie die Übertragung erstellen.
Das Nutzer- oder vom 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 Bucketebene zu:
Storage Legacy Bucket Reader
Storage Object Viewer
Weisen Sie dem gleichen von Google verwalteten Dienstkonto im Ziel-Bucket die folgende Rolle auf Bucketebene zu:
Storage Legacy Bucket Writer
Eine Anleitung zum Zuweisen von Rollen auf Bucketebene finden Sie auf den folgenden Seiten:
- Zugriff auf eine Quelle konfigurieren: Cloud Storage
- Zugriff auf eine Senke konfigurieren: Cloud Storage
Organisationsbeschrä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
) angewendet hat, müssen diese Einschränkungen aktualisiert werden, bevor projektübergreifende Übertragungen erfolgreich durchgeführt werden können.
Möglicherweise müssen Sie auch alle VPC Service Control-Einstellungen aktualisieren, um projektübergreifende Übertragungen zu unterstützen. Weitere Informationen finden Sie unter VPC Service Controls für Übertragungen in Cloud-Objektspeicher 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: