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 Berechtigungen erteilen:
- Das Nutzerkonto, mit dem die Übertragung erstellt oder verwaltet wird.
- Ein von Google verwalteter Dienst-Agent, der automatisch erstellt wird, wenn Sie zum ersten Mal mit Storage Transfer Service interagieren. Sie können die Berechtigungen des Dienst-Agenten an ein nutzerverwaltetes Dienstkonto delegieren. Weitere Informationen finden Sie unter Berechtigungen des Dienst-Agenten an ein nutzerverwaltetes Dienstkonto delegieren.
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 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 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 statt dem Nutzer Berechtigungen erteilen möchten, geben Sie die Dienstkonto-Schlüsseldatei an:
gcloud transfer authorize --add-missing --creds-file=path/to/key.json
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
An den von Google verwalteten Dienst-Agenten:
roles/storage.admin
roles/storagetransfer.serviceAgent
Eine Anleitung zur Installation der gcloud
CLI finden Sie in der gcloud
-Kurzanleitung.
Nutzerkontoberechtigungen
Das Nutzerkonto benötigt die Berechtigung zum Ausführen von Storage Transfer Service-Vorgängen. Diese Berechtigungen werden über eine der beiden Rollen gewährt: Storage Transfer-Nutzer oder Storage Transfer-Administrator.
Außerdem benötigt das Konto die Berechtigung, den von Google verwalteten Dienst-Agenten abzurufen, um seine Berechtigungen zu prüfen.
Gewähren Sie die folgenden IAM-Berechtigungen und -Rollen, um das Nutzerkonto oder das nutzerverwaltete Dienstkonto einzurichten.
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. |
Eine der folgenden Rollen: | ||
Storage Transfer-Administrator
(roles/storagetransfer.admin )
|
Ermöglicht alle Storage Transfer Service-Vorgänge, einschließlich des Löschens von Übertragungsjobs. | Eine ausführliche Liste der gewährten Berechtigungen finden Sie unter Vordefinierte Rollen für Storage Transfer Service. |
Storage Transfer-Nutzer
(roles/storagetransfer.user )
|
Der Nutzer kann Übertragungen erstellen, abrufen, aktualisieren und auflisten. Der Nutzer kann keine Übertragungsjobs löschen. | Eine ausführliche Liste der gewährten Berechtigungen finden Sie unter Vordefinierte Rollen für Storage Transfer Service. |
Berechtigungen für von Google verwaltete Dienst-Agents
Storage Transfer Service verwendet einen von Google verwalteten Dienst-Agenten, um Ihre Daten zu verschieben. 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
][googleServiceAccounts.get], um die ID Ihres Dienstkontos abzurufen.
Rollen automatisch zuweisen
Es gibt zwei Möglichkeiten, dem Kundenservicemitarbeiter 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 Kundenservicemitarbeiter Zugriff auf Ressourcen gewähren möchten, die für die Übertragung erforderlich sind, weisen Sie ihm die folgenden Rollen oder entsprechenden 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, Objekte aus einer Cloud Storage-Quelle zu kopieren. Außerdem kann der Storage Transfer Service so feststellen, ob eine Datei bereits im Cloud Storage-Ziel vorhanden ist und ob sie sich geändert hat. |
Berechtigung für den Cloud Storage-Quell-Bucket, wenn Sie von Cloud Storage übertragen. Gewähren Sie die Berechtigung auch für den Cloud Storage-Ziel-Bucket, wenn die Übertragung so konfiguriert ist, dass Objekte in der Senke [überschrieben werden](/storage-transfer/docs/reference/rest/v1/TransferOptions#OverwriteWhen), wenn sie sich unterscheiden, oder nie. Nicht erforderlich, wenn in den Übertragungseinstellungen „Immer überschreiben“ festgelegt ist. 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.
Auf ein vom Nutzer verwaltetes Dienstkonto delegieren
Sie können die Berechtigungen für den Kundenservicemitarbeiter an ein von Nutzern verwaltetes Dienstkonto delegieren. So können Sie Bucket-Berechtigungen für verschiedene Übertragungsjobs auf mehrere Dienstkonten verteilen, anstatt sie in einem einzigen Dienst-Agenten zu zentralisieren.
Weitere Informationen finden Sie unter Berechtigungen für den Kundenservicemitarbeiter an ein vom Nutzer verwaltetes Dienstkonto delegieren.
Projektübergreifende Cloud Storage-Übertragungen
Wenn Sie Objekte zwischen Cloud Storage-Buckets in verschiedenen Projekten übertragen möchten, müssen Sie einem einzelnen Dienst-Agent sowohl für den Quell- als auch für den Ziel-Bucket die Berechtigung erteilen. Der Dienst-Agent gehört zum Projekt, in 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.
Wie Sie die E-Mail-Adresse des Dienst-Agents finden, erfahren Sie unter E-Mail-Adresse des Dienst-Agents suchen.
Weisen Sie dem Dienstkonto im Quell-Bucket die folgenden Rollen auf Bucket-Ebene zu:
Storage Legacy Bucket Reader
Storage Object Viewer
Weisen Sie dem gleichen 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
Legacy
-Rollen in Cloud Storage können nicht auf Projektebene zugewiesen werden.
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 die 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: