En esta página se describe cómo usar el ajuste de segmento de prevención de acceso público y la restricción de política de organización de prevención de acceso público. La prevención del acceso público te permite restringir el acceso público a tus segmentos y objetos.
Antes de empezar
Antes de usar la prevención de acceso público en Cloud Storage, asegúrate de tener el rol de gestión de identidades y accesos necesario y consulta las consideraciones para aplicar la prevención de acceso público.
Obtener los roles necesarios
Para gestionar la política de organización de prevención del acceso público a nivel de proyecto, carpeta u organización, pide a tu administrador que te asigne el rol Administrador de políticas de organización (roles/orgpolicy.policyAdmin
) en la organización. Este rol predefinido contiene los permisos necesarios para gestionar la medida que impide el acceso público a nivel de proyecto, carpeta u organización. Para obtener información sobre los permisos que incluye este rol, consulta los detalles del rol de administrador de la organización.
Para gestionar la configuración de prevención del acceso público en un segmento, pide a tu administrador que te conceda el rol Administrador de almacenamiento (roles/storage.admin
) en el segmento. Este rol contiene los permisos necesarios para gestionar la prevención del acceso público en un bucket. Para ver los permisos exactos que se necesitan, expande la sección Permisos necesarios:
Permisos obligatorios
storage.buckets.update
storage.buckets.setIamPolicy
Para obtener información sobre los demás permisos incluidos en el rol de administrador de almacenamiento, consulta los detalles del rol de administrador de almacenamiento.
Repasar cuestiones importantes
Antes de empezar, te recomendamos que te asegures de que no se interrumpa ningún flujo de trabajo como resultado de bloquear el acceso público. Para obtener más información, consulta Consideraciones al aplicar políticas en recursos ya creados.
Usar el ajuste de segmento
En esta sección se muestra cómo aplicar y quitar la prevención de acceso público en segmentos concretos, así como cómo comprobar el estado de cada segmento.
Configurar la prevención de acceso público
Para cambiar la configuración de prevención de acceso público de un segmento concreto, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento para el que quiera aplicar o quitar la prevención del acceso público.
En la página Detalles del segmento, haga clic en la pestaña Permisos.
En la tarjeta Acceso público, haz clic en Impedir acceso público para habilitar la prevención de acceso público o en Permitir acceso público para inhabilitarla.
Haz clic en Confirmar.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
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 segmento correspondiente. Por ejemplo,my-bucket
.FLAG
es--public-access-prevention
para habilitar la prevención de acceso público o--no-public-access-prevention
para inhabilitarla.
Si la solicitud se hace correctamente, la respuesta será similar a la del siguiente ejemplo:
Updating gs://my-bucket/... Completed 1
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se aplica la prevención del acceso público a un segmento:
En el siguiente ejemplo se configura la prevención de acceso público en inherited
para un segmento:
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, 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", } }
<var>STATE</var>
puede serenforced
oinherited
.Usa
cURL
para llamar a la API JSON con una solicitudPATCH
Bucket que incluya elfields
que quieras: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 del archivo JSON que has creado en el paso anterior.BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.
API XML
La API XML no se puede usar para gestionar la prevención de acceso público. Usa otra herramienta de Cloud Storage, como la Google Cloud consola.
Ver el estado de la prevención de acceso público
Para ver el estado de la prevención del acceso público de un segmento concreto, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
Haga clic en el nombre del segmento del que quiera ver el estado de prevención del acceso público.
Haz clic en la pestaña Permisos.
La tarjeta Acceso público muestra el estado de tu segmento.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
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)"
Donde BUCKET_NAME
es el nombre del contenedor cuyo estado quieres ver. Por ejemplo, my-bucket
.
Si la solicitud se hace correctamente, la respuesta será similar a la del siguiente ejemplo:
public_access_prevention:inherited
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API JSON con una solicitudGET
Bucket que incluya elfields
que quieras:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Donde
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.La respuesta tiene este aspecto:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }
FLAG
puede serinherited
oenforced
.
API XML
La API XML no se puede usar para gestionar la prevención de acceso público. Usa otra herramienta de Cloud Storage, como la Google Cloud consola.
Usar la política de organización
En esta sección se muestra cómo aplicar y quitar la política de organización de prevención del acceso público, así como cómo comprobar el estado de la política.
Configurar la prevención de acceso público
Para definir la opción que impide el acceso público a nivel de proyecto, carpeta u organización, sigue estos pasos:
Consola
Sigue las instrucciones de la sección Crear y gestionar políticas de organización para usar la restricción storage.publicAccessPrevention
.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
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 de acceso público al recurso.disable-enforce
: inhabilita la prevención del acceso público al recurso.delete
: quita la restricción de la política de organización del recurso para que este herede el valor de su recurso superior.
RESOURCE
es el recurso para el que quieres definir la 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 omy-pet-project
para un ID de proyecto.
Consulta más instrucciones en Usar restricciones.
A continuación, se muestra un ejemplo del resultado al usar disable-enforce
:
etag: BwVJi0OOESU= booleanPolicy: {} constraint: constraints/storage.publicAccessPrevention
Ver el estado de la prevención de acceso público
Para ver el estado de la prevención del acceso público a nivel de proyecto, carpeta u organización, sigue estos pasos:
Consola
Sigue las instrucciones de la sección Crear y gestionar políticas de organización para usar la restricción storage.publicAccessPrevention
.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
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 del que quieres 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 más instrucciones en Usar restricciones.