Prevenzione dell'accesso pubblico

Configurazione

Questa pagina illustra l'impostazione del bucket per la prevenzione dell'accesso pubblico e il relativo vincolo del criterio dell'organizzazione per la prevenzione dell'accesso pubblico. L'utilizzo dell'impostazione o del vincolo limita le entità, ad esempio gli utenti anonimi su internet, a cui può essere concesso l'accesso ai tuoi dati. Per una panoramica delle opzioni di controllo dell'accesso dell'accesso, consulta la Panoramica del controllo dell'accesso.

Panoramica

La prevenzione dell'accesso pubblico protegge i bucket e gli oggetti Cloud Storage dall'esposizione accidentale al pubblico. Quando applichi la prevenzione dell'accesso pubblico, nessuno può rendere pubblici i dati dei bucket applicabili tramite ACL o criteri IAM. Esistono due modi per applicare la prevenzione dell'accesso pubblico:

Dovresti usare la prevenzione dell'accesso pubblico?

Usa la prevenzione dell'accesso pubblico se sai che i tuoi dati non devono mai essere esposti sulla 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 pubblico per casi d'uso come l'hosting di siti web statici. Per creare eccezioni per questi bucket nelle organizzazioni che comunque applicano la prevenzione dell'accesso pubblico, disabilita la prevenzione dell'accesso pubblico per il progetto specifico che contiene il bucket.

Comportamento quando applicato

Le risorse soggette alla prevenzione dell'accesso pubblico hanno il seguente comportamento:

  • Le richieste ai bucket e agli oggetti autorizzati utilizzando allUsers e allAuthenticatedUsers non riescono con un codice di stato HTTP 401 o 403.

  • I criteri IAM e gli ACL esistenti che concedono l'accesso a allUsers e allAuthenticatedUsers rimangono in vigore, ma sono sostituiti dalla prevenzione dell'accesso pubblico.

  • Le richieste di creazione di bucket o oggetti con allUsers e allAuthenticatedUsers nei criteri o negli ACL IAM non vanno a buon fine, con la seguente eccezione:

    • Se un bucket ha un ACL di oggetto predefinito contenente allUsers, le richieste di creazione di oggetti in quel bucket hanno esito positivo. Gli ACL di questi oggetti contengono allUsers, ma allUsers è sovrascritto dalla prevenzione dell'accesso pubblico.
  • Le richieste di aggiunta di allUsers e allAuthenticatedUsers a un criterio IAM o a un ACL non riescono con 412 Precondition Failed.

Ereditarietà

Anche se a un bucket non è stata applicata esplicitamente la prevenzione dell'accesso pubblico nelle impostazioni, potrebbe comunque ereditare la prevenzione dell'accesso pubblico, che si verifica se il vincolo del criterio dell'organizzazione storage.publicAccessPrevention è impostato sul progetto, sulla cartella o sull'organizzazione all'interno del bucket. 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 è determinata dal vincolo del criterio dell'organizzazione storage.publicAccessPrevention:

    • Se storage.publicAccessPrevention è impostato su True per il progetto che contiene il bucket, la prevenzione dell'accesso pubblico si applica al bucket.

    • Se storage.publicAccessPrevention è impostato su False per il progetto che contiene il bucket, la prevenzione dell'accesso pubblico non viene applicata al bucket.

    • Se storage.publicAccessPrevention non è impostato per il progetto che contiene il bucket, la prevenzione dell'accesso pubblico è determinata dal valore storage.publicAccessPrevention impostato dalla cartella che contiene il progetto.

      • Allo stesso modo, se anche la cartella contenente il bucket non imposta alcun valore per storage.publicAccessPrevention, la prevenzione dell'accesso pubblico è determinata dal valore storage.publicAccessPrevention impostato dall'organizzazione che contiene il progetto.

      • Se 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 è più applicabile per una risorsa, si verifica quanto segue:

  • I criteri e gli ACL IAM esistenti che concedono l'accesso a allUsers e allAuthenticatedUsers hanno effetto e rendono i dati accessibili al pubblico.

  • Le richieste per creare criteri o ACL IAM che consentono l'accesso a allUsers e allAuthenticatedUsers hanno esito positivo.

  • Un oggetto creato in ambito di prevenzione dell'accesso pubblico senza ACL pubblici può diventare accessibile al pubblico se è stato creato in un bucket accessibile pubblicamente.

Puoi disabilitare la prevenzione dell'accesso pubblico per un progetto, una cartella o un'organizzazione in qualsiasi momento. Ai bucket con un'impostazione enforced continua a essere applicata la prevenzione dell'accesso pubblico, anche se li disabiliti per un progetto, una cartella o un'organizzazione che contiene il bucket.

Considerazioni

  • Quando applichi la prevenzione dell'accesso pubblico alle risorse esistenti, tutte le autorizzazioni esistenti e le nuove aggiunte di allUsers e allAuthenticatedUsers vengono bloccate. Questo può influire sui tuoi bucket nei seguenti modi:

    • Se un'applicazione dipende da allUsers e allAuthenticatedUsers per l'accesso ai tuoi dati o per la creazione di risorse pubbliche, abilitare la prevenzione dell'accesso pubblico può interrompere l'applicazione.

    • Audit log Cloud non tiene traccia dell'accesso agli oggetti pubblici. Se i log di accesso ai dati sono abilitati quando applichi la prevenzione dell'accesso pubblico, potresti notare un aumento nella generazione dei log, che viene conteggiato ai fini della quota di importazione dei log e può comportare addebiti per Cloud Audit Logs. Questo aumento potrebbe verificarsi perché l'accesso precedentemente pubblico e non registrato potrebbe essere associato ad autorizzazioni specifiche, che vengono registrate.

  • Gli URL firmati, che offrono un accesso limitato nel tempo e limitato a chiunque li utilizzi, 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 è vivamente coerente per la lettura dopo l'aggiornamento, ma l'applicazione può richiedere fino a 10 minuti.

  • Dopo l'inizio dell'applicazione forzata, gli oggetti potrebbero essere ancora accessibili pubblicamente tramite una cache internet per un certo periodo di tempo, a seconda dell'impostazione Cache-Control degli oggetti. Ad esempio, se l'Cache-Control:max-age per un oggetto è impostato sul valore predefinito di 3600 secondi, l'oggetto potrebbe rimanere in una cache internet per quel periodo di tempo.

Passaggi successivi