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.
Roles obligatorios
Para obtener los permisos que necesitas para configurar y administrar el acceso uniforme a nivel de bucket en un bucket, pídele a tu administrador que te otorgue el rol Administrador de almacenamiento (roles/storage.admin
) en el bucket. Este rol predefinido contiene los permisos necesarios para configurar y administrar el acceso uniforme a nivel de bucket. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
storage.buckets.get
storage.buckets.list
- Este permiso solo es necesario si planeas usar la consola de Google Cloud para ejecutar las instrucciones en esta página.
storage.buckets.update
También puedes obtener estos permisos con roles personalizados.
Para obtener más información sobre cómo otorgar roles en los buckets, consulta Usa IAM con buckets.
Verifica el uso de la LCA
Antes de habilitar el acceso uniforme a nivel de bucket, usa Cloud Monitoring para 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
Para consultar las métricas de un recurso supervisado usando el Explorador de métricas, haz lo siguiente:
-
En la consola de Google Cloud, ve a la página leaderboardExplorador de métricas:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- En el elemento Métrica, expande el menú Seleccionar una métrica,
ingresa
ACLs usage
en la barra de filtros y, luego, usa los submenús para seleccionar un métrica y tipo de recurso específicos:- En el menú Recursos activos, elige Bucket de GCS.
- En el menú Categorías de métricas activas, elige Authz.
- En el menú Métricas activas, elige Uso de LCA.
- Haz clic en Aplicar.
- Configura cómo se ven los datos. Por ejemplo, para ver tus datos mediante la operación de LCA, en el elemento Agregación establece el primer menú comoSuma y el segundo menú en acl_operation.
Para obtener más información sobre la configuración de un gráfico, consulta Elige métricas cuando uses el Explorador de 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
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 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 $(gcloud auth print-access-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
Si la solicitud muestra un objeto vacío {}
, no hay un uso reciente de la LCA para tu proyecto.
Configurar el acceso uniforme a nivel de bucket
Para habilitar o inhabilitar el acceso uniforme a nivel de bucket en tu bucket, completa las siguientes instrucciones:
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 habilitar o inhabilitar el acceso uniforme a nivel de bucket.
Elige la pestaña Permisos cerca de la parte superior de la página.
En el campo llamado Control de acceso, haz clic en el vínculo Cambiar a.
En el menú que aparece, selecciona Uniforme o Detallado.
Haz clic en Guardar.
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
:
gcloud storage buckets update gs://BUCKET_NAME --STATE
Donde:
BUCKET_NAME
es el nombre del bucket relevante. Por ejemplo,my-bucket
STATE
esuniform-bucket-level-access
para habilitar el acceso uniforme a nivel de bucket ono-uniform-bucket-level-access
para inhabilitarlo.
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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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 la siguiente muestra, se habilita el acceso uniforme a nivel de bucket en un bucket:
En el siguiente ejemplo, se inhabilita el acceso uniforme a nivel de bucket en 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": { "uniformBucketLevelAccess": { "enabled": STATE } } }
En el que STATE es
true
ofalse
.Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
: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 del archivo que creaste en el paso 2.BUCKET_NAME
es el nombre del bucket 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 gcloud CLI.
Observa el estado del acceso uniforme a nivel de bucket
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
Haz clic en el nombre del bucket cuyo estado deseas ver.
Haz clic en la pestaña Configuración.
El estado de acceso uniforme a nivel de bucket de este bucket se encuentra en el campo Control de acceso.
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 storage buckets describe
con la marca --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(uniform_bucket_level_access)"
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:
uniform_bucket_level_access: true
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
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 gcloud CLI.
¿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.