Configura l'accesso a un'origine: Archiviazione di Microsoft Azure

Puoi configurare l'accesso ai dati di origine in Archiviazione di Microsoft Azure utilizzando le firme di accesso condiviso (SAS).

Aree geografiche supportate

Storage Transfer Service è in grado di trasferire i dati dalle seguenti regioni di Archiviazione di Microsoft Azure:
  • Americhe: Stati Uniti orientali, Stati Uniti orientali 2, Stati Uniti occidentali, Stati Uniti occidentali 2, Stati Uniti occidentali 3, Stati Uniti centrali, Stati Uniti centrali, Stati Uniti centro-meridionali, Stati Uniti centrali occidentali, Canada centrale, Canada orientali, Brasile meridionale
  • Asia-Pacifico: Australia centrale, Australia Orientale, Australia sudorientale, India centrale, India meridionale, India occidentale, Asia sudorientale, Asia orientale, Giappone orientale, Giappone occidentale, Corea del Sud, Corea del Sud
  • Europa, Medio Oriente, Africa (EMEA): Francia centrale, Germania centro-occidentale, Norvegia Est, Svezia centrale, Svizzera settentrionale, Europa del Nord, Europa occidentale, Regno Unito meridionale, Regno Unito occidentale, Qatar centrale, Emirati Arabi Uniti nord, Sudafrica settentrionale

Configura l'accesso

Segui questi passaggi per configurare l'accesso a un container di Archiviazione di Microsoft Azure:

  1. Crea o utilizza un utente esistente di Archiviazione di Microsoft Azure per accedere all'account di archiviazione per il container BLOB di archiviazione di Microsoft Azure.

  2. Creare un token SAS a livello di container. Per le istruzioni, consulta Concedere l'accesso limitato alle risorse di Archiviazione di Azure utilizzando le firme di accesso condiviso.

    1. I Servizi consentiti devono includere Blob.

    2. In Tipi di risorse consentiti, seleziona sia Contenitore sia Oggetto.

    3. Le Autorizzazioni consentite devono includere Lettura ed Elenco. Se il trasferimento è configurato in modo da eliminare gli oggetti dall'origine, devi includere anche l'autorizzazione di eliminazione.

    4. La scadenza predefinita per i token SAS è 8 ore. Imposta una scadenza ragionevole che ti consenta di completare correttamente il trasferimento.

    5. Non specificare nessun indirizzo IP nel campo Indirizzi IP consentiti. Storage Transfer Service utilizza vari indirizzi IP e non supporta le restrizioni degli indirizzi IP.

    6. I protocolli consentiti devono essere solo HTTPS.

  3. Una volta creato il token, prendi nota del valore del token SAS che viene restituito. Questo valore è necessario quando configuri il trasferimento con Storage Transfer Service.

Salva le tue credenziali Microsoft in Secret Manager

Secret Manager è un servizio sicuro che archivia e gestisce i dati sensibili come le password. che utilizza crittografia avanzata, controllo degli accessi basato sui ruoli e audit logging per proteggere i tuoi secret.

Storage Transfer Service può sfruttare Secret Manager per proteggere le tue credenziali Azure. Storage Transfer Service supporta sia i token di firma di accesso condivisa (SAS) sia le chiavi condivise di Azure in Secret Manager.

Quando specifichi una chiave condivisa, Storage Transfer Service la utilizza per generare una SAS di servizio il cui ambito è limitato al container Azure specificato nel job di trasferimento.

Abilita l'API

Attiva l'API Secret Manager.

Abilita l'API

Configura autorizzazioni aggiuntive

Autorizzazioni utente

L'utente che crea il secret richiede il ruolo seguente:

  • Amministratore Secret Manager (roles/secretmanager.admin)

Scopri come concedere un ruolo.

Autorizzazioni agente di servizio

L'agente di servizio Storage Transfer Service richiede il seguente ruolo IAM:

  • Funzione di accesso ai secret di Secret Manager (roles/secretmanager.secretAccessor)

Per concedere il ruolo all'agente di servizio:

console Cloud

  1. Segui le istruzioni per recuperare l'email dell'agente di servizio.

  2. Vai alla pagina IAM nella console Google Cloud.

    Vai a IAM

  3. Fai clic su Concedi accesso.

  4. Nella casella di testo Nuove entità, inserisci l'email dell'agente di servizio.

  5. Nel menu a discesa Seleziona un ruolo, cerca e seleziona Funzione di accesso ai secret di Secret Manager.

  6. Fai clic su Salva.

gcloud

Utilizza il comando gcloud projects add-iam-policy-binding per aggiungere il ruolo IAM all'agente di servizio.

  1. Segui le istruzioni per recuperare l'email dell'agente di servizio.

  2. Dalla riga di comando, inserisci il seguente comando:

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

Crea un secret

Crea un secret con Secret Manager:

console Cloud

  1. Vai alla pagina Secret Manager nella console Google Cloud.

    Vai a Secret Manager

  2. Fai clic su Crea secret.

  3. Inserisci un nome.

  4. Nella casella di testo Valore secret, inserisci le credenziali in uno dei seguenti formati.

    {
      "sas_token" : "SAS_TOKEN_VALUE"
    }
    

    Oppure:

    {
      "access_key" : "ACCESS_KEY"
    }
    
  5. Fai clic su Crea secret.

  6. Dopo aver creato il secret, prendi nota del nome completo della risorsa:

    1. Seleziona la scheda Panoramica.

    2. Copia il valore dell'ID risorsa. Utilizza il seguente formato:

      projects/1234567890/secrets/SECRET_NAME

gcloud

Per creare un nuovo secret utilizzando lo strumento a riga di comando gcloud, passa le credenziali in formato JSON al comando gcloud secrets create:

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

Oppure:

printf '{
  "access_key" : "ACCESS_KEY"
}' | gcloud secrets create SECRET_NAME --data-file=-

Recupera il nome completo della risorsa del secret:

gcloud secrets describe SECRET_NAME

Prendi nota del valore di name nella risposta. Utilizza il seguente formato:

projects/1234567890/secrets/SECRET_NAME

Per maggiori dettagli sulla creazione e sulla gestione dei secret, consulta la documentazione di Secret Manager.

Passa il tuo secret al comando di creazione del job

L'utilizzo di Secret Manager con Storage Transfer Service richiede l'uso dell'API REST per creare un job di trasferimento.

Passa il nome della risorsa Secret Manager come valore del campo 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"
    }
  }
}

Limitazioni IP

Se limiti l'accesso alle risorse Azure utilizzando un firewall di Archiviazione di Azure, devi aggiungere gli intervalli IP utilizzati dai worker di Storage Transfer Service al tuo elenco di IP consentiti.

Poiché questi intervalli IP possono cambiare, pubblichiamo i valori correnti come file JSON a un indirizzo permanente:

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

Quando al file viene aggiunto un nuovo intervallo, attenderemo almeno 7 giorni prima di utilizzare questo intervallo per le richieste da Storage Transfer Service.

Ti consigliamo di estrarre i dati da questo documento almeno una volta alla settimana per mantenere aggiornata la configurazione di sicurezza. Per uno script Python di esempio che recupera gli intervalli IP da un file JSON, consulta questo articolo della documentazione di Virtual Private Cloud.

Per aggiungere questi intervalli come IP consentiti, segui le istruzioni nell'articolo di Microsoft Azure: Configurare i firewall e le reti virtuali di Archiviazione di Azure.