Questa pagina fornisce informazioni supplementari sui vincoli dei criteri dell'organizzazione che si applicano a Cloud Storage. Utilizza i vincoli per applicare i comportamenti dei bucket e degli oggetti a un intero progetto o a un'intera organizzazione. I vincoli dei criteri dell'organizzazione possono essere vincoli booleani o vincoli dell'elenco.
Limitazioni di Cloud Storage
I seguenti vincoli possono essere applicati a un criterio dell'organizzazione e relativi a Cloud Storage:
Applica la prevenzione dell'accesso pubblico
Nome vincolo: constraints/storage.publicAccessPrevention
Tipo vincolo: boolean
Quando applichi il vincolo publicAccessPrevention
a una risorsa,
l'accesso pubblico è limitato per tutti i bucket e gli oggetti, sia nuovi che
esistenti, all'interno della risorsa.
Tieni presente che l'attivazione o la disattivazione di publicAccessPrevention
può richiedere fino a 10
minuti prima di diventare effettiva.
Durata di conservazione dell'eliminazione temporanea
Nome vincolo: constraints/storage.softDeletePolicySeconds
Tipo vincolo: list
Quando applichi la limitazione softDeletePolicySeconds
, specifichi una o più durate come parte della limitazione. 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 esistente. Tuttavia, non influisce in altro modo sui bucket esistenti.
Se imposti più vincoli softDeletePolicySeconds
a diversi livelli di risorse, questi vengono applicati in modo gerarchico. Per questo motivo, è consigliabile impostare il campo inheritFromParent
su true
, in modo da garantire che vengano presi in considerazione anche i criteri a livelli superiori.
Durata del criterio di conservazione del bucket in secondi
Nome vincolo: constraints/storage.retentionPolicySeconds
Tipo vincolo: list
Quando applichi la limitazione retentionPolicySeconds
, specifichi una o più durate come parte della limitazione. Una volta impostati, i criteri di conservazione del bucket devono includere una delle durate specificate. retentionPolicySeconds
è obbligatorio quando crei nuovi bucket e quando aggiungi o aggiorni il periodo di conservazione di un bucket esistente. Tuttavia, non è obbligatorio per i bucket esistenti.
Se imposti più vincoli retentionPolicySeconds
a diversi livelli di risorse, questi vengono applicati in modo gerarchico. Per questo motivo, è consigliabile impostare il campo inheritFromParent
su true
, in modo da garantire che vengano presi in considerazione anche i criteri a livelli superiori.
Richiedi accesso uniforme a livello di bucket
Nome vincolo: constraints/storage.uniformBucketLevelAccess
Tipo vincolo: boolean
Quando applichi il vincolo uniformBucketLevelAccess
, i nuovi bucket devono attivare la funzionalità di accesso uniforme a livello di bucket e i bucket preesistenti con questa funzionalità attivata non possono disattivarla. Non è necessario attivare l'accesso uniforme a livello di bucket per i bucket preesistenti con accesso uniforme a livello di bucket disabilitato.
Modalità di audit logging dettagliato
Nome vincolo: constraints/gcp.detailedAuditLoggingMode
Tipo vincolo: boolean
Quando applichi il vincolo detailedAuditLoggingMode
, gli audit log associati alle operazioni di Cloud Storage contengono informazioni dettagliate su richieste e risposte. Questo vincolo è consigliato per l'utilizzo in combinazione con il blocco dei bucket e il blocco di conservazione degli oggetti per la ricerca di 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, i parametri di percorso e i 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 degli oggetti.
Quando utilizzi questa limitazione, 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. L'abilitazione o la disattivazione di
detailedAuditLoggingMode
può richiedere fino a 10 minuti per diventare effettiva.Le richieste e le risposte registrate vengono registrate in un formato generico che corrisponde ai nomi dei campi dell'API JSON.
Limitare i tipi di autenticazione
Nome vincolo: constraints/storage.restrictAuthTypes
Tipo 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 dell'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 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 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:
Le chiavi HMAC del tipo limitato non possono più essere create o attivate nella risorsa in cui viene applicato il vincolo. Le richieste di creazione o attivazione delle chiavi HMAC non riescono con l'errore
403 Forbidden
.Le chiavi HMAC esistenti rimangono, ma non sono più utilizzabili. Possono essere disattivati o eliminati, ma non possono essere 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),
è probabile che la tua applicazione utilizzi 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.
Limita le richieste HTTP non criptate
Nome vincolo: constraints/storage.secureHttpTransport
Tipo vincolo: boolean
Quando applichi il vincolo secureHttpTransport
, viene negato tutto l'accesso HTTP non criptato alle risorse Cloud Storage.
- Per impostazione predefinita, l'API XML di Cloud Storage 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 in tutto Google Cloud, ma spesso vengono applicati al servizio Cloud Storage:
constraints/gcp.restrictNonCmekServices
: per gli oggetti nuovi e riscritti, è richiesta la crittografia utilizzando le chiavi di crittografia gestite dal cliente e per i nuovi bucket è richiesta l'impostazione di una chiave Cloud KMS come chiave di crittografia predefinita.constraints/gcp.restrictCmekCryptoKeyProjects
: rifiuta le richieste a Cloud Storage se includono 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 verrebbe criptato dalla chiave di crittografia predefinita del bucket e questa 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.
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 la sezione 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 gestire i vincoli e i criteri dell'organizzazione nella console Google Cloud, consulta Creare e gestire i criteri dell'organizzazione.
- Consulta Utilizzare i vincoli per istruzioni su come utilizzare i vincoli e i criteri dell'organizzazione nella 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
.