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.update
storage.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 consola de Google Cloud, 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_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
FLAG
es--public-access-prevention
para habilitar la prevención de acceso público o--no-public-access-prevention
a 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>
esenforced
oinherited
.Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
que incluya lafields
deseada: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_NAME
es la ruta de acceso al archivo JSON que creaste en el paso anterior.BUCKET_NAME
es 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. Usa una de las otras herramientas de Cloud Storage, como la consola de Google Cloud, en su lugar.
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 consola de Google Cloud, 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
cURL
para llamar a la API de JSON con una solicitud de bucketGET
que incluya lafields
deseada: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_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
La respuesta se ve como el siguiente ejemplo:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }
En el que
FLAG
esinherited
oenforced
.
API de XML
La API de XML no se puede usar para administrar la prevención del acceso público. Usa una de las otras herramientas de Cloud Storage, como la consola de Google Cloud, en su lugar.
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 acerca de cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, 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:
STATE
puede 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.
RESOURCE
es el recurso para el que deseas configurar la prevención del acceso público. Por ejemplo,organization
,project
ofolder
.RESOURCE_ID
es el ID del recurso. Por ejemplo,123456789012
para un ID de organización,245321
para un ID de carpeta ymy-pet-project
para 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.publicAccessPrevention
Visualiza 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 acerca de cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, 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:
RESOURCE
es el recurso para el que deseas ver el estado de prevención de acceso público. Por ejemplo,organization
,project
ofolder
.RESOURCE_ID
es el ID del recurso. Por ejemplo,123456789012
para un ID de organización,245321
para un ID de carpeta ymy-pet-project
para un ID de proyecto.
Consulta Usa restricciones para obtener más instrucciones.