Zugriff auf Datenquellen und -senken konfigurieren

Auf dieser Seite wird erläutert, wie Sie den Zugriff auf die Datenquelle und die Datensenke für eine Datenübertragung mit Storage Transfer Service einrichten.

Storage Transfer Service verwendet ein von Google verwaltetes Dienstkonto, um Ihre Daten zu bewegen. Wenn Sie eine Übertragung über die Google Cloud Console erstellen und Berechtigungen zum Aktualisieren von IAM-Richtlinien für Cloud Storage-Ressourcen haben, erhält bei per Google Cloud Console erstellten Übertragungen das von Google Storage Transfer Service verwendete Dienstkonto automatisch die erforderlichen Berechtigungen für die Übertragung.

Der Zugriff auf Datenquellen außerhalb von Google Cloud und Übertragungen, die mit der Storage Transfer Service API erstellt wurden, machen eine zusätzliche Einrichtung erforderlich.

Vorbereitung

Dienstkontoberechtigungen werden auf Bucket-Ebene erteilt. Sie müssen in der Lage sein, diese Berechtigungen zu erteilen, z. B. mit der Rolle Storage-Administrator. Weitere Informationen finden Sie unter Identitäts- und Zugriffsverwaltung.

Wenn Sie Pub/Sub für Übertragungen verwenden möchten, müssen Sie dem Dienstkonto die IAM-Rolle Pub/Sub-Publisher (roles/pubsub.publisher) für das gewünschte Pub/Sub-Thema zuweisen. Zwischen dem Zuweisen der Rolle und ihrer Anwendung auf das Dienstkonto können einige Sekunden vergehen. Wenn Sie diese Berechtigung programmatisch gewähren, warten Sie 30 Sekunden, bevor Sie Storage Transfer Service konfigurieren.

Wenn Cloud Key Management Service für Ihre Cloud Storage-Quell- oder -Ziel-Buckets aktiviert ist, prüfen Sie, ob die Kontingente für Cloud KMS auf der Seite Kontingente Ihres Projekts mit den Lesekontingenten und Schreibkontingenten von Storage Transfer Service kompatibel sind. Ist dies nicht der Fall, fordern Sie über die Seite Kontingente Ihres Projekts eine Erhöhung des Kontingents an.

Hier finden Sie weitere Informationen:

Zugriff auf die Datenquelle einrichten

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.

Zum Einrichten von Storage Transfer Service zur Verwendung von Cloud Storage als Datenquelle weisen Sie die folgenden Rollen oder entsprechende Berechtigungen zu, und zwar dem von Google verwalteten Dienstkonto, das vom googleServiceAccounts.get-API-Aufruf zurückgegeben wurde:

Rolle Funktion Hinweise
Storage-Objekt-Betrachter (roles/storage.objectViewer) Ermöglicht dem Dienstkonto, den Inhalt des Buckets, Objektdaten und Metadaten zu lesen
Leser alter Storage-Buckets (roles/storage.legacyBucketReader) Ermöglicht dem Dienstkonto, den Inhalt eines Buckets und dessen Metadaten sowie Objektmetadaten zu lesen Wenn Sie Quellobjekte nicht aus Cloud Storage löschen möchten, weisen Sie dem Dienstkonto die Rolle Leser alter Storage-Buckets (roles/storage.legacyBucketReader) zu.
Autor alter Storage-Buckets (roles/storage.legacyBucketWriter) Ermöglicht dem Dienstkonto, Objekte zu erstellen, zu überschreiben und zu löschen; Objekte in einem Bucket aufzulisten; Objektmetadaten beim Auflisten zu lesen und mit Ausnahme von IAM-Richtlinien Bucket-Metadaten zu lesen Wenn Sie Quellobjekte aus Cloud Storage löschen möchten, weisen Sie dem Dienstkonto die Rolle Autor alter Storage-Buckets (roles/storage.legacyBucketWriter) zu.

Informationen zu erweiterten Datenübertragungen finden Sie unter IAM-Berechtigungen für Storage Transfer Service.

Amazon S3

