Zugriff auf eine Quelle konfigurieren: Microsoft Azure Storage

Sie können den Zugriff auf Quelldaten in Microsoft Azure Storage mithilfe von freigegebenen Zugriffssignaturen (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 Zentral, Kanada Osten, 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, Frankreich (Mitte), Deutschland-West-Zentral, Norwegen, Ost, Schweden, Nordeuropa, Westeuropa, Vereinigtes Königreich, Süden (Vereinigtes Königreich), Katar Central, VAE-Nord, Südafrika Nord,

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 finden Sie unter Mit freigegebenen Zugriffssignaturen eingeschränkten Zugriff auf Azure-Speicherressourcen 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 umfassen. Wenn die Übertragung so konfiguriert ist, dass Objekte aus der Quelle gelöscht werden, 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, 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 die Einschränkung von IP-Adressen nicht.

    6. Die zulässigen Protokolle sollten Nur HTTPS sein.

  3. Notieren Sie sich den zurückgegebenen Wert des SAS-Tokens, sobald das Token erstellt wurde. 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. Es verwendet eine starke Verschlüsselung, rollenbasierte Zugriffssteuerung und Audit-Logging, um Ihre Secrets zu schützen.

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 freigegebene Azure-Schlüssel in Secret Manager.

Wenn Sie einen freigegebenen Schlüssel angeben, verwendet Storage Transfer Service diesen Schlüssel, um einen Dienst-SAS zu generieren, 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)

Rolle zuweisen

Berechtigungen des Dienst-Agents

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

  • Zugriffsfunktion für Secret Manager-Secret (roles/secretmanager.secretAccessor)

So gewähren Sie Ihrem Dienst-Agent die Rolle:

Cloud Console

  1. Folgen Sie der Anleitung zum Abrufen der E-Mail-Adresse des 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. 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 Ihrem Dienst-Agent die IAM-Rolle hinzuzufügen.

  1. Folgen Sie der Anleitung zum Abrufen der E-Mail-Adresse des 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

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 in einem der folgenden Formate ein.

    {
      "sas_token" : "SAS_TOKEN_VALUE"
    }
    

    oder:

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

      projects/1234567890/secrets/SECRET_NAME

gcloud

Um mit dem gcloud-Befehlszeilentool ein neues Secret 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=-

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üssen Sie zum Erstellen eines Übertragungsjobs die REST API verwenden.

Ü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 mit 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 mindestens wöchentlich aus diesem Dokument abzurufen, um Ihre Sicherheitskonfiguration auf dem neuesten Stand zu halten. Ein Python-Beispielskript, mit dem IP-Bereiche aus einer JSON-Datei abgerufen werden, 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.