Questa pagina illustra l'impostazione del bucket per la prevenzione dell'accesso pubblico e le un vincolo del criterio dell'organizzazione per la prevenzione dell'accesso pubblico. Utilizzando uno dei due l'impostazione o il vincolo limita le entità, come gli utenti anonimi, internet a cui puoi accedere per i tuoi dati. Per una panoramica opzioni di controllo dell'accesso, consulta Panoramica del controllo dell'accesso.
Panoramica
La prevenzione dell'accesso pubblico protegge i bucket e gli oggetti di Cloud Storage dall'esposizione accidentale al pubblico. Quando imponi l'accesso pubblico della prevenzione, nessuno può rendere pubblici i dati nei bucket applicabili ACL o criteri IAM. Esistono due modi per imporre prevenzione dell'accesso:
Puoi applicare la prevenzione dell'accesso pubblico a singoli bucket.
Se il bucket è contenuto all'interno di un'organizzazione, puoi applicare in modo forzato Prevenzione dell'accesso mediante il vincolo dei criteri dell'organizzazione
storage.publicAccessPrevention
al a livello di progetto, cartella o organizzazione.
Dovresti usare la prevenzione dell'accesso pubblico?
Utilizza la prevenzione dell'accesso pubblico se sai che i tuoi dati non devono mai essere esposti su nella rete internet pubblica. Per garantire la massima sicurezza alle tue risorse, applica la prevenzione dell'accesso pubblico al livello più alto possibile della tua organizzazione.
Non utilizzare la prevenzione dell'accesso pubblico se devi mantenere il bucket pubbliche per casi d'uso come l'hosting di siti web statici. Per creare eccezioni per ad esempio bucket nelle organizzazioni che applicano altrimenti la prevenzione dell'accesso pubblico, disattiva la prevenzione dell'accesso pubblico al progetto specifico che contiene di sincronizzare la directory di una VM con un bucket.
Comportamento quando applicato
Le risorse soggette alla prevenzione dell'accesso pubblico si comportano come segue:
Richieste a bucket e oggetti autorizzati utilizzando
allUsers
eallAuthenticatedUsers
non riuscito con un codice di stato HTTP401
o403
.Criteri IAM e ACL esistenti che concedono l'accesso a
allUsers
eallAuthenticatedUsers
rimangono attive, ma vengono sostituite da reti pubbliche prevenzione dell'accesso.Richieste di creazione di bucket o oggetti con
allUsers
e L'erroreallAuthenticatedUsers
nei criteri IAM o negli ACL IAM ha esito negativo. con la seguente eccezione:- Se un bucket ha un ACL di oggetti predefinito contenente
allUsers
, richiede la creazione di oggetti nel bucket è andata a buon fine. Gli ACL per questi oggetti contengonoallUsers
, maallUsers
viene sostituito dalla prevenzione dell'accesso pubblico.
- Se un bucket ha un ACL di oggetti predefinito contenente
Richieste di aggiungere
allUsers
eallAuthenticatedUsers
a un Il criterio IAM o l'ACL non è riuscito con412 Precondition Failed
.
Ereditarietà
Anche se in un bucket non è applicata esplicitamente la prevenzione dell'accesso pubblico
e le sue impostazioni, potrebbe comunque ereditare la prevenzione dell'accesso pubblico, che si verifica
se il vincolo dei criteri dell'organizzazione storage.publicAccessPrevention
è
per il progetto, la cartella o l'organizzazione
in cui si trova il bucket. Per
Per questo motivo, lo stato del bucket può essere impostato solo su enforced
o inherited
.
Se i metadati di prevenzione dell'accesso pubblico di un bucket sono impostati su
enforced
, la prevenzione dell'accesso pubblico si applica al bucket.Se i metadati di prevenzione dell'accesso pubblico di un bucket sono impostati su
inherited
, la prevenzione dell'accesso pubblico Vincolo del criterio dell'organizzazionestorage.publicAccessPrevention
:Se
storage.publicAccessPrevention
è impostato suTrue
per il progetto che contiene il bucket, la prevenzione dell'accesso pubblico si applica di sincronizzare la directory di una VM con un bucket.Se
storage.publicAccessPrevention
è impostato suFalse
per il progetto che contiene il bucket, la prevenzione dell'accesso pubblico non si applica di sincronizzare la directory di una VM con un bucket.Se il criterio
storage.publicAccessPrevention
non è impostato per il progetto contiene il bucket, la prevenzione dell'accesso pubblico è determinata Valorestorage.publicAccessPrevention
impostato dall'eventuale cartella contiene il progetto.Allo stesso modo, se anche la cartella contenente il bucket non imposta valore per
storage.publicAccessPrevention
, quindi l'accesso pubblico La prevenzione è determinata dall'storage.publicAccessPrevention
impostato dall'organizzazione che contiene il progetto.Se il criterio
storage.publicAccessPrevention
non è impostato per nessuna risorsa, la prevenzione dell'accesso pubblico non si applica al bucket.
Comportamento se disattivato
Quando la prevenzione dell'accesso pubblico non si applica più per una risorsa, quanto segue si verifica:
Criteri IAM e ACL esistenti che concedono l'accesso a
allUsers
eallAuthenticatedUsers
diventano effettive e rendono i dati accessibili al pubblico.Richieste di creazione di criteri IAM o ACL che consentono l'accesso a
allUsers
eallAuthenticatedUsers
riusciti.Un oggetto creato nella prevenzione dell'accesso pubblico senza ACL pubblici potrebbe diventare accessibile al pubblico se creata in un bucket pubblicamente accessibile.
Puoi disabilitare la prevenzione dell'accesso pubblico per un progetto, una cartella o un'organizzazione
in qualsiasi momento. I bucket con un'impostazione enforced
continuano ad avere accesso pubblico
prevenzione forzata, anche se la disabiliti per un progetto, una cartella
che contiene il bucket.
Considerazioni
Quando applichi la prevenzione dell'accesso pubblico alle risorse esistenti, autorizzazione e le nuove aggiunte di
allUsers
eallAuthenticatedUsers
sono bloccato. Ciò può influire sui bucket nei seguenti modi:Se un'applicazione dipende da
allUsers
eallAuthenticatedUsers
per accedere ai dati o creare risorse pubbliche, abilitando l'accesso pubblico delle applicazioni può interrompere l'applicazione. Per informazioni su come identificare le risorse pubbliche alla quale potrebbero dipendere altre applicazioni attiva, espandi i seguenti contenuti:Come identificare le risorse pubbliche
Prima di applicare la prevenzione dell'accesso pubblico, è consigliabile fai un inventario delle tue risorse pubbliche per assicurarti di non interrompere di carichi di lavoro che dipendono dal fatto che i dati siano pubblici. Puoi individuare bucket, oggetti e cartelle gestite che sono pubblici utilizzando seguenti metodi:
- Per identificare i carichi di lavoro che potrebbero accedere ai tuoi dati pubblici, configurare i log di utilizzo, che può fornire informazioni sulle richieste di accesso ai dati inviate al pubblico. Google Cloud.
- Per determinare se un bucket potrebbe essere accessibile al pubblico,
verifica i criteri IAM del bucket.
Criteri che concedono
accesso in lettura all'entità "allUsers" o "allAuthenticatedUsers"
il bucket, potenzialmente accessibile al pubblico. Come alternativa
per ottenere il criterio IAM per i singoli bucket,
puoi utilizzare Cloud Asset Inventory
visualizzare i criteri per tutti i bucket in un progetto, in una cartella o in un'organizzazione.
Se sono presenti cartelle gestite nel tuo bucket, potresti anche voler verifica i criteri IAM delle cartelle gestite per identificare le cartelle gestite che potrebbero essere accessibili al pubblico. - Per determinare se i singoli oggetti potrebbero essere accessibili al pubblico, verifica se nell'oggetto sono presenti ACL. ACL che concedono l'accesso in lettura L'entità "allUsers" o "allAuthenticatedUsers" trasforma l'oggetto potenzialmente accessibili al pubblico.
Cloud Audit Logs non tiene traccia dell'accesso agli oggetti pubblici. Se I log di accesso ai dati vengono abilitati quando applichi la prevenzione dell'accesso pubblico, potresti notare un aumento della generazione dei log, che viene conteggiata ai fini del calcolo di importazione e può comportare addebiti di Cloud Audit Logs. Questo aumento potrebbe perché un accesso che in precedenza era pubblico e non registrato potrebbe diventare associate ad autorizzazioni specifiche, che vengono registrate.
URL firmati, che concedono a chiunque un accesso limitato nel tempo e con ambito ristretto che li utilizzano, non sono interessati dalla prevenzione dell'accesso pubblico.
I progetti non associati a un'organizzazione non possono utilizzare i criteri dell'organizzazione. I bucket all'interno di un progetto di questo tipo devono utilizzare l'impostazione a livello di bucket.
La prevenzione dell'accesso pubblico è elevata coerenza nelle letture dopo l'aggiornamento, ma l'applicazione potrebbe richiedere fino a 10 minuti.
Dopo l'inizio dell'applicazione, gli oggetti potrebbero essere ancora accessibili pubblicamente attraverso una cache internet per un certo periodo di tempo, a seconda dell'oggetto
Cache-Control
. Ad esempio, seCache-Control:max-age
se un oggetto è impostato sul valore predefinito di 3600 secondi, l'oggetto potrebbe nella cache di internet per quel periodo di tempo.
Passaggi successivi
- Scopri come utilizzare la prevenzione dell'accesso pubblico.
- Scopri di più sui criteri dell'organizzazione.