So richten Sie den Zugriff auf einen Amazon S3-Bucket ein:

  1. Richten Sie den Zugriff auf den Amazon S3-Bucket mit einer der folgenden Methoden ein:

    Anmeldedaten für den Zugriff

    1. Erstellen Sie einen AWS IAM-Nutzer (AWS Identity and Access Management) mit einem Namen, den Sie leicht wiedererkennen, z. B. transfer-user. Beachten Sie bei der Wahl des Namens die AWS IAM-Richtlinien für Nutzernamen (siehe Einschränkungen für IAM-Entitäten und -Objekte).
    2. Weisen Sie dem AWS IAM-Nutzer folgende Berechtigungen zu:
      • Auflisten des Amazon S3-Buckets
      • Abrufen des Bucket-Standorts.
      • Lesen der Objekte im Bucket
      • Wenn Sie ein Objekt nach der Übertragung aus der Quelle löschen möchten, gewähren Sie dem Nutzer die Berechtigung zum Löschen von Objekten.
    3. Erstellen Sie für den Übertragungsjob, den Sie einrichten möchten, mindestens ein Schlüsselpaar (Zugriffsschlüssel/geheimer Schlüssel). Sie können auch für jede Übertragung ein eigenes Schlüsselpaar (Zugriffsschlüssel/geheimer Schlüssel) erstellen.

    Föderierte Identität

    1. Storage Transfer Service verwendet ein von Google verwaltetes Dienstkonto, um Ihre Daten aus einem Amazon S3-Quell-Bucket zu verschieben. Das Dienstkonto hat meist das Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Verwenden Sie den API-Aufruf googleServiceAccounts.get, um das Format Ihres Dienstkontos zu ermitteln und das Dienstkonto zu erstellen, falls es noch nicht vorhanden ist. Notieren Sie sich das Dienstkonto für die folgenden Schritte.
    2. Damit der Dienst ausgehende Anfragen mit dem Dienstkonto authentifizieren kann, fügen Sie dem Dienstkonto, das Sie zuvor notiert haben, die Rolle Ersteller von Dienstkonto-Tokens hinzu.
    3. Erstellen Sie die folgende IAM-Rolle „Amazon Resource Name (ARN)“ mit den Berechtigungen AssumeRoleWithWebIdentity:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Federated": "accounts.google.com"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
              "StringEquals": {
                "accounts.google.com:sub": "Service_account_subject_identifier"
              }
            }
          }
        ]
      }
                        
      Weitere Informationen zu ARNs finden Sie unter IAM ARNs.
    4. Fügen Sie Berechtigungen hinzu, die Storage Transfer Service ermöglichen, auf Amazon S3-Ressourcen zuzugreifen. Fügen Sie dazu die folgende Richtlinie der ARN-IAM-Rolle hinzu, was über die AWS-IAM-Konsole durchgeführt werden kann:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*",
                "s3:Delete*"
             ],
            "Resource": "*"
          }
        ]
      }
                        
  2. Stellen Sie alle Objekte wieder her, die in Amazon Glacier archiviert wurden. Objekte in Amazon S3, die in Amazon Glacier archiviert werden, sind erst wieder verfügbar, wenn sie wiederhergestellt wurden. Weitere Informationen finden Sie im Whitepaper Migrating to Google Cloud Storage Nearline From Amazon Glacier.

Microsoft Azure Blob Storage

So konfigurieren Sie den Zugriff auf einen Microsoft Azure Storage-Container:

  1. Erstellen oder verwenden Sie einen vorhandenen Microsoft Azure Storage-Nutzer, um auf das Speicherkonto für Ihren Microsoft Azure Storage Blob-Container zuzugreifen.
  2. Erstellen Sie ein SAS-Token auf Containerebene. Weitere Informationen finden Sie unter Grant limited access to Azure Storage resources using shared access signatures.

    Die Standardablaufzeit für SAS-Tokens beträgt 8 Stunden. Achten Sie bei der Erstellung des SAS-Tokens darauf, eine angemessene Ablaufzeit festzulegen, damit Sie die Übertragung erfolgreich abschließen können.

URL-Liste

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

Zugriff auf die Datensenke einrichten

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.

Die Datensenke für eine Datenübertragung ist immer ein Cloud Storage-Bucket.

Zum Einrichten von Storage Transfer Service zur Verwendung von Cloud Storage als Datensenke weisen Sie die folgenden Rollen oder entsprechende Berechtigungen zu, und zwar dem von Google verwalteten Dienstkonto, das vom googleServiceAccounts.get-API-Aufruf zurückgegeben wurde:

Rolle Funktion
Autor alter Storage-Buckets (roles/storage.legacyBucketWriter) Ermöglicht dem von Google verwalteten Dienstkonto, Objekte zu erstellen, zu überschreiben und zu löschen; Objekte im Ziel-Bucket aufzulisten und Bucket-Metadaten zu lesen
Storage-Objekt-Betrachter (roles/storage.objectViewer) Ermöglicht dem von Google verwalteten Dienstkonto, Objekte im Ziel-Bucket aufzulisten und abzurufen.

Weitere Informationen zu erforderlichen Berechtigungen finden Sie unter IAM-Berechtigungen für Storage Transfer Service.

Nächste Schritte