Zugriff auf eine Quelle konfigurieren: Microsoft Azure Storage

Sie können den Zugriff auf Quelldaten in Microsoft Azure Storage mithilfe von Shared Access Signatures (SAS) konfigurieren.

Unterstützte Regionen

Storage Transfer Service kann Daten aus den folgenden Microsoft Azure Storage-Regionen übertragen:
  • Amerika:Ost-USA, Ost-USA 2, West-USA, West-USA 2, West-USA 3, Zentral-USA, Nord-Zentral-USA, Süd-Zentral-USA, West-Zentral-USA, Kanada Mitte, Kanada Ost, Brasilien Süd
  • 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, Afrika (EMEA): Deutschland (Europa, Naher Osten und Afrika), Deutschland (West-Mitte), Norwegen, Ost, Schweden, Mitte, Schweiz, Nordeuropa, Nordeuropa, Westeuropa, UK-West, Katar Central, 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 Mit freigegebenen Zugriffssignaturen eingeschränkten Zugriff auf Azure Storage-Ressourcen gewähren.

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

    2. Wählen Sie unter Zulässige Ressourcentypen sowohl Container als auch Objekt aus.

    3. Die Zulässigen Berechtigungen müssen Lesen und Liste umfassen. Wenn die Übertragung so konfiguriert ist, dass Objekte aus der Quelle gelöscht werden, müssen Sie auch die Berechtigung Löschen erteilen.

    4. Die Standardablaufzeit für SAS-Tokens beträgt 8 Stunden. Legen Sie eine angemessene Ablaufzeit fest, damit Sie die Übertragung erfolgreich 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 sein.

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

Microsoft-Anmeldedaten in Secret Manager speichern

Secret Manager ist ein sicherer Dienst, der sensible Daten wie Passwörter speichert und verwaltet. Ihre Secrets werden durch eine starke Verschlüsselung, rollenbasierte Zugriffssteuerung und Audit-Logging geschützt.

Storage Transfer Service kann Ihre Azure-Anmeldedaten mit Secret Manager schützen. Storage Transfer Service unterstützt sowohl SAS-Tokens (Shared Access Signature) als auch gemeinsam genutzte Azure-Schlüssel in Secret Manager.

Wenn Sie einen freigegebenen Schlüssel angeben, generiert Storage Transfer Service mit diesem Schlüssel einen Dienst-SAS, der auf den im Übertragungsjob angegebenen Azure-Container beschränkt ist.

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

Berechtigungen des Dienst-Agents

Für den Storage Transfer Service-Dienst-Agent ist die folgende IAM-Rolle erforderlich:

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

So weisen Sie Ihrem Dienst-Agent die Rolle zu:

Cloud Console

  1. Folgen Sie der Anleitung zum Abrufen der Dienst-Agent-E-Mail.

  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. Wählen Sie im Drop-down-Menü Rolle auswählen die Option Zugriffsfunktion für Secret Manager-Secret aus.

  6. Klicken Sie auf Speichern.

gcloud

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

  1. Folgen Sie der Anleitung zum Abrufen der Dienst-Agent-E-Mail.

  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

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 Ihre Anmeldedaten im Textfeld Secret-Wert in einem der folgenden Formate ein.

    {
      "sas_token" : "SAS_TOKEN_VALUE"
    }
    

    oder:

    {
      "access_key" : "ACCESS_KEY"
    }
    
  5. Klicken Sie auf Secret erstellen.

  6. Nachdem das Secret erstellt wurde, notieren Sie sich den vollständigen Ressourcennamen des Secrets:

    1. Wähle den Tab Übersicht aus.

    2. Kopieren Sie den Wert von Ressourcen-ID. Sie verwendet das folgende Format:

      projects/1234567890/secrets/SECRET_NAME

gcloud

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

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

oder:

printf '{
  "access_key" : "ACCESS_KEY"
}' | 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. Sie verwendet das folgende Format:

projects/1234567890/secrets/SECRET_NAME

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

Secret an den Befehl zur Joberstellung übergeben

Wenn Sie Secret Manager mit Storage Transfer Service verwenden möchten, müssen Sie die REST API verwenden, um einen Übertragungsjob zu erstellen.

Übergeben Sie den Secret Manager-Ressourcennamen als Wert des Felds transferSpec.azureBlobStorageDataSource.credentialsSecret:

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",
      "credentialsSecret": "SECRET_RESOURCE_ID",
    },
    "gcsDataSink": {
      "bucketName": "CLOUD_STORAGE_BUCKET_NAME"
    }
  }
}

IP-Einschränkungen

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

Da sich diese IP-Bereiche ändern können, veröffentlichen wir die aktuellen Werte als JSON-Datei unter einer permanenten 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 wir diesen Bereich für Anfragen vom Storage Transfer Service verwenden.

Wir empfehlen, Daten aus diesem Dokument mindestens einmal pro Woche abzurufen, um Ihre Sicherheitskonfiguration auf dem neuesten Stand zu halten. Ein Python-Beispielskript, das IP-Bereiche aus einer JSON-Datei abruft, finden Sie in diesem Artikel 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.