IAM-Berechtigungen für Storage Transfer Service-Methoden

In der folgenden Tabelle finden Sie die erforderlichen Mindestberechtigungen, um jede Storage Transfer Service-Methode auszuführen.

Resource Methode Berechtigungen
googleServiceAccount get storagetransfer.projects.getServiceAccount
transferJobs create Die beiden folgenden Berechtigungen sind erforderlich:

  • storagetransfer.jobs.create
  • storagetransfer.projects.getServiceAccount

transferjobs get storagetransfer.jobs.get
transferjobs list storagetransfer.jobs.list
transferjobs patch Für Löschaktualisierungen: storagetransfer.jobs.delete
Für andere Aktualisierungen als Löschaktionen: storagetransfer.jobs.update
transferoperations cancel storagetransfer.operations.cancel
transferOperations get storagetransfer.operations.get
transferOperations list storagetransfer.operations.list
transferOperations pause storagetransfer.operations.pause
transferOperations resume storagetransfer.operations.resume

Quellberechtigungen

Cloud Storage

Storage Transfer Service verwendet ein von Google verwaltetes Dienstkonto, um Daten aus einem Cloud Storage-Quell-Bucket zu verschieben, der beim ersten Aufruf von googleServiceAccounts.get erstellt wird.

Das Dienstkonto hat meist das Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Das Format Ihres Dienstkontos finden Sie mit dem API-Aufruf googleServiceAccounts.get.

Das Dienstkonto muss die folgenden Berechtigungen für den Quell-Bucket haben:

Berechtigung Beschreibung Nutzung
storage.buckets.get Ermöglicht dem Dienstkonto, den Standort des Buckets abzurufen. Immer erforderlich.
storage.objects.list Ermöglicht dem Dienstkonto, Objekte im Bucket aufzulisten. Immer erforderlich.
storage.objects.get Ermöglicht dem Dienstkonto, Objekte im Bucket zu lesen. Immer erforderlich.
storage.objects.delete Ermöglicht dem Dienstkonto, Objekte im Bucket zu löschen. Erforderlich, wenn Sie deleteObjectsFromSourceAfterTransfer auf true festlegen.

Die Rollen roles/storage.objectViewer und roles/storage.legacyBucketReader enthalten die Berechtigungen, die immer erforderlich sind. Die Rolle roles/storage.legacyBucketWriter enthält die Berechtigungen storage.objects.delete. Sie müssen dem Dienstkonto, mit dem die Übertragung ausgeführt werden soll, die gewünschten Rollen zuweisen.

Eine vollständige Liste der Cloud Storage-Rollen und der damit verbundenen Berechtigungen finden Sie unter IAM-Rollen.

Amazon S3

Wenn Sie Storage Transfer Service verwenden möchten, um Daten aus einem Amazon S3-Bucket zu verschieben, benötigen Sie ein AWS IAM-Nutzerkonto (AWS Identity and Access Management) mit bestimmten Berechtigungen für den Bucket:

Berechtigung Beschreibung Nutzung
s3:ListBucket Ermöglicht dem Storage Transfer Service, Objekte im Bucket aufzulisten. Immer erforderlich.
s3:GetObject Ermöglicht dem Storage Transfer Service, Objekte im Bucket zu lesen. Immer erforderlich.
s3:GetBucketLocation Ermöglicht dem Storage Transfer Service, den Standort des Buckets abzurufen. Immer erforderlich.
s3:DeleteObject Ermöglicht dem Storage Transfer Service, Objekte im Bucket zu löschen. Erforderlich, wenn Sie deleteObjectsFromSourceAfterTransfer auf true festlegen.

URL-Liste

Wenn Sie eine URL-Liste als Datenquelle verwenden, muss jedes Objekt in der URL-Liste öffentlich zugänglich sein.

Senkenberechtigungen

Storage Transfer Service verwendet ein von Google verwaltetes Dienstkonto, um Daten aus einem Cloud Storage-Quell-Bucket zu verschieben, der beim ersten Aufruf von googleServiceAccounts.get erstellt wird.

Das Dienstkonto hat meist das Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Das Format Ihres Dienstkontos finden Sie mit dem API-Aufruf googleServiceAccounts.get.

Das Dienstkonto muss die folgenden Berechtigungen für den Ziel-Bucket haben:

Berechtigung Beschreibung Nutzung
storage.buckets.get Ermöglicht dem Dienstkonto, den Standort des Buckets abzurufen. Immer erforderlich.
storage.objects.create Ermöglicht dem Dienstkonto, Objekte zum Bucket hinzuzufügen. Immer erforderlich.
storage.objects.delete Ermöglicht dem Dienstkonto, Objekte im Bucket zu löschen. Erforderlich, wenn Sie overwriteObjectsAlreadyExistingInSink oder deleteObjectsUniqueInSink auf true festlegen.
storage.objects.list Ermöglicht dem Dienstkonto, Objekte im Bucket aufzulisten. Erforderlich, wenn Sie overwriteObjectsAlreadyExistingInSink auf false oder deleteObjectsUniqueInSink auf true gesetzt haben.

Alle diese Berechtigungen sind in der Rolle roles/storage.legacyBucketWriter enthalten, die Sie dem Dienstkonto zuweisen können. Eine vollständige Liste der Cloud Storage-Rollen und der damit verbundenen Berechtigungen finden Sie unter IAM-Rollen.

Pub/Sub-Berechtigungen

Wenn Sie Pub/Sub für Übertragungen verwenden möchten, weisen Sie dem Dienstkonto die IAM-Rolle roles/pubsub.publisher für das gewünschte Pub/Sub-Thema zu.