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 organizzazione. I vincoli dei criteri dell'organizzazione possono essere vincoli booleani o vincoli di elenco.
Tieni presente che l'applicazione o la disattivazione di eventuali vincoli 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 riguardano Cloud Storage:
Applica la prevenzione dell'accesso pubblico
Nome vincolo: constraints/storage.publicAccessPrevention
Tipo di vincolo: boolean
Quando applichi il vincolo publicAccessPrevention
a una risorsa,
l'accesso pubblico è limitato per tutti i bucket e gli oggetti, nuovi ed esistenti, sotto quella 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ù
durate come parte del vincolo. Una volta impostato, il criterio di eliminazione temporanea del bucket deve includere una delle durate specificate.
softDeletePolicySeconds
è obbligatorio quando crei un nuovo bucket e quando aggiungi
o aggiorni la durata di conservazione dell'eliminazione temporanea
(softDeletePolicy.retentionDuration
) di un bucket preesistente; tuttavia,
non influisce in altro modo sui bucket preesistenti.
Se imposti più vincoli softDeletePolicySeconds
a diversi livelli di risorse, questi vengono applicati gerarchicamente. Per questo motivo, ti consigliamo
di impostare il campo inheritFromParent
su true
, in modo da garantire che
vengano presi in considerazione anche i criteri dei livelli superiori.
Durata del criterio 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
del 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 è altrimenti richiesto per i
bucket preesistenti.
Se imposti più vincoli retentionPolicySeconds
a diversi livelli di risorse, questi vengono applicati gerarchicamente. Per questo motivo, ti consigliamo
di impostare il campo inheritFromParent
su true
, in modo da garantire che
vengano presi in considerazione anche i criteri dei livelli superiori.
Richiedere l'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 disabilitarla. Non è necessario abilitare l'accesso uniforme a livello di bucket per i bucket preesistenti con l'opzione disabilitata.
Modalità audit logging dettagliato
Nome vincolo: constraints/gcp.detailedAuditLoggingMode
Tipo di vincolo: boolean
Quando applichi il vincolo detailedAuditLoggingMode
, Cloud Audit Logs registra
le informazioni associate alle operazioni di Cloud Storage contenenti informazioni dettagliate su richieste
e risposte. Ti consigliamo di utilizzare questo vincolo in
combinazione con il blocco dei bucket e il blocco della conservazione degli oggetti 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-Signature
oupload-id
. - Informazioni sulla chiave di crittografia, ad esempio
x-goog-encryption-key
. - Dati non elaborati dell'oggetto.
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'attivazione di
detailedAuditLoggingMode
aumenta la quantità di dati archiviati nei log di controllo, 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 Cloud Storage che utilizzano 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 per soddisfare i requisiti normativi o aumentare
la sicurezza dei tuoi dati.
Il vincolo di elenco nega esplicitamente tipi di autenticazione specifici, mentre
consente tutti gli altri. A tale scopo, devi elencare i tipi di autenticazione con limitazioni nella chiave deniedValues
all'interno di rules
del vincolo restrictAuthTypes
. Si verifica un errore se provi a elencare i tipi di autenticazione con limitazioni
nella chiave allowedValues
.
Puoi limitare i seguenti tipi di autenticazione:
SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS
: Limita le richieste firmate dalle chiavi HMAC del service account.USER_ACCOUNT_HMAC_SIGNED_REQUESTS
: limita le richieste firmate dalle chiavi HMAC degli account utente.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.
Quando attivi 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 con l'errore
403 Forbidden
.Le entità precedentemente autorizzate a eseguire la richiesta ricevono un messaggio di errore che spiega che il tipo di autenticazione è disattivato.
Se le chiavi HMAC sono limitate:
Non è più possibile creare o attivare chiavi HMAC di tipo con limitazioni 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 disattivati o eliminati, ma non riattivati.
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 chiavi HMAC per autenticare le richieste a
Cloud Storage. Puoi utilizzare la metrica 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.
Limitare le richieste HTTP non criptate
Nome vincolo: constraints/storage.secureHttpTransport
Tipo di vincolo: boolean
Quando applichi il vincolo secureHttpTransport
, tutto l'accesso HTTP non criptato
alle risorse Cloud Storage viene negato.
- Per impostazione predefinita, l'API Cloud Storage XML consente l'accesso HTTP non criptato.
- I reindirizzamenti
CNAME
supportano solo l'accesso HTTP non criptato.
Vincoli aggiuntivi
I seguenti vincoli dei criteri dell'organizzazione si applicano in modo più generale inGoogle Cloud, ma vengono spesso applicati al servizio Cloud Storage:
constraints/gcp.restrictNonCmekServices
: richiedi che gli oggetti nuovi e riscritti vengano criptati utilizzando chiavi di crittografia gestite dal cliente e richiedi 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. Analogamente, rifiuta le richieste che creano o riscrivono un oggetto se l'oggetto deve essere criptato dalla chiave di crittografia predefinita del bucket e questa chiave non appartiene a un progetto specificato dal vincolo.constraints/gcp.restrictTLSVersion
: impedisci l'accesso a Cloud Storage tramite richieste effettuate utilizzando Transport Layer Security (TLS) 1.0 o 1.1.
Consentire o negare 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 alle policy dell'organizzazione.
- Per istruzioni su come utilizzare i vincoli e le policy dell'organizzazione nella console Google Cloud , consulta la pagina Creazione e gestione dei criteri dell'organizzazione.
- Consulta Utilizzo dei vincoli per istruzioni su come utilizzare i vincoli e le policy dell'organizzazione in gcloud CLI.
- Scopri di più sui vincoli personalizzati per Cloud Storage.
- Consulta la documentazione di riferimento dell'API Resource Manager per i metodi API pertinenti, ad esempio
projects.setOrgPolicy
.