Questa pagina fornisce informazioni supplementari sui vincoli dei criteri dell'organizzazione che si applicano a Cloud Storage. Utilizza i vincoli per applicare i comportamenti di bucket e oggetti a un intero progetto o a un'intera organizzazione. I vincoli dei criteri dell'organizzazione possono essere vincoli booleani o vincoli di elenco.
Tieni presente che l'applicazione o la disattivazione di qualsiasi vincolo potrebbe richiedere fino a 10 minuti prima di diventare effettiva.
Vincoli di Cloud Storage
I seguenti vincoli possono essere applicati a un criterio dell'organizzazione e sono correlati a Cloud Storage:
Applica prevenzione dell'accesso pubblico
Nome vincolo: constraints/storage.publicAccessPrevention
Tipo di vincolo: boolean
Quando applichi il vincolo publicAccessPrevention a una risorsa,
l'accesso pubblico viene limitato per tutti i bucket e gli oggetti, sia nuovi che
esistenti, nella risorsa.
Durata di conservazione dell'eliminazione temporanea
Nome vincolo: constraints/storage.softDeletePolicySeconds
Tipo di vincolo: list
Quando applichi il vincolo softDeletePolicySeconds, specifichi una o più
eliminazione temporanea durate di conservazione
(softDeletePolicy.retentionDuration) come parte del vincolo. Il vincolo verifica che qualsiasi richiesta di creazione di un nuovo bucket o di aggiornamento della durata di conservazione dell'eliminazione temporanea di un bucket esistente includa esplicitamente una delle durate di conservazione consentite specificate. Ad esempio, se imposti la durata di conservazione su 864000 secondi (10 giorni) come parte di questo vincolo, qualsiasi richiesta di creazione o aggiornamento di un bucket all'interno dell'organizzazione deve includere una durata di conservazione dell'eliminazione temporanea di 864000 nel payload della richiesta. Le richieste che omettono questa configurazione non andranno a buon fine.
Questo vincolo convalida solo le richieste di creazione di un nuovo bucket o di aggiornamento di un bucket esistente nell'organizzazione. In caso contrario, non influisce sui bucket preesistenti.
Se imposti più vincoli softDeletePolicySeconds a livelli di risorse
diversi, vengono applicati gerarchicamente. Per questo motivo, ti consigliamo di impostare il campo inheritFromParent su true, in modo che vengano presi in considerazione anche i criteri nei livelli superiori.
Durata della policy di conservazione del bucket in secondi
Nome vincolo: constraints/storage.retentionPolicySeconds
Tipo di vincolo: list
Quando applichi il vincolo retentionPolicySeconds, specifichi una o più durate come parte del vincolo. Una volta impostate, le policy di conservazione dei bucket
devono includere una delle durate specificate. retentionPolicySeconds è obbligatorio quando crei un nuovo bucket e quando aggiungi o aggiorni il periodo di conservazione di un bucket preesistente; tuttavia, non è obbligatorio per i bucket preesistenti.
Se imposti più vincoli retentionPolicySeconds a livelli di risorse
diversi, vengono applicati gerarchicamente. Per questo motivo, ti consigliamo di impostare il campo inheritFromParent su true, in modo che vengano presi in considerazione anche i criteri nei livelli superiori.
Richiedi accesso uniforme a livello di bucket
Nome vincolo: constraints/storage.uniformBucketLevelAccess
Tipo di vincolo: boolean
Quando applichi il vincolo uniformBucketLevelAccess, i nuovi bucket devono
abilitare la funzionalità di accesso uniforme a livello di bucket e i bucket preesistenti con questa
funzionalità abilitata non possono disattivarla. I bucket preesistenti con l'accesso uniforme a livello di bucket disabilitato non sono obbligati ad abilitarlo.
Modalità di audit logging dettagliata
Nome vincolo: constraints/gcp.detailedAuditLoggingMode
Tipo di vincolo: boolean
Quando applichi il vincolo detailedAuditLoggingMode, i log di Cloud Audit Logs
associati alle operazioni di Cloud Storage contengono informazioni dettagliate su richieste
e risposte. Ti consigliamo di utilizzare questo vincolo insieme a
Bucket Lock e Object Retention Lock quando
cerchi varie conformità, come la regola SEC 17a-4(f), la regola CFTC
1.31(c)-(d) e la regola FINRA 4511(c).
Le informazioni registrate includono parametri di ricerca, parametri di percorso e parametri del corpo della richiesta. I log escludono alcune parti di richieste e risposte associate a informazioni sensibili. Ad esempio, i log escludono:
- Credenziali, ad esempio
Authorization,X-Goog-Signatureoupload-id. - Informazioni sulla chiave di crittografia, ad esempio
x-goog-encryption-key. - Dati degli oggetti non elaborati.
Quando utilizzi questo vincolo, tieni presente quanto segue:
- Le informazioni dettagliate su richieste e risposte non sono garantite; in rari casi, potrebbero essere restituiti log vuoti.
- L'abilitazione di
detailedAuditLoggingModeaumenta la quantità di dati archiviati nei log di audit, il che potrebbe influire sui costi di Cloud Logging per i log di accesso ai dati. - Le richieste e le risposte registrate vengono registrate in un formato generico che corrisponde ai nomi dei campi dell'API JSON.
Limita tipi di autenticazione
Nome vincolo: constraints/storage.restrictAuthTypes
Tipo di vincolo: list
Quando applichi il vincolo restrictAuthTypes, le richieste di accesso alle risorse di Cloud Storage utilizzando il tipo di autenticazione limitato non vanno a buon fine, indipendentemente dalla validità della richiesta. Puoi utilizzare il vincolo restrictAuthTypes
per limitare le chiavi HMAC in modo da soddisfare i requisiti normativi o aumentare
la sicurezza dei tuoi dati.
Il vincolo di elenco nega esplicitamente tipi di autenticazione specifici,
consentendo tutti gli altri. Per farlo, devi elencare i tipi di autenticazione limitati nella chiave deniedValues all'interno delle rules del vincolo restrictAuthTypes. Si verifica un errore se provi a elencare i tipi di autenticazione limitati nella chiave allowedValues.
Puoi limitare i seguenti tipi di autenticazione:
SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS: limita le richieste firmate dalle chiavi HMAC dell'account di servizio.USER_ACCOUNT_HMAC_SIGNED_REQUESTS: limita le richieste firmate dalle chiavi HMAC dell'account utente.RSA_SIGNED_REQUESTS: limita le richieste firmate dalle chiavi RSA.in:ALL_HMAC_SIGNED_REQUESTS: limita le richieste firmate da qualsiasi chiave HMAC. Se devi soddisfare i requisiti di sovranità dei dati, ti consigliamo di limitare tutte le richieste firmate con HMAC.in:ALL_SIGNED_REQUESTS: limita le richieste firmate da qualsiasi chiave HMAC o RSA.
Quando abiliti questo vincolo, si verifica quanto segue:
Cloud Storage limita l'accesso per le richieste autenticate con il tipo di autenticazione limitato. Le richieste non vanno a buon fine e viene visualizzato l'errore
403 Forbidden.Le entità che in precedenza erano autorizzate a eseguire la richiesta ricevono un messaggio di errore che spiega che il tipo di autenticazione è disabilitato.
Se le chiavi HMAC sono limitate:
Le chiavi HMAC del tipo limitato non possono più essere create o attivate nella risorsa su cui viene applicato il vincolo. Le richieste di creazione o attivazione delle chiavi HMAC non vanno a buon fine e viene visualizzato l'errore
403 Forbidden.Le chiavi HMAC esistenti rimangono, ma non sono più utilizzabili. Possono essere disattivate o eliminate, ma non riattivate.
Quando utilizzi il vincolo restrictAuthTypes, tieni presente le risorse esistenti che dipendono dall'autenticazione HMAC. Ad esempio, se hai eseguito la migrazione da Amazon Simple Storage Service (Amazon S3), la tua applicazione utilizza probabilmente le chiavi HMAC per autenticare le richieste a Cloud Storage. Puoi utilizzare la metrica di Cloud Monitoring storage.googleapis.com/authn/authentication_count per monitorare il numero di volte in cui le chiavi HMAC sono state utilizzate per autenticare le richieste.
Limita le richieste HTTP non criptate
Nome vincolo: constraints/storage.secureHttpTransport
Tipo di vincolo: boolean
Quando applichi il vincolo secureHttpTransport, viene negato l'accesso HTTP non criptato alle risorse di Cloud Storage.
- Per impostazione predefinita, l'API XML di Cloud Storage consente l'accesso HTTP non criptato.
CNAMEreindirizzamenti supportano solo l'accesso HTTP non criptato.
Vincoli aggiuntivi
I seguenti vincoli dei criteri dell'organizzazione si applicano in modo più generale a Google Cloud, ma vengono spesso applicati al servizio Cloud Storage service:
constraints/gcp.restrictNonCmekServices: richiede che gli oggetti nuovi e riscritti siano criptati utilizzando chiavi di crittografia gestite dal cliente e che i nuovi bucket impostino una chiave Cloud KMS come chiave di crittografia predefinita.constraints/gcp.restrictCmekCryptoKeyProjects: rifiuta le richieste a Cloud Storage se la richiesta include una chiave di crittografia gestita dal cliente e la chiave non appartiene a un progetto specificato dal vincolo. Allo stesso modo, rifiuta le richieste che creano o riscrivono un oggetto se l'oggetto deve essere criptato dalla chiave di crittografia predefinita del bucket e la chiave non appartiene a un progetto specificato dal vincolo.constraints/gcp.restrictTLSVersion: impedisce l'accesso a Cloud Storage tramite richieste effettuate utilizzando Transport Layer Security (TLS) 1.0 o 1.1.
Consenti o nega in modo condizionale i vincoli dei criteri dell'organizzazione
I tag forniscono un modo per consentire o negare in modo condizionale i criteri dell'organizzazione a seconda che un bucket Cloud Storage abbia un tag specifico. Per istruzioni dettagliate, consulta Impostazione di un criterio dell'organizzazione con tag.
Passaggi successivi
- Scopri di più sulla gerarchia delle risorse che si applica ai criteri dell'organizzazione.
- Per istruzioni su come utilizzare i vincoli e i criteri dell'organizzazione nella Google Cloud console, consulta Creazione e gestione dei criteri dell'organizzazione per istruzioni su come utilizzare i vincoli e i criteri dell'organizzazione.
- Per istruzioni su come utilizzare i vincoli e i criteri dell'organizzazione in gcloud CLI, consulta Utilizzo dei vincoli.
- Scopri di più sui vincoli personalizzati per Cloud Storage.
- Per i metodi API
pertinenti, ad esempio
projects.setOrgPolicy, consulta la documentazione di riferimento dell'API Resource Manager.