Zugriff auf eine Quelle konfigurieren: Microsoft Azure Storage

Sie können den Zugriff auf Quelldaten in Microsoft Azure Storage mithilfe von gemeinsam genutzten Signaturen (Shared Access Signes, SAS) konfigurieren.

Unterstützte Regionen

Storage Transfer Service kann Daten aus den folgenden Microsoft Azure Storage-Regionen übertragen:
  • Nord-USA: Ost-USA, Ost-USA 2, West-USA, West-USA 2, West-USA 3, Mitte
  • Asiatisch-pazifischer Raum: Australien Zentral, Australien Ost, Australien Südost, Zentral-Indien, Süd-Indien, West-Indien, Südostasien, Ostasien, Japan Ost, Japan West, Korea Süd, Korea Zentral
  • Europa, Naher Osten und Afrika (EMEA): Frankreich Zentral, Westdeutschland, Norwegen, Schweden, Zentral, Schweden Nordeuropa, Westeuropa, Vereinigtes Königreich Süd, Vereinigtes Königreich West, Katar Zentrale, Vereinigte Arabische Emirate, Nordafrika

Zugriff konfigurieren

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. Eine Anleitung dazu finden Sie unter Eingeschränkten Zugriff auf Azure Storage-Ressourcen mit freigegebenen Zugriffssignaturen gewähren.

    1. Die zulässigen Dienste müssen Blob enthalten.

    2. Wählen Sie für Zulässige Ressourcentypen sowohl Container als auch Objekt aus.

    3. Die zulässigen Berechtigungen müssen Lesen und Liste enthalten. Wenn die Übertragung zum Löschen von Objekten aus der Quelle konfiguriert ist, müssen Sie auch die Berechtigung Löschen hinzufügen.

    4. Die Standardablaufzeit für SAS-Tokens beträgt 8 Stunden. Legen Sie eine angemessene Ablaufzeit fest, mit der Sie die Übertragung abschließen können.

    5. Geben Sie im Feld Zulässige IP-Adressen keine IP-Adressen an. Storage Transfer Service verwendet verschiedene IP-Adressen und unterstützt keine Einschränkung von IP-Adressen.

    6. Die Zulässigen Protokolle sollten Nur HTTPS lauten.

  3. Notieren Sie sich nach der Erstellung des Tokens den zurückgegebenen Wert SAS-Token. Sie benötigen diesen Wert, wenn Sie die Übertragung mit Storage Transfer Service konfigurieren.

SAS-Token in Secret Manager speichern (Vorschau)

Secret Manager ist ein sicherer Dienst zum Speichern und Verwalten sensibler Daten wie Passwörtern. Zum Schutz Ihrer Secrets werden eine starke Verschlüsselung, eine rollenbasierte Zugriffssteuerung und Audit-Logging verwendet.

Storage Transfer Service kann Secret Manager nutzen, um Ihr Azure SAS-Token zu schützen. Sie laden das Token in Secret Manager und übergeben den Namen der geheimen Ressource dann an Storage Transfer Service.

API aktivieren

Secret Manager API aktivieren.

Aktivieren Sie die API

Zusätzliche Berechtigungen konfigurieren

Nutzerberechtigungen

Der Nutzer, der das Secret erstellt, benötigt die folgende Rolle:

  • Secret Manager-Administrator (roles/secretmanager.admin)

Weitere Informationen zum Zuweisen einer Rolle

Dienst-Agent-Berechtigungen

Der Storage Transfer-Dienst-Agent erfordert die folgende IAM-Rolle:

  • Auf Secret Manager-Secret zugreifende Person (roles/secretmanager.secretAccessor)

So weisen Sie die Rolle dem Dienst-Agent zu:

Cloud Console

  1. Folgen Sie der Anleitung zum Abrufen der E-Mail-Adresse Ihres Dienst-Agents.

  2. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    IAM aufrufen

  3. Klicken Sie auf Zugriff erlauben.

  4. Geben Sie im Textfeld Neue Hauptkonten die E-Mail-Adresse des Dienst-Agents ein.

  5. Suchen Sie im Drop-down-Menü Rolle auswählen den Eintrag Secret Manager Secret Accessor.

  6. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud projects add-iam-policy-binding, um Ihrem Dienst-Agent die IAM-Rolle hinzuzufügen.

  1. Folgen Sie der Anleitung zum Abrufen der E-Mail-Adresse Ihres Dienst-Agents.

  2. Geben Sie in der Befehlszeile den folgenden Befehl ein:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member='serviceAccount:SERVICE_AGENT_EMAIL' \
      --role='roles/secretmanager.secretAccessor'
    

Secret erstellen

So erstellen Sie ein Secret mit Secret Manager:

Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite Secret Manager auf.

    Zu Secret Manager

  2. Klicken Sie auf Secret erstellen.

  3. Geben Sie einen Namen ein.

  4. Geben Sie im Textfeld Secret-Wert Ihre Anmeldedaten im folgenden Format ein:

    {
      "sas_token" : "SAS_TOKEN_VALUE"
    }
    
  5. Klicken Sie auf Secret erstellen.

  6. Notieren Sie sich nach dem Erstellen des Secrets den vollständigen Ressourcennamen des Secrets:

    1. Wähle den Tab Übersicht aus.

    2. Kopieren Sie den Wert von Resource ID. Dabei wird das folgende Format verwendet:

      projects/1234567890/secrets/SECRET_NAME

gcloud

Um ein neues Secret mit dem gcloud-Befehlszeilentool zu erstellen, übergeben Sie die JSON-formatierten Anmeldedaten an den Befehl gcloud secrets create:

printf '{
  "sas_token" : "SAS_TOKEN_VALUE"
}' | gcloud secrets create SECRET_NAME --data-file=-

Rufen Sie den vollständigen Ressourcennamen des Secrets ab:

gcloud secrets describe SECRET_NAME

Notieren Sie sich den Wert von name in der Antwort. Dabei wird das folgende Format verwendet:

projects/1234567890/secrets/SECRET_NAME

Weitere Informationen zum Erstellen und Verwalten von Secrets finden Sie in der Secret Manager-Dokumentation.

Secret an den Befehl zur Joberstellung übergeben

In diesem Vorschauzeitraum muss für die Verwendung von Secret Manager mit Storage Transfer Service die REST API zum Erstellen eines Übertragungsjobs verwendet werden.

Übergeben Sie den Ressourcennamen von Secret Manager als Wert des Felds transferSpec.azureBlobStorageDataSource.secretResource:

POST https://storagetransfer.googleapis.com/v1/transferJobs

{
  "description": "Transfer with Secret Manager",
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "azureBlobStorageDataSource": {
      "storageAccount": "AZURE_SOURCE_NAME",
      "container": "AZURE_CONTAINER",
      "secretResource": "SECRET_RESOURCE_ID",
    },
    "gcsDataSink": {
      "bucketName": "CLOUD_STORAGE_BUCKET_NAME"
    }
  }
}

IP-Einschränkungen

Wenn Sie den Zugriff auf Ihre Azure-Ressourcen mit einer Azure Storage-Firewall einschränken, müssen Sie der Liste der zulässigen IP-Adressen die von Storage Transfer Service-Workern verwendeten IP-Bereiche hinzufügen.

Da sich diese IP-Bereiche ändern können, veröffentlichen wir die aktuellen Werte als JSON-Datei an einer dauerhaften Adresse:

https://www.gstatic.com/storage-transfer-service/ipranges.json

Wenn der Datei ein neuer Bereich hinzugefügt wird, warten wir mindestens sieben Tage, bevor Sie diesen Bereich für Anfragen von Storage Transfer Service verwenden.

Wir empfehlen, Daten aus diesem Dokument mindestens wöchentlich abzurufen, um die Sicherheitskonfiguration auf dem neuesten Stand zu halten. Ein Beispiel für ein Python-Skript, das IP-Bereiche aus einer JSON-Datei abruft, finden Sie in diesem Artikel aus der Virtual Private Cloud-Dokumentation.

Folgen Sie der Anleitung im Microsoft Azure-Artikel Azure Storage-Firewalls und virtuelle Netzwerke konfigurieren, um diese Bereiche als zulässige IP-Adressen hinzuzufügen.