Prevenzione dell'accesso pubblico

Configurazione

Questa pagina illustra l'impostazione del bucket per la prevenzione dell'accesso pubblico e il vincolo del criterio dell'organizzazione per la prevenzione dell'accesso pubblico correlato. L'utilizzo dell'impostazione o della limitazione 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, consulta Panoramica del controllo dell'accesso.

Panoramica

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

Devi utilizzare la prevenzione dell'accesso pubblico?

Utilizza la prevenzione dell'accesso pubblico se sai che i tuoi dati non devono mai essere esposti su internet. 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 fare eccezioni per questi bucket nelle organizzazioni che altrimenti applicano la prevenzione dell'accesso pubblico, disattiva la prevenzione dell'accesso pubblico nel progetto specifico che contiene il bucket.

Comportamento quando viene 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 vanno a buon fine con un codice di stato HTTP 401 o 403.

  • Criteri IAM e ACL esistenti che concedono l'accesso a allUsers e allAuthenticatedUsers rimangono attive, ma vengono sostituite da reti pubbliche prevenzione dell'accesso.

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

    • Se un bucket ha un ACL degli oggetti predefinito contenente allUsers, le richieste di creazione di oggetti in quel bucket vanno a buon fine. Le ACL per questi oggetti contengonoallUsers, ma allUsers viene sostituito dalla prevenzione dell'accesso pubblico.
  • Le richieste di aggiunta di allUsers e allAuthenticatedUsers a un criterio IAM o a un'ACL non vanno a buon fine con 412 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 è determinata dal vincolo del criterio dell'organizzazionestorage.publicAccessPrevention:

    • Se storage.publicAccessPrevention è impostato su True 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 su False 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 Valore storage.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 e allAuthenticatedUsers diventano effettive e rendono i dati accessibili al pubblico.

  • Richieste di creazione di criteri IAM o ACL che consentono l'accesso a allUsers e allAuthenticatedUsers riusciti.

  • Un oggetto creato con la prevenzione dell'accesso pubblico senza ACL pubblici potrebbe diventare accessibile al pubblico se è stato creato in un bucket accessibile pubblicamente.

Puoi disattivare 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 e allAuthenticatedUsers sono bloccato. Ciò può influire sui bucket nei seguenti modi:

    • Se un'applicazione dipende da allUsers e allAuthenticatedUsers 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:

    • I log di controllo di Cloud non monitorano l'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 verificarsi perché l'accesso che in precedenza era pubblico e non registrato potrebbe essere associato a 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.

  • Una volta iniziata l'applicazione, gli oggetti potrebbero essere ancora accessibili pubblicamente tramite una cache di internet per un determinato periodo di tempo, a seconda dell'impostazione Cache-Control degli oggetti. Ad esempio, se il valore Cache-Control:max-age per un oggetto è impostato sul valore predefinito di 3600 secondi, l'oggetto potrebbe persistere in una cache di internet per questo periodo di tempo.

Passaggi successivi