Bevor Sie eine agentenbasierte Übertragung erstellen, müssen Sie die Berechtigungen für die folgende Entitäten:
Das nutzer- oder nutzerverwaltete Dienstkonto, das zum Erstellen des übertragen werden. Dies ist die das in der Google Cloud Console angemeldet ist, oder das Konto, die bei der Authentifizierung bei der
gcloud
-Befehlszeile angegeben wird. Das Nutzerkonto kann ein normales Nutzerkonto oder ein vom Nutzer verwaltetes Dienstkonto sein.Das von Google verwaltete Dienstkonto, auch als Dienst-Agent bezeichnet, das vom Storage Transfer Service verwendet wird. Dieses Konto ist im Allgemeinen durch seine E-Mail-Adresse, die das Format
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
Das Übertragungs-Agent-Konto, das Google Cloud zur Verfügung stellt Berechtigungen für Übertragungs-Agents. Für die Authentifizierung von Transfer-Agent-Konten werden die Anmeldedaten des Nutzers verwendet, der sie installiert, oder die Anmeldedaten eines nutzerverwalteten Dienstkontos.
Weitere 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
Nutzer-/Nutzer-verwaltetes Dienstkonto und dem von Google verwalteten Dienstkonto.
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 allgemein sind, finden Sie weitere Informationen in den in diesem Dokument finden Sie die Mindestberechtigungen, die für 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
Mit dem Flag --add-missing
können Sie diese Rollen automatisch anwenden:
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 das 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 zur Installation der gcloud
CLI finden Sie in der gcloud
-Kurzanleitung.
Nutzer- oder vom Nutzer verwaltete Dienstkontoberechtigungen
In diesem Abschnitt werden die Rollen behandelt, die für die Kontenverwaltung und das Ausführen von Übertragungen. Die Anforderungen Ihres Unternehmens bestimmen, Rollen für jede Persona; wird in diesem Abschnitt vorausgesetzt, dass Sie Administrator und einem Nutzer.
Administratorkonten
Mit Storage Transfer Service-Administratorkonten können Sie Transfer-Agents verwalten, Limits für die Bandbreitennutzung festlegen und Übertragungsjobs löschen.
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 und Agent-Monitoring. | 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 die Methode, mit der Sie die Anmeldedaten an ein Dienstkonto übergeben, Der Storage Transfer Service variiert 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 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 zum ersten Mal einen Übertragungsjob erstellen, rufen Sie
googleServiceAccounts.get
oder rufen Sie die Seite zur Joberstellung in der
Google Cloud Console
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
So gewähren Sie dem von Google verwalteten Dienstkonto Zugriff auf benötigte Ressourcen um Übertragungen abzuschließen, weise die folgenden Rollen oder gleichwertige Rollen zu Berechtigungen für das Dienstkonto.
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 detaillierte 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.
|
Eine entsprechende Anleitung finden Sie unter Erforderliche Berechtigungen gewähren.
Agent-Kontoberechtigungen ü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, S3-kompatibler Speicher oder HDFS zu Cloud Storage
Wenn das Ziel Ihrer Übertragung ein Cloud Storage-Bucket ist, benötigt der Transfer-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.list |
Ermöglicht dem Agent-Konto, Objekte im Cloud Storage-Bucket aufzulisten. |
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:
Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen und die benutzerdefinierte Rolle zuweisen.
Es sind zusätzliche Berechtigungen erforderlich, mehrteilige Uploads aktivieren.
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.create |
Ermöglicht dem Agent-Konto, Übertragungslogs und übertragungsbezogene in den Cloud Storage-Quell-Bucket. |
storage.objects.get |
Ermöglicht dem Agent-Konto, Objektdaten und Metadaten zu lesen. |
storage.objects.list |
Ermöglicht dem Agent-Konto, Objekte im Cloud Storage-Bucket aufzulisten. |
storage.objects.delete |
Erforderlich, wenn die Übertragung so konfiguriert ist, dass Objekte aus der Quelle gelöscht werden. Weitere Informationen finden Sie unter deleteObjectsFromSourceAfterTransfer . |
Weisen Sie zum Gewähren dieser Berechtigung die folgende Rolle zu:
- Storage-Objekt-Betrachter (
roles/storage.objectViewer
)
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.list |
Ermöglicht dem Agent-Konto, Objekte im Cloud Storage-Bucket aufzulisten. |
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:
Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen und die benutzerdefinierte Rolle zuweisen.
Es sind zusätzliche Berechtigungen erforderlich, mehrteilige Uploads aktivieren.
Mehrteilige Uploads
Zum Aktivieren mehrteilige Uploads für Übertragungen von Dateisystemen an Cloud Storage oder Übertragungen zwischen Dateisystemen, Gewähren Sie dem Agent zusätzlich die folgenden Berechtigungen.
- Weisen Sie für Übertragungen an Cloud Storage dem Ziel die Berechtigungen zu Bucket.
- Weisen Sie bei Übertragungen zwischen Dateisystemen die Berechtigungen der Zwischenstufe zu Bucket.
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:
Alternativ können Sie eine benutzerdefinierte Rolle mit den spezifischen Berechtigungen erstellen und die benutzerdefinierte Rolle zuweisen.