Questa pagina fornisce informazioni aggiuntive sui vincoli dei criteri dell'organizzazione che si applicano a Cloud Storage. Utilizza i vincoli per applicare i comportamenti di bucket e oggetti in tutto il progetto o in un'intera organizzazione. I vincoli dei criteri dell'organizzazione possono essere boolean constraints o vincoli di elenco.
Vincoli di Cloud Storage
I seguenti vincoli possono essere applicati a un criterio dell'organizzazione e si riferiscono a 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 la risorsa.
Tieni presente che l'attivazione o la disattivazione di publicAccessPrevention
potrebbe richiedere fino a 10
minuti per diventare effettiva.
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 si crea un nuovo bucket e quando si aggiunge o aggiorna la durata di conservazione dell'eliminazione temporanea (softDeletePolicy.retentionDuration
) di un bucket preesistente. Tuttavia, questo non influisce sui bucket preesistenti.
Se imposti più vincoli softDeletePolicySeconds
a livelli di risorsa diversi, questi vengono applicati in modo gerarchico. Per questo motivo, ti consigliamo di impostare il campo inheritFromParent
su true
, che garantisce che vengano presi in considerazione anche i criteri ai 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 impostati, i criteri di conservazione del bucket devono includere una delle durate specificate. retentionPolicySeconds
è obbligatorio quando si creano nuovi bucket e quando si aggiunge o aggiorna il periodo di conservazione di un bucket preesistente. Tuttavia, non è richiesto per i bucket preesistenti.
Se imposti più vincoli retentionPolicySeconds
a livelli di risorsa diversi, questi vengono applicati in modo gerarchico. Per questo motivo, ti consigliamo di impostare il campo inheritFromParent
su true
, che garantisce che vengano presi in considerazione anche i criteri ai livelli superiori.
Richiedi un 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 i bucket preesistenti con accesso uniforme a livello di bucket disabilitato.
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 richiesta e risposta. Ti consigliamo di utilizzare questo vincolo in
congiunzione con il blocco di bucket e il blocco di conservazione degli oggetti quando
cerca varie conformità, ad esempio 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 del percorso e parametri del corpo della richiesta. I log escludono alcune parti delle richieste e delle 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 oggetto non elaborati.
Quando utilizzi questo vincolo, tieni presente quanto segue:
- Non sono garantite informazioni dettagliate su richieste e risposte; in rari casi, potrebbero essere restituiti log vuoti.
- L'abilitazione di
detailedAuditLoggingMode
aumenta la quantità di dati archiviati negli audit log, il che potrebbe influire sugli addebiti di Cloud Logging per i log di accesso ai dati. L'attivazione o la disattivazione di
detailedAuditLoggingMode
richiede 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.
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 limitata non vanno a buon fine, indipendentemente dalla validità della richiesta. Puoi utilizzare il vincolo restrictAuthTypes
per limitare le chiavi HMAC al fine di 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 del 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 degli account di servizio.USER_ACCOUNT_HMAC_SIGNED_REQUESTS
: limita le richieste firmate dalle chiavi HMAC dell'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 abiliti questo vincolo, si verifica quanto segue:
Cloud Storage limita l'accesso per le richieste autenticate con il tipo di autenticazione limitata. Le richieste non vanno a buon fine e viene restituito l'errore
403 Forbidden
.Le entità precedentemente 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 di tipo limitato non possono più essere create o attivate nella risorsa a cui è applicato il vincolo. Le richieste di creazione o attivazione di chiavi HMAC non vanno a buon fine e viene restituito l'errore
403 Forbidden
.Le chiavi HMAC esistenti rimangono, ma non sono più utilizzabili. Possono essere disattivate o eliminate, ma non possono essere 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 probabilmente utilizza le chiavi HMAC per autenticare le richieste a Cloud Storage. Puoi utilizzare la metrica di Cloud Monitoring storage.googleapis.com/authn/authentication_count
per tenere traccia del 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
, vengono negati tutti gli accessi HTTP non criptati alle risorse di 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 più in generale in tutto Google Cloud, ma spesso vengono applicati al servizio Cloud Storage:
constraints/gcp.restrictNonCmekServices
: richiedi la crittografia di oggetti nuovi e riscritti 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. Allo stesso modo, rifiuta le richieste che creano o riscrivono un oggetto se quest'ultimo è 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 dalle 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 Impostare un criterio dell'organizzazione con i tag.
Passaggi successivi
- Scopri la gerarchia delle risorse che si applica ai criteri dell'organizzazione.
- Per istruzioni sull'utilizzo dei vincoli e dei criteri dell'organizzazione nella console Google Cloud, consulta la pagina Creazione e gestione dei criteri dell'organizzazione.
- Consulta Utilizzo dei vincoli per le istruzioni sull'utilizzo dei vincoli e dei criteri dell'organizzazione in gcloud CLI.
- Scopri di più sui vincoli personalizzati per Cloud Storage.
- Consulta la documentazione di riferimento dell'API Resource Manager per conoscere i metodi API pertinenti, tra cui
projects.setOrgPolicy
.