Utilizza l'amministratore del progetto Google Cloud, un utente con privilegi di resourcemanager.projects.setIamPolicy
, per concedere autorizzazioni o ruoli IAM (Identity and Access Management) agli utenti e agli account di servizio appropriati.
L'account amministratore del progetto Google Cloud deve solo concedere le autorizzazioni agli utenti e agli account di servizio. Non è necessario avviare i job di trasferimento.
Per ulteriori informazioni sulla concessione dei ruoli IAM, consulta Concessione, modifica e revoca dell'accesso alle risorse.
Se vuoi creare ruoli personalizzati per Storage Transfer Service, consulta Informazioni sui ruoli IAM personalizzati.
Account amministratore
Gli account amministratore di Storage Transfer Service gestiscono gli agenti di trasferimento, impostano i limiti di utilizzo della larghezza di banda ed eliminano i job di trasferimento.
Per configurare un account amministratore, assegna le autorizzazioni e i ruoli IAM seguenti:
Ruolo / Autorizzazione | Funzione | Note |
---|---|---|
resourcemanager.projects.getIamPolicy |
Questa autorizzazione viene utilizzata per verificare che l'account di servizio gestito da Google disponga delle autorizzazioni necessarie per un trasferimento. | Per concedere questa autorizzazione, concedi il ruolo predefinito Visualizzatore ruoli (roles/iam.roleViewer ) o crea un ruolo personalizzato con questa singola autorizzazione e concedi il ruolo personalizzato. |
Amministratore Storage Storage
(roles/storagetransfer.admin )
|
Abilita le azioni amministrative nel progetto di trasferimento, come la configurazione del progetto e il monitoraggio degli agenti. | 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 trasferimenti. Questi account non dispongono in genere dell'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 autorizzazioni e i ruoli seguenti:
Ruolo / Autorizzazione | Funzione | Note |
---|---|---|
resourcemanager.projects.getIamPolicy |
Utilizzato per confermare che l'account di servizio gestito da Google dispone delle autorizzazioni Pub/Sub necessarie per un trasferimento. | Per concedere questa autorizzazione, concedi il ruolo predefinito Visualizzatore ruoli (roles/iam.roleViewer ) o crea un ruolo personalizzato con questa singola autorizzazione e concedi il ruolo personalizzato. |
Utente Storage Transfer
(roles/storagetransfer.user )
|
Consente all'utente di creare, ricevere, aggiornare ed elencare i trasferimenti. | Per un elenco dettagliato delle autorizzazioni concesse, vedi Ruoli predefiniti di Storage Transfer Service. |
Account di servizio
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, crei un pool di agente, 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 determinare il PROJECT_NUMBER
specifico, utilizza la chiamata API
googleServiceAccounts.get
.
Per consentire all'account di servizio Storage Transfer Service di accedere alle risorse necessarie per completare i trasferimenti, assegna i seguenti ruoli o autorizzazioni equivalenti all'account di servizio:
Ruolo / Autorizzazione | Funzione | Note |
---|---|---|
Creatore oggetti Storage (roles/storage.objectCreator )
|
Abilita Storage Transfer Service a creare log di trasferimento nel bucket Cloud Storage connesso a questo trasferimento. |
Concedi a tutti i bucket Cloud Storage utilizzati in un trasferimento. Se
adatto alla tua situazione, puoi concedere il ruolo a
livello di progetto al progetto da cui viene eseguito Storage Transfer Service.
Per un elenco dettagliato delle autorizzazioni concesse da questi ruoli, vedi Ruoli predefiniti di Cloud Storage. |
Visualizzatore oggetti Storage
(roles/storage.objectViewer )
|
Abilita Storage Transfer Service per determinare se un file è già stato trasferito da o in Cloud Storage. | |
Agente di servizio Storage Transfer (roles/storagetransfer.serviceAgent )
|
Abilita Storage Transfer Service a creare e modificare automaticamente argomenti Pub/Sub per comunicare da Google Cloud al trasferimento degli agenti. |
Applica il ruolo a livello di progetto al progetto da cui Storage Transfer Service è in esecuzione.
Per un elenco dettagliato delle autorizzazioni concesse da questo ruolo, consulta Autorizzazioni e ruoli. |
Lettore bucket legacy Storage (roles/storage.legacyBucketReader )
|
Abilita Storage Transfer Service a leggere i metadati del bucket Cloud Storage. |
Concedere a ciascun bucket Cloud Storage utilizzato in un trasferimento. I ruoli Cloud Storage |
Agenti di trasferimento
Gli agenti di trasferimento di Storage Transfer Service possono essere eseguiti con l'account dell'utente o con un account di servizio.
Per configurare un account di servizio o un account utente per gli agenti di trasferimento che eseguono gli agenti di trasferimento, assegna il ruolo seguente:
Ruolo / Autorizzazione | Funzione | Note |
---|---|---|
Agente Storage Transfer (roles/storagetransfer.transferAgent )
|
Concede agli agenti di trasferimento le autorizzazioni Storage Transfer Service e Pub/Sub necessarie per completare un trasferimento. |
Concedi questo ruolo all'account utente o di servizio utilizzato dagli agenti.
Per un elenco dettagliato delle autorizzazioni concesse da questo ruolo, consulta Controllo dell'accesso con IAM. |
Autorizzazioni di origine e di destinazione
Devi inoltre assicurarti che l'account agente abbia le autorizzazioni corrette per accedere ai dati di origine e scrivere nella destinazione.
Da file system a Cloud Storage
Se la tua destinazione di trasferimento è un bucket Cloud Storage, l'agente di trasferimento ha bisogno delle seguenti autorizzazioni per il bucket di destinazione. Per istruzioni, consulta la sezione Aggiungere un'entità a un criterio a livello di bucket.
Autorizzazione | Descrizione |
---|---|
storage.objects.create |
Consente all'account agente di scrivere oggetti Cloud Storage durante il trasferimento. |
storage.objects.get |
Consente all'account agente di leggere i dati e i metadati degli oggetti. |
storage.objects.delete |
Obbligatorio se il trasferimento è configurato per sovrascrivere o eliminare gli oggetti nel sink; ad esempio, se overwriteObjectsAlreadyExistingInSink o deleteObjectsUniqueInSink sono configurati nella configurazione di
transferOptions del trasferimento. |
Per concedere queste autorizzazioni, concedi il ruolo seguente:
- Amministratore oggetti Storage (
roles/storage.objectAdmin
)
In alternativa, crea un ruolo personalizzato con le autorizzazioni specifiche e concedi il ruolo personalizzato.
Per abilitare i caricamenti a più parti sono necessarie autorizzazioni aggiuntive.
Da Cloud Storage a file system
Se l'origine del trasferimento è un bucket Cloud Storage, l'agente di trasferimento ha bisogno della seguente autorizzazione nel bucket di origine.
Autorizzazione | Descrizione |
---|---|
storage.objects.get |
Consente all'account agente di leggere i dati e i metadati degli oggetti. |
Per concedere questa autorizzazione, concedi il ruolo seguente:
- Visualizzatore oggetti Storage (
roles/storage.objectViewer
)
In alternativa, crea un ruolo personalizzato con la singola autorizzazione e concedi il ruolo personalizzato.
Da file system a file system
Se il trasferimento è tra due file system, l'agente di trasferimento ha bisogno delle seguenti autorizzazioni nel bucket intermedio.
Autorizzazione | Descrizione |
---|---|
storage.objects.create |
Consente all'account agente di scrivere oggetti Cloud Storage durante il trasferimento. |
storage.objects.get |
Consente all'account agente di leggere i dati e i metadati degli oggetti. |
storage.objects.delete |
Obbligatorio se il trasferimento è configurato per eliminare gli oggetti nel bucket intermedio al termine del trasferimento. |
Per concedere queste autorizzazioni, concedi il ruolo seguente:
- Amministratore oggetti Storage (
roles/storage.objectAdmin
)
In alternativa, crea un ruolo personalizzato con le autorizzazioni specifiche e concedi il ruolo personalizzato.
Per abilitare i caricamenti a più parti sono necessarie autorizzazioni aggiuntive.
Archiviazione compatibile con S3 in Cloud Storage
L'account agente di trasferimento ha bisogno delle seguenti autorizzazioni per il bucket di destinazione. Per istruzioni, consulta la sezione Aggiungere un'entità a un criterio a livello di bucket.
Autorizzazione | Descrizione |
---|---|
storage.objects.create |
Consente all'account agente di scrivere oggetti Cloud Storage durante il trasferimento. |
storage.objects.get |
Consente all'account agente di leggere i dati e i metadati degli oggetti. |
storage.objects.delete |
Obbligatorio se il trasferimento è configurato per sovrascrivere o eliminare gli oggetti nel sink; ad esempio, se overwriteObjectsAlreadyExistingInSink o deleteObjectsUniqueInSink sono configurati nella configurazione di
transferOptions del trasferimento. |
Per concedere queste autorizzazioni, concedi il ruolo seguente:
- Amministratore oggetti Storage (
roles/storage.objectAdmin
)
In alternativa, crea un ruolo personalizzato con le autorizzazioni specifiche e concedi il ruolo personalizzato.
Caricamenti multiparte
Per attivare i caricamenti multiparte per i file system in Cloud Storage per i trasferimenti o tra i file system, concedi all'agente anche le seguenti autorizzazioni.
- Per i trasferimenti a Cloud Storage, assegna le autorizzazioni al bucket di destinazione.
- Per i trasferimenti tra file system, assegna le autorizzazioni al bucket intermedio.
I caricamenti a più parti possono velocizzare i trasferimenti che includono file di grandi dimensioni e sono supportati solo per i bucket che utilizzano la classe di archiviazione standard.
Nome autorizzazione caricamento a più parti | Descrizione |
---|---|
storage.multipartUploads.create |
Caricare oggetti in più parti. |
storage.multipartUploads.abort |
Interrompi le sessioni di caricamento a più parti. |
storage.multipartUploads.listParts |
Elenca le parti dell'oggetto caricate in una sessione di caricamento a più parti. |
storage.multipartUploads.list |
Elenca le sessioni di caricamento con più parti in un bucket. |
Per concedere queste autorizzazioni, concedi il ruolo seguente:
- Amministratore oggetti Storage (
roles/storage.objectAdmin
)
In alternativa, crea un ruolo personalizzato con le autorizzazioni specifiche e concedi il ruolo personalizzato.