En esta página, se muestra cómo habilitar, inhabilitar y verificar el estado del acceso uniforme a nivel de bucket en un bucket en Cloud Storage.
Requisitos previos
Antes de usar esta función en Cloud Storage, debes llevar a cabo estas acciones:
Tener permiso suficiente para ver y actualizar depósitos en Cloud Storage:
Si propietario del proyecto que contiene el bucket, es probable que tengas los permisos necesarios.
Debes tener los permisos de IAM
storage.buckets.update
ystorage.buckets.get
en el depósito pertinente. Consulta Usa permisos de IAM a fin de obtener instrucciones para obtener una función que tenga estos permisos, como Administrador de almacenamiento.
Verifica el uso de la LCA
Antes de habilitar el acceso uniforme a nivel de bucket, usa Cloud Monitoring a fin de asegurarte de que tu bucket no use LCA para ningún flujo de trabajo. Para obtener más información, consulta la sección Verifica el uso de las LCA de objeto.
Console
Si quieres usar el Explorador de métricas para ver las métricas de un recurso supervisado, sigue estos pasos:
- En Google Cloud Console, ve a la página Supervisión.
Si nunca usaste Cloud Monitoring, entonces, en tu primer acceso a Monitoring en Google Cloud Console, se creará un lugar de trabajo de forma automática y tu proyecto se asociará con ese lugar de trabajo. De lo contrario, si el proyecto no está asociado con un lugar de trabajo, aparecerá un diálogo y podrás crear uno o agregar tu proyecto a un lugar de trabajo existente. Te recomendamos que crees un lugar de trabajo. Después de realizar la selección, haz clic en Agregar.
- En el panel de navegación de Monitoring, haz clic en
Explorador de métricas.
- Asegúrate de que esté seleccionada la pestaña Métrica.
- En el campo Find resource type and metric, selecciona el recurso y la métrica en el menú o ingresa sus nombres. Usa la siguiente información para completar los campos:
- En Recurso, selecciona o ingresa gcs_bucket.
- En Métrica, selecciona o ingresa Uso de LCA.
- Para modificar cómo se muestran los datos, usa los menús Filtro, Agrupar por y Agregador. Por ejemplo, para agrupar los datos por operación de LCA y depósito, selecciona acl_operation en Agrupar por y sumar en Aggregator. Para obtener más información, consulta Selecciona métricas.
Consulta storage
para obtener una lista completa de las métricas disponibles en Cloud Storage. Para obtener información sobre las series temporales, consulta Métricas, series temporales y recursos.
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Usa
cURL
para llamar a la API de JSON de Monitoring:curl \ 'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22storage.googleapis.com%2Fauthz%2Facl_operations_count%22&interval.endTime=END_TIME&interval.startTime=START_TIME' \ --header 'Authorization: Bearer OAUTH2_TOKEN' \ --header 'Accept: application/json'
Donde:
PROJECT_ID
es el número o ID del proyecto del que deseas ver el uso de la LCA. Por ejemplo,my-project
.END_TIME
es el final del intervalo de tiempo en el que deseas ver el uso de la LCA. Por ejemplo,2019-11-02T15:01:23.045123456Z
.START_TIME
es el inicio del intervalo de tiempo en el que deseas ver el uso de la LCA. Por ejemplo,2016-10-02T15:01:23.045123456Z
.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.
Si la solicitud muestra un objeto vacío {}
, no hay un uso reciente de la LCA para tu proyecto.
Habilita el acceso uniforme a nivel de bucket
Para habilitar el acceso uniforme a nivel de bucket en tu bucket, sigue estos pasos:
Console
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador de Cloud Storage En la lista de bucket s, haz clic en el nombre del bucket deseado.
Selecciona la pestaña Permisos cerca de la parte superior de la página.
En el cuadro de texto llamado Control de acceso, haz clic en Cambiar a uniforme.
En el menú emergente que aparece, selecciona Uniforme.
Haz clic en Guardar.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
gsutil
Usa la opción on
en un comando uniformbucketlevelaccess set
:
gsutil uniformbucketlevelaccess set on gs://BUCKET_NAME
En el ejemplo anterior, BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo, my-bucket
.
Si se ejecuta de forma correcta, la respuesta se ve de la siguiente manera:
Enabling uniform bucket-level access for gs://test-bucket/...
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Crea un archivo .json que contenga la siguiente información:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true } } }
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Donde:
JSON_FILE_NAME
es el nombre del archivo que creaste en el paso 2.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del depósito correspondiente. Por ejemplo,my-bucket
.
API de XML
No se puede usar la API de XML para trabajar con el acceso uniforme a nivel de bucket. En su lugar, usa una de las otras herramientas de Cloud Storage, como gsutil.
Observa el estado del acceso uniforme a nivel de bucket
Console
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador de Cloud Storage En el menú Opciones de visualización de columnas (
), asegúrate de que la Control de acceso esté marcada.
En la lista de depósitos, el estado del acceso uniforme a nivel de depósito de cada depósito se encuentra en la columna Control de acceso.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
gsutil
Usa el comando uniformbucketlevelaccess get
:
gsutil uniformbucketlevelaccess get gs://BUCKET_NAME
En el ejemplo anterior, BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo, my-bucket
.
Si el acceso uniforme a nivel de bucket está habilitado, la respuesta se verá de la siguiente manera:
Uniform bucket-level access setting for gs://my-bucket/: Enabled: True LockedTime: LOCK_DATE
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketGET
que incluya losfields
deseados:curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Donde:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del depósito correspondiente. Por ejemplo,my-bucket
.
Si el bucket tiene habilitado el acceso uniforme a nivel de bucket, la respuesta se verá como el siguiente ejemplo:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true, "lockedTime": "LOCK_DATE" } } }
API de XML
No se puede usar la API de XML para trabajar con el acceso uniforme a nivel de bucket. En su lugar, usa una de las otras herramientas de Cloud Storage, como gsutil.
Inhabilita el acceso uniforme a nivel del bucket
Debes quitar todas las Condiciones de IAM de la política de IAM del bucket antes de inhabilitar el acceso uniforme a nivel del bucket.
Para inhabilitar el acceso uniforme a nivel de bucket en tu bucket, sigue estos pasos:
Console
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador de Cloud Storage En la lista de bucket s, haz clic en el nombre del bucket deseado.
Selecciona la pestaña Permisos cerca de la parte superior de la página.
En el cuadro de texto llamado Control de acceso, haz clic en Cambiar a detalle. Ten en cuenta que el cuadro de texto desaparece 90 días después de la habilitación del acceso uniforme a nivel de bucket.
En el menú emergente que aparece, selecciona Detallado.
Haz clic en Guardar.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
gsutil
Usa la opción off
en un comando uniformbucketlevelaccess set
:
gsutil uniformbucketlevelaccess set off gs://BUCKET_NAME
En el ejemplo anterior, BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo, my-bucket
.
Si se ejecuta de forma correcta, la respuesta se ve de la siguiente manera:
Disabling uniform bucket-level access for gs://my-bucket/...
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Crea un archivo .json que contenga la siguiente información:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": false } } }
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Donde:
JSON_FILE_NAME
es el nombre del archivo que creaste en el paso 2.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del depósito correspondiente. Por ejemplo,my-bucket
.
API de XML
No se puede usar la API de XML para trabajar con el acceso uniforme a nivel de bucket. En su lugar, usa una de las otras herramientas de Cloud Storage, como gsutil.
¿Qué sigue?
- Obtén más información sobre el acceso uniforme a nivel de bucket .
- Configura permisos de IAM en depósitos y proyectos.