In questa pagina viene descritto come utilizzare l'impostazione del bucket per la prevenzione dell'accesso pubblico e il vincolo del criterio dell'organizzazione per la prevenzione dell'accesso pubblico. La prevenzione dell'accesso pubblico consente di limitare l'accesso pubblico ai bucket e agli oggetti.
Prima di iniziare
Prima di utilizzare la prevenzione dell'accesso pubblico in Cloud Storage, assicurati di disporre del ruolo IAM richiesto ed esamina le considerazioni per applicare la prevenzione dell'accesso pubblico.
Recupera i ruoli richiesti
Per gestire il criterio dell'organizzazione per la prevenzione dell'accesso pubblico a livello di progetto, cartella o organizzazione, chiedi all'amministratore di concederti il ruolo Amministratore criteri organizzazione (roles/orgpolicy.policyAdmin
) per l'organizzazione. Questo ruolo predefinito contiene le autorizzazioni necessarie per gestire la prevenzione dell'accesso pubblico a livello di progetto, cartella o organizzazione. Per informazioni sulle autorizzazioni incluse in questo ruolo, consulta i dettagli sul ruolo Amministratore organizzazione#39;organizzazione.
Per gestire l'impostazione per la prevenzione dell'accesso pubblico in un bucket, chiedi all'amministratore di concederti il ruolo Amministratore Storage (roles/storage.admin
) per il bucket. Questo ruolo contiene le autorizzazioni necessarie per gestire la prevenzione dell'accesso pubblico in un bucket. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
storage.buckets.update
storage.buckets.setIamPolicy
Per informazioni sulle altre autorizzazioni incluse nel ruolo Amministratore Storage, consulta i dettagli sul ruolo Amministratore Storage.
Esamina le considerazioni
Prima di iniziare, ti consigliamo di assicurarti che i flussi di lavoro non vengano interrotti a causa del blocco dell'accesso pubblico. Per ulteriori dettagli, consulta Considerazioni sull'applicazione delle risorse esistenti.
Utilizza l'impostazione del bucket
Questa sezione mostra come applicare e rimuovere la prevenzione dell'accesso pubblico per singoli bucket, nonché come controllare lo stato di singoli bucket.
Imposta la prevenzione dell'accesso pubblico
Per modificare l'impostazione per la prevenzione dell'accesso pubblico per un singolo bucket:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket per cui vuoi applicare o rimuovere la prevenzione dell'accesso pubblico.
Nella pagina Dettagli bucket, fai clic sulla scheda Autorizzazioni.
Nella scheda Accesso pubblico, fai clic su Impedisci accesso pubblico per applicare la prevenzione dell'accesso pubblico oppure fai clic su Consenti accesso pubblico per rimuovere la prevenzione dell'accesso pubblico.
Fai clic su Conferma.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud, consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets update
con il flag appropriato:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Dove:
BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.FLAG
è--public-access-prevention
per abilitare la prevenzione dell'accesso pubblico o--no-public-access-prevention
per disabilitarlo.
In caso di esito positivo, la risposta sarà simile al seguente esempio:
Updating gs://my-bucket/... Completed 1
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
L'esempio seguente applica la prevenzione dell'accesso pubblico in un bucket:
L'esempio seguente imposta la prevenzione dell'accesso pubblico su inherited
per un bucket:
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "iamConfiguration": { "publicAccessPrevention": "STATE", } }
Dove
<var>STATE</var>
èenforced
oinherited
.Utilizza
cURL
per chiamare l'API JSON con una richiesta bucketPATCH
che include il valorefields
desiderato:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Dove:
JSON_FILE_NAME
è il percorso del file JSON creato nel passaggio precedente.BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.
API XML
L'API XML non può essere utilizzata per gestire la prevenzione dell'accesso pubblico. Utilizza uno degli altri strumenti di Cloud Storage, come la console Google Cloud.
Visualizza lo stato di prevenzione dell'accesso pubblico
Per visualizzare lo stato di prevenzione dell'accesso pubblico per un singolo bucket:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Fai clic sul nome del bucket di cui vuoi visualizzare lo stato di prevenzione dell'accesso pubblico.
Fai clic sulla scheda Autorizzazioni.
La scheda Accesso pubblico mostra lo stato del bucket.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud, consulta Risoluzione dei problemi.
Riga di comando
Utilizza il comando gcloud storage buckets describe
con il flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(public_access_prevention)"
Dove BUCKET_NAME
è il nome del bucket
di cui vuoi visualizzare lo stato, Ad esempio, my-bucket
.
In caso di esito positivo, la risposta sarà simile al seguente esempio:
public_access_prevention:inherited
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Utilizza
cURL
per chiamare l'API JSON con una richiesta bucketGET
che include il valorefields
desiderato:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Dove
BUCKET_NAME
è il nome del bucket pertinente. Ad esempio,my-bucket
.La risposta è simile al seguente esempio:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }
Dove
FLAG
èinherited
oenforced
.
API XML
L'API XML non può essere utilizzata per gestire la prevenzione dell'accesso pubblico. Utilizza uno degli altri strumenti di Cloud Storage, come la console Google Cloud.
Utilizza il criterio dell'organizzazione
Questa sezione mostra come applicare e rimuovere il criterio dell'organizzazione per la prevenzione dell'accesso pubblico, nonché come controllarne lo stato.
Imposta la prevenzione dell'accesso pubblico
Per impostare la prevenzione dell'accesso pubblico a livello di progetto, cartella o organizzazione:
Console
Segui le istruzioni riportate in Creazione e gestione dei criteri dell'organizzazione utilizzando il vincolo storage.publicAccessPrevention
.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud, consulta Risoluzione dei problemi.
Riga di comando
Usa il comando gcloud beta resource-manager org-policies
:
gcloud beta resource-manager org-policies STATE \ constraints/storage.publicAccessPrevention \ --RESOURCE RESOURCE_ID
Dove:
STATE
può avere i seguenti valori:enable-enforce
: applica la prevenzione dell'accesso pubblico per la risorsa.disable-enforce
: disabilita la prevenzione dell'accesso pubblico per la risorsa.delete
: rimuovi il vincolo del criterio dell'organizzazione dalla risorsa in modo che la risorsa erediti il valore della risorsa padre.
RESOURCE
è la risorsa per cui vuoi impostare la prevenzione dell'accesso pubblico. Ad esempio,organization
,project
ofolder
.RESOURCE_ID
è l'ID della risorsa. Ad esempio,123456789012
per un ID organizzazione,245321
per un ID cartella omy-pet-project
per un ID progetto.
Per ulteriori istruzioni, consulta la sezione Utilizzo dei vincoli.
Di seguito è riportato un esempio dell'output quando utilizzi disable-enforce
:
etag: BwVJi0OOESU= booleanPolicy: {} constraint: constraints/storage.publicAccessPrevention
Visualizza lo stato di prevenzione dell'accesso pubblico
Per visualizzare lo stato della prevenzione dell'accesso pubblico a livello di progetto, cartella o organizzazione:
Console
Segui le istruzioni riportate in Creazione e gestione dei criteri dell'organizzazione utilizzando il vincolo storage.publicAccessPrevention
.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud, consulta Risoluzione dei problemi.
Riga di comando
Usa il comando describe --effective
:
gcloud beta resource-manager org-policies describe \ constraints/storage.publicAccessPrevention --effective \ --RESOURCE RESOURCE_ID
Dove:
RESOURCE
è la risorsa per cui vuoi visualizzare lo stato di prevenzione dell'accesso pubblico. Ad esempio,organization
,project
ofolder
.RESOURCE_ID
è l'ID della risorsa. Ad esempio,123456789012
per un ID organizzazione,245321
per un ID cartella emy-pet-project
per un ID progetto.
Per ulteriori istruzioni, consulta la sezione Utilizzo dei vincoli.