I trasferimenti senza agenti includono i trasferimenti all'interno di Cloud Storage oppure da Amazon S3, Azure Blob Storage o Data Lake Storage Gen2 oppure elenchi di URL di oggetti pubblici. Non richiedono agenti o agenti di trasferimento piscine.
Quando trasferisci dati tra provider cloud in un trasferimento senza agente, devi concedere le autorizzazioni a due entità:
- L'account di servizio gestito dall'utente o dall'utente che crea o gestisce l'account di servizio trasferimento.
- Un account di servizio gestito da Google, che viene creato automaticamente il primo alla interazione con Storage Transfer Service.
Inoltre, devi configurare l'accesso ai file di origine su AWS S3, Microsoft Azure o Cloud Storage.
Per scoprire come concedere i ruoli IAM, consulta Concessione, modifica e revoca dell'accesso alle risorse.
Metodo più semplice per concedere le autorizzazioni
La CLI gcloud
può essere utilizzata per concedere le autorizzazioni richieste all'account di servizio dell'utente/gestito dall'utente e all'account di servizio gestito da Google.
Queste autorizzazioni consentono all'utente di creare, modificare ed eliminare i job di trasferimento, nonché di impostare o modificare i limiti di larghezza di banda.
Se queste autorizzazioni sono troppo generiche per i criteri della tua organizzazione, fai riferimento alle sezioni successive in questo documento per le autorizzazioni minime richieste da Storage Transfer Service.
Per controllare le autorizzazioni esistenti e stampare i ruoli mancanti, esegui il seguente comando:
gcloud transfer authorize
Per applicare automaticamente questi ruoli, utilizza il flag --add-missing
:
gcloud transfer authorize --add-missing
Per concedere le autorizzazioni a un account di servizio gestito dall'utente, trasmetti l'account di servizio chiave:
gcloud transfer authorize --add-missing --creds-file=path/to/key.json
Per istruzioni sulla creazione di un account di servizio, consulta Creazione e gestione degli account di servizio.
Il comando concede le seguenti autorizzazioni.
All'utente/all'account di servizio gestito dall'utente:
roles/owner
roles/storagetransfer.admin
roles/storagetransfer.transferAgent
roles/storage.objectAdmin
roles/pubsub.editor
Per l'account di servizio gestito da Google:
roles/storage.admin
roles/storagetransfer.serviceAgent
Per istruzioni su come installare gcloud
CLI, consulta la
guida rapida di gcloud
.
Autorizzazioni dell'account di servizio gestito dall'utente o dell'utente
Questa sezione illustra i ruoli richiesti per gli account che gestiscono ed eseguono i trasferimenti. I requisiti della tua organizzazione determineranno i ruoli esatti per ogni persona. Questa sezione presuppone che tu crei un amministratore e un utente.
Account amministratore
Gli account amministratore di Storage Transfer Service impostano i limiti di utilizzo della larghezza di banda ed eliminano in altri job di trasferimento.
Per configurare un account amministratore, assegna le seguenti autorizzazioni e i seguenti ruoli IAM:
Ruolo / Autorizzazione | Funzione | Note |
---|---|---|
resourcemanager.projects.getIamPolicy |
Questa autorizzazione viene utilizzata per verificare che l'account di servizio gestito da Google abbia le autorizzazioni necessarie per un trasferimento. | Per concedere questa autorizzazione, concedi la
Visualizzatore del ruolo
(roles/iam.roleViewer ) ruolo predefinito oppure
crea un ruolo personalizzato con
a questa singola autorizzazione
e concedere il ruolo personalizzato. |
Amministratore trasferimento dati archiviazione
(roles/storagetransfer.admin )
|
Consente azioni amministrative nel progetto di trasferimento, ad esempio la configurazione del progetto. | Per un elenco dettagliato delle autorizzazioni concesse, vedi ruoli predefiniti di Storage Transfer Service. |
Account utente
Gli account utente di Storage Transfer Service vengono utilizzati per creare ed eseguire i trasferimenti. Questi account in genere non hanno accesso per eliminare i job di trasferimento.
Un account utente può essere un utente della console Google Cloud o un account di servizio. Se utilizzi un account di servizio, il metodo utilizzato per passare le credenziali a Storage Transfer Service varia a seconda dell'interfaccia utilizzata.
Per configurare un account utente, assegna all'account le seguenti autorizzazioni e i seguenti ruoli:
Ruolo / Autorizzazione | Funzione | Note |
---|---|---|
resourcemanager.projects.getIamPolicy |
Utilizzato per confermare che l'account di servizio gestito da Google dispone della le autorizzazioni Pub/Sub necessarie per un trasferimento. | Per concedere questa autorizzazione, assegna il ruolo predefinito Visualizzatore dei ruoli (roles/iam.roleViewer ) o crea un ruolo personalizzato con questa singola autorizzazione e assegnalo. |
Utente di trasferimento dati archiviati
(roles/storagetransfer.user )
|
Consente all'utente di creare, ottenere, aggiornare ed elencare i trasferimenti. | Per un elenco dettagliato delle autorizzazioni concesse, consulta Ruoli predefiniti di Storage Transfer Service. |
Autorizzazioni dell'account di servizio gestito da Google
Storage Transfer Service utilizza un
account di servizio gestito da Google per spostare i dati. Questo account di servizio viene creato automaticamente la prima volta che crei un job di trasferimento, chiami googleServiceAccounts.get
o visiti la pagina di creazione del job nella console Google Cloud.
Il formato dell'account di servizio è in genere
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
.
Per recuperare l'identificatore dell'account di servizio, utilizza la
Chiamata API
googleServiceAccounts.get
.
Assegnazione automatica dei ruoli
Esistono due modi per assegnare automaticamente i ruoli corretti al Account di servizio gestito da Google:
Crea il trasferimento utilizzando la console Google Cloud. La console applica automaticamente le autorizzazioni richieste.
Usa
gcloud transfer authorize --add-missing
. Consulta Il metodo più semplice per concedere le autorizzazioni.
Assegnazione manuale dei ruoli
Per consentire all'account di servizio gestito da Google di accedere alle risorse necessarie per completare i trasferimenti, assegna all'account di servizio i seguenti ruoli o autorizzazioni equivalenti.
Ruolo/Autorizzazione | Funzione | Note |
---|---|---|
Storage Legacy Bucket Writer
(roles/storage.legacyBucketWriter )
|
Abilita Storage Transfer Service per leggere i metadati del bucket ed elencare gli oggetti nella nel bucket di destinazione e scrivere oggetti nel bucket di destinazione. | La concessione sul bucket di destinazione Cloud Storage. |
Visualizzatore oggetti Storage
(roles/storage.objectViewer )
|
Abilita Storage Transfer Service per determinare se un file è già stato trasferiti in o da Cloud Storage. | Concedi l'autorizzazione nel bucket di origine Cloud Storage se stai trasferendo i dati da Cloud Storage. Se opportuno per la tua situazione, puoi concedere il ruolo a livello di progetto al progetto su cui è in esecuzione Storage Transfer Service. |
Lettore bucket Storage legacy
(roles/storage.legacyBucketReader )
|
Consente a Storage Transfer Service di leggere i metadati del bucket Cloud Storage. |
Concedi l'autorizzazione nel bucket di origine Cloud Storage se stai trasferendo dati da Cloud Storage. È possibile concedere solo ruoli |
Per le istruzioni, vedi Concedere le autorizzazioni richieste.
Trasferimenti di Cloud Storage tra progetti
Per trasferire oggetti tra bucket Cloud Storage in progetti diversi, devi concedere l'autorizzazione a un singolo account di servizio gestito da Google sia di origine e del bucket di destinazione. L'account di servizio gestito da Google appartiene al progetto da cui stai creando il trasferimento.
L'account di servizio gestito dall'utente o dall'utente richiede autorizzazioni solo sul progetto che sta creando il trasferimento.
Per ottenere l'email dell'account di servizio gestito da Google, consulta Trova l'email dell'agente di servizio.
Nel bucket di origine, concedi i seguenti ruoli a livello di bucket all'amministratore Account di servizio gestito da Google:
Storage Legacy Bucket Reader
Storage Object Viewer
Nel bucket di destinazione, concedi il seguente ruolo a livello di bucket allo stesso account di servizio gestito da Google:
Storage Legacy Bucket Writer
Per istruzioni su come concedere i ruoli a livello di bucket, consulta quanto segue pagine:
Restrizioni dell'organizzazione
Se la tua organizzazione ha presentato la domanda
vincoli dei criteri dell'organizzazione
come
restrizioni di dominio
(constraints/iam.allowedPolicyMemberDomains
) o
Disattivazione del collegamento degli account di servizio alle risorse in altri progetti
(constraints/iam.disableCrossProjectServiceAccountUsage
), questi vincoli
devono essere aggiornati prima che i trasferimenti tra progetti abbiano
esito positivo.
Potresti anche dover aggiornare le impostazioni di Controllo di servizio VPC per supportare per i trasferimenti tra progetti. Consulta: Configura Controlli di servizio VPC per i trasferimenti di archiviazione di oggetti Cloud.
Autorizzazioni AWS e Microsoft
Devi anche configurare l'accesso ai file di origine se si trovano in AWS S3 o in Microsoft Azure Storage. I seguenti documenti descrivono in dettaglio i passaggi obbligatori: