En esta página, se describe cómo usar la configuración del bucket de prevención del acceso público y la restricción de la política de la organización de prevención del acceso público. La prevención del acceso público te permite restringir el acceso público a tus buckets y objetos.
Antes de comenzar
Antes de usar la prevención de acceso público en Cloud Storage, asegúrate de tener el rol de IAM necesario y revisa las consideraciones para aplicar la prevención de acceso público.
Obtén las funciones necesarias
Para administrar la política de la organización de prevención de acceso público a nivel del proyecto, de la carpeta o de la organización, pídele a tu administrador que te otorgue el rol de Administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Este rol predefinido contiene los permisos necesarios para administrar la prevención del acceso público a nivel de proyecto, organización o carpeta. Para obtener información sobre los permisos que se incluyen en este rol, consulta los detalles sobre el rol de Administrador de la organización.
Para administrar la configuración de prevención de acceso público en un bucket, pídele a tu administrador que te otorgue el rol de administrador de almacenamiento (roles/storage.admin) en el bucket. Este rol contiene los permisos necesarios para administrar la prevención del acceso público en un bucket. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
storage.buckets.updatestorage.buckets.setIamPolicy
Para obtener información acerca de los otros permisos que se incluyen en el rol de Administrador de almacenamiento, consulta detalles sobre el rol de Administrador de almacenamiento.
Consultar las consideraciones
Antes de comenzar, se recomienda asegurarse de que los flujos de trabajo no fallen como resultado del bloqueo del acceso público. Consulta las Consideraciones para la aplicación forzosa en los recursos existentes para obtener más detalles.
Usa la configuración del bucket
En esta sección, se muestra cómo aplicar y quitar la prevención del acceso público para buckets individuales y cómo verificar el estado de los buckets individuales.
Configura la prevención del acceso público
Para cambiar el parámetro de configuración de prevención del acceso público de un bucket individual, haz lo siguiente:
Console
- En la consola de Google Cloud , ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket en el que deseas aplicar o quitar la prevención de acceso público.
En la página Detalles del bucket, haz clic en la pestaña Permisos.
En la tarjeta Acceso público, haz clic en Impide el acceso público para aplicar la prevención del acceso público o haz clic en Permitir acceso público para quitar la prevención del acceso público.
Haz clic en Confirmar.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la Google Cloud consola, consulta Solución de problemas.
Línea de comandos
Usa el comando gcloud storage buckets update con la marca adecuada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Donde:
BUCKET_NAMEes el nombre del bucket correspondiente. Por ejemplo,my-bucketFLAGes--public-access-preventionpara habilitar la prevención de acceso público o--no-public-access-preventiona fin de inhabilitarla.
Si se realiza de forma correcta, la respuesta se verá como el ejemplo siguiente:
Updating gs://my-bucket/... Completed 1
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
En el siguiente ejemplo, se aplica la prevención del acceso público a un bucket:
En el siguiente ejemplo, se establece la prevención del acceso público como inherited para un bucket:
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Crea un archivo JSON que contenga la siguiente información:
{ "iamConfiguration": { "publicAccessPrevention": "STATE", } }En el que
<var>STATE</var>esenforcedoinherited.Usa
cURLpara llamar a la API de JSON con una solicitud de bucketPATCHque incluya elfieldsdeseado: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"Donde:
JSON_FILE_NAMEes la ruta de acceso al archivo JSON que creaste en el paso anterior.BUCKET_NAMEes el nombre del bucket correspondiente. Por ejemplo,my-bucket.
API de XML
La API de XML no se puede usar para administrar la prevención del acceso público. En su lugar, usa una de las otras herramientas de Cloud Storage, como la Google Cloud consola.
Visualiza el estado de prevención de acceso público
Para ver el estado de prevención del acceso público de un bucket individual, haz lo siguiente:
Console
- En la consola de Google Cloud , ve a la página Buckets de Cloud Storage.
Haz clic en el nombre del bucket en el cual deseas ver el estado de prevención de acceso público.
Haz clic en la pestaña Permisos.
La tarjeta Acceso público muestra el estado de tu bucket.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la Google Cloud consola, consulta Solución de problemas.
Línea de comandos
Usa el comando gcloud storage buckets describe con la marca --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(public_access_prevention)"
En el ejemplo anterior, BUCKET_NAME es el nombre del bucket cuyo estado deseas ver. Por ejemplo, my-bucket
Si se realiza de forma correcta, la respuesta se verá como el ejemplo siguiente:
public_access_prevention:inherited
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Usa
cURLpara llamar a la API de JSON con una solicitud de bucketGETque incluya elfieldsdeseado:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
En el que
BUCKET_NAMEes el nombre del bucket correspondiente. Por ejemplo,my-bucketLa respuesta se ve como el siguiente ejemplo:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }En el que
FLAGesinheritedoenforced.
API de XML
La API de XML no se puede usar para administrar la prevención del acceso público. En su lugar, usa una de las otras herramientas de Cloud Storage, como la Google Cloud consola.
Usa la política de la organización
En esta sección, se muestra cómo aplicar y quitar la política de la organización de prevención del acceso público, y cómo verificar el estado de la política.
Configura la prevención del acceso público
Para configurar la prevención del acceso público a nivel del proyecto, de la carpeta o de la organización, haz lo siguiente:
Console
Sigue las instrucciones en Crea y administra políticas de la organización con la restricción storage.publicAccessPrevention.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la Google Cloud consola, consulta Solución de problemas.
Línea de comandos
Usa el comando gcloud beta resource-manager org-policies:
gcloud beta resource-manager org-policies STATE \ constraints/storage.publicAccessPrevention \ --RESOURCE RESOURCE_ID
Donde:
STATEpuede tener los siguientes valores:enable-enforce: Aplica la prevención del acceso público al recurso.disable-enforce: inhabilita la prevención del acceso público para el recurso.delete: Quita la restricción de la política de la organización del recurso, de modo que el recurso herede el valor de su recurso superior.
RESOURCEes el recurso para el que deseas configurar la prevención del acceso público. Por ejemplo,organization,projectofolder.RESOURCE_IDes el ID del recurso. Por ejemplo,123456789012para un ID de organización,245321para un ID de carpeta ymy-pet-projectpara un ID de proyecto.
Consulta Usa restricciones para obtener más instrucciones.
El siguiente es un ejemplo del resultado cuando usas disable-enforce:
etag: BwVJi0OOESU=
booleanPolicy: {}
constraint: constraints/storage.publicAccessPreventionVisualiza el estado de prevención de acceso público
Para ver el estado de prevención de acceso público a nivel del proyecto, de la carpeta o de la organización, sigue estos pasos:
Console
Sigue las instrucciones en Crea y administra políticas de la organización con la restricción storage.publicAccessPrevention.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la Google Cloud consola, consulta Solución de problemas.
Línea de comandos
Usa el comando describe --effective:
gcloud beta resource-manager org-policies describe \ constraints/storage.publicAccessPrevention --effective \ --RESOURCE RESOURCE_ID
Donde:
RESOURCEes el recurso para el que deseas ver el estado de prevención de acceso público. Por ejemplo,organization,projectofolder.RESOURCE_IDes el ID del recurso. Por ejemplo,123456789012para un ID de organización,245321para un ID de carpeta ymy-pet-projectpara un ID de proyecto.
Consulta Usa restricciones para obtener más instrucciones.