Le cartelle gestite di Cloud Storage forniscono un controllo dell'accesso granulare agli oggetti nei bucket Cloud Storage. Le autorizzazioni possono essere impostate a livello di cartella all'interno dei bucket che usano l'accesso universale a livello di bucket. Quando trasferisci oggetti tra i bucket Cloud Storage con Storage Transfer Service, queste autorizzazioni delle cartelle gestite possono essere conservate.
Limitazioni
Ai trasferimenti delle cartelle gestite si applicano le seguenti limitazioni:
- Per creare il trasferimento, devi utilizzare l'API REST.
- Il bucket di destinazione deve utilizzare un accesso uniforme a livello di bucket.
- I trasferimenti di cartelle gestite non supportano le opzioni
deleteObjectsUniqueInSink
odeleteObjectsFromSourceAfterTransfer
. - Non devono essere presenti condizioni IAM nel
bucket di destinazione o nel relativo progetto che
utilizzano il tipo di risorsa bucket (
storage.googleapis.com/Bucket
) o il tipo di risorsa oggetto (storage.googleapis.com/Object
). Se un bucket all'interno di un progetto ha una condizione IAM che utilizza uno di questi tipi di risorse, le cartelle gestite non possono essere trasferite a nessuno dei bucket all'interno di quel progetto, anche se la condizione viene rimossa in un secondo momento. - I trasferimenti basati su eventi non sono supportati.
- I trasferimenti dei manifest non sono supportati.
- Le operazioni relative alle cartelle gestite non vengono registrate da Cloud Logging. Registrazione di di Compute Engine sono supportati.
Autorizzazioni IAM
Le seguenti autorizzazioni IAM (Gestione di identità e accessi) di Google Cloud sono richieste dall'account di servizio gestito da Google.
Nel bucket di origine:
storage.managedFolders.getIamPolicy
storage.managedFolders.list
storage.managedFolders.get
Nel bucket di destinazione:
storage.managedFolders.setIamPolicy
storage.managedFolders.list
storage.managedFolders.create
Queste si aggiungono alle autorizzazioni standard richieste da Storage Transfer Service:
Per concedere le autorizzazioni necessarie per le cartelle gestite, creare un ruolo personalizzato usando solo le autorizzazioni necessarie e assegnarlo all'account di servizio gestito da Google, a livello di bucket (consigliato) o di progetto. Per ulteriori informazioni, consulta la sezione Considerazioni sulla sicurezza.
Creare un trasferimento di cartelle gestite
Per creare un trasferimento contenente una cartella gestita, specifica
managedFolderTransferEnabled: true
in transferSpec
:
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"name": "transferjobs/NAME",
"projectId": "PROJECT_ID",
"transferSpec": {
"gcsDataSource": {
"bucketName": "SOURCE_BUCKET",
"managedFolderTransferEnabled": true
},
"gcsDataSink": {
"bucketName": "DESTINATION_BUCKET"
}
},
"status": "ENABLED"
}
Vedi Creare trasferimenti
per maggiori dettagli sulla creazione di un trasferimento utilizzando l'API REST oppure fai riferimento alle
Riferimento transferJobs.create
.
Considerazioni sulla sicurezza
La concessione delle autorizzazioni per le cartelle gestite a un account di servizio gestito da Google consente all'account di modificare i criteri IAM nelle cartelle di destinazione o in tutte le cartelle se il ruolo viene concesso a livello di progetto. Ciò rappresenta un rischio per la sicurezza: un utente con autorizzazioni di modifica del job potrebbe sfruttare questa situazione per concedere privilegi a un attore malintenzionato. Per ridurre questo rischio, valuta la possibilità di isolare la cartella gestita all'interno di un progetto Google Cloud dedicato.
Risoluzione dei problemi
Per informazioni sulla creazione e la gestione delle cartelle gestite, consulta Risoluzione dei problemi.