En esta página, se describe cómo controlar el acceso a los buckets y objetos a través de los permisos de Identity and Access Management (IAM). IAM te permite controlar quién tiene acceso a tus buckets, carpetas administradas y objetos.
Para obtener información acerca de otras formas de controlar el acceso a los buckets, las carpetas administradas y los objetos, consulta la Descripción general del control de acceso. Para obtener información acerca de cómo controlar el acceso a objetos individuales en los buckets, consulta Listas de control de acceso.
Usa IAM con buckets
En las siguientes secciones, se muestra cómo completar las tareas básicas de IAM en los buckets.
Funciones obligatorias
Para obtener los permisos que necesitas a fin de configurar y administrar las políticas de IAM para un bucket, pídele a tu administrador que te otorgue el rol de IAM Administrador de almacenamiento (roles/storage.admin
) para el bucket.
Esta función contiene los siguientes permisos, que son necesarios a fin de configurar y administrar las políticas de IAM para los buckets:
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
storage.buckets.list
- Este permiso solo es necesario si planeas usar la consola de Google Cloud para realizar la tarea en esta página.
También puedes obtener estos permisos con roles personalizados.
Agrega un principal a una política a nivel de bucket
Para obtener una lista de los roles asociados con Cloud Storage, consulta Roles de IAM. Para obtener información de las entidades a las que les otorgas roles de IAM, consulta Identificadores principales.
Consola
- 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 para el que deseas otorgar un rol a una principal.
Selecciona la pestaña Permisos cerca de la parte superior de la página.
Haz clic en el botón add_box Otorgar acceso.
Aparecerá el cuadro de diálogo Agregar principales.
En el campo Nuevas principales, ingresa una o más identidades que necesiten acceso a tu bucket.
Elige un rol (o roles) del menú desplegable Selecciona un rol. Los roles que seleccionas aparecen en el panel con una descripción breve del permiso que otorgan.
Haz clic en Guardar.
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 buckets add-iam-policy-binding
:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Aquí:
BUCKET_NAME
es el nombre del bucket al cual le otorgas acceso principal. Por ejemplo,my-bucket
PRINCIPAL_IDENTIFIER
identifica a quién le otorgas acceso al bucket. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores de principal.IAM_ROLE
es el rol de IAM que le estás otorgando a la principal. Por ejemplo,roles/storage.objectViewer
.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
API de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Crea un archivo JSON que contenga la siguiente información:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Aquí:
IAM_ROLE
es el rol de IAM que deseas otorgar. Por ejemplo,roles/storage.objectViewer
PRINCIPAL_IDENTIFIER
identifica a quién le otorgas acceso al bucket. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores principales.
Usa
cURL
para llamar a la API de JSON con una solicitudPUT setIamPolicy
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Aquí:
JSON_FILE_NAME
es la ruta de acceso 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 bucket al que le quieres otorgar acceso al principal. Por ejemplo,my-bucket
Visualiza la política de IAM para un bucket
Consola
- 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 cuya política deseas ver.
En la página Detalles del bucket, haz clic en la pestaña Permisos.
La política de IAM que se aplica al bucket aparece en la sección Permisos.
Opcional: Usa la barra Filtros para filtrar tus resultados.
Si buscas por principal, tus resultados mostrarán cada rol que se otorga al principal.
Línea de comandos
Usa el comando buckets get-iam-policy
:
gcloud storage buckets get-iam-policy gs://BUCKET_NAME
En el ejemplo anterior, BUCKET_NAME
es el nombre del bucket cuya política de IAM deseas ver. Por ejemplo, my-bucket
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
API de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de JSON con una solicitudGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket cuya política de IAM deseas ver. Por ejemplo,my-bucket
Quita a un principal de una política de nivel de bucket
Consola
- 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 del que deseas quitar el rol de una principal.
En la página Detalles del bucket, haz clic en la pestaña Permisos.
La política de IAM que se aplica al bucket aparece en la sección Permisos.
En la pestaña Ver por principales, selecciona la casilla de verificación de la principal que deseas quitar.
Haz clic en el botón Quitar acceso.
En la ventana de superposición que aparece, haz clic en Confirmar.
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 buckets remove-iam-policy-binding
:
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Aquí:
BUCKET_NAME
es el nombre del bucket al que revocas el acceso. Por ejemplo,my-bucket
PRINCIPAL_IDENTIFIER
identifica a quién revocas el acceso. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores de principal.IAM_ROLE
es el rol de IAM que estás revocando. Por ejemplo,roles/storage.objectViewer
.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
API de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Obtén la política existente aplicada a tu bucket. Para ello, usa
cURL
para llamar a la API de JSON con una solicitudGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket cuya política de IAM deseas ver. Por ejemplo,my-bucket
Crea un archivo JSON que contenga la política que recuperaste en el paso anterior.
Edita el archivo JSON para quitar al miembro de la política.
Usa
cURL
para llamar a la API de JSON con una solicitudPUT setIamPolicy
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Aquí:
JSON_FILE_NAME
es la ruta de acceso del archivo que creaste en el paso 3.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket del que deseas quitar el acceso. Por ejemplo,my-bucket
Usa condiciones de IAM en buckets
En las siguientes secciones, se muestra cómo agregar y quitar Condiciones de IAM en los buckets. Para ver las Condiciones de IAM para tu bucket, consulta Visualiza la política de IAM de un bucket. Si quieres obtener más información del uso de las Condiciones de IAM con Cloud Storage, consulta Condiciones.
Debes habilitar el acceso uniforme a nivel de bucket en el bucket antes de agregar condiciones.
Establece una nueva condición en un bucket
Consola
- 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 al que quieres agregar una condición nueva.
En la página Detalles del bucket, haz clic en la pestaña Permisos.
La política de IAM que se aplica al bucket aparece en la sección Permisos.
Haz clic en + Otorgar acceso.
En Principales nuevos, completa los principales a los que deseas otorgarles acceso a tu bucket.
Para cada rol al que desees aplicar una condición, sigue estos pasos:
Selecciona el rol que quieres otorgarles a los principales.
Haz clic en Agregar condición para abrir el formulario Editar condición.
Completa el Título de la condición. El campo Descripción es opcional.
Usa el Creador de condiciones para crear tu condición de forma visual, o usa la pestaña Editor de condiciones para ingresar la expresión CEL.
Haz clic en Guardar para regresar al formulario Agregar miembros. Para agregar varios roles, haz clic en Agregar otro rol.
Haz clic en Guardar.
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
Crea un archivo JSON o YAML que defina la condición, incluido el
title
de la condición, laexpression
lógica basada en atributos para la condición y, de forma opcional, , unadescription
de la condición.Ten en cuenta que Cloud Storage solo admite los atributos de fecha/hora ,tipo de recurso y nombre del recurso en el
expression
.Usa el comando
buckets add-iam-policy-binding
con la marca--condition-from-file
:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
Aquí:
BUCKET_NAME
es el nombre del bucket al cual le otorgas acceso principal. Por ejemplo,my-bucket
PRINCIPAL_IDENTIFIER
identifica a quién se aplica la condición. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores de principal.IAM_ROLE
es el rol de IAM que le estás otorgando a la principal. Por ejemplo,roles/storage.objectViewer
CONDITION_FILE
es el archivo que creaste en el paso anterior.
Como alternativa, puedes incluir la condición de forma directa en el comando con la marca --condition
en lugar de la marca --condition-from-file
.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
API de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa una solicitud
GET getIamPolicy
para guardar la política de IAM del bucket en un archivo JSON temporal:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.
Edita el archivo
tmp-policy.json
en un editor de texto para agregar condiciones nuevas a las vinculaciones en la política de IAM:{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
Aquí:
VERSION
es la versión de la política de IAM, que debe ser 3 para los buckets con Condiciones de IAM.IAM_ROLE
es el rol al que se aplica la condición. Por ejemplo,roles/storage.objectViewer
PRINCIPAL_IDENTIFIER
identifica a quién se aplica la condición. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores de principal.TITLE
es el título de la condición. Por ejemplo,expires in 2019
.DESCRIPTION
es una descripción opcional de la condición. Por ejemplo,Permission revoked on New Year's
EXPRESSION
es una expresión lógica basada en atributos. Por ejemplo,request.time < timestamp(\"2019-01-01T00:00:00Z\")
. Si quieres obtener más ejemplos de expresiones, consulta la referencia de atributos para las Condiciones. Ten en cuenta que Cloud Storage solo admite los atributos de fecha y hora, tipo de recurso y nombre de recurso.
No modifiques
ETAG
.Usa una solicitud
PUT setIamPolicy
para establecer la política de IAM modificada en el bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.
Quita una condición de un bucket
Consola
- 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 al que deseas quitar una condición.
En la página Detalles del bucket, haz clic en la pestaña Permisos.
La política de IAM que se aplica al bucket aparece en la sección Permisos.
Haz clic en el ícono Editar edit del principal asociado con la condición.
En la superposición Editar acceso que aparece, haz clic en el nombre de la condición que deseas borrar.
En la superposición Editar condición que aparece, haz clic en Borrar y, luego, en Confirmar.
Haz clic en Guardar.
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
buckets get-iam-policy
para guardar la política de IAM del bucket en un archivo JSON temporal.gcloud storage buckets get-iam-policy gs://BUCKET_NAME > tmp-policy.json
Edita el archivo
tmp-policy.json
en un editor de texto para quitar las condiciones de la política de IAM.Usa
buckets set-iam-policy
para establecer la política de IAM modificada en el bucket.gcloud storage buckets set-iam-policy gs://BUCKET_NAME tmp-policy.json
Muestras de código
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
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 un entorno de desarrollo local.
API de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa una solicitud
GET getIamPolicy
para guardar la política de IAM del bucket en un archivo JSON temporal:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Aquí:
BUCKET_NAME
es el nombre del bucket al que le otorgas acceso. Por ejemplo,my-bucket
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.
Edita el archivo
tmp-policy.json
en un editor de texto para quitar las condiciones de la política de IAM.Usa una solicitud
PUT setIamPolicy
para establecer la política de IAM modificada en el bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket cuya política de IAM deseas modificar. Por ejemplo,my-bucket
Usa IAM con carpetas administradas
En las siguientes secciones, se muestra cómo completar las tareas básicas de IAM en las carpetas administradas.
Funciones obligatorias
Para obtener los permisos que necesitas para configurar y administrar las políticas de IAM para las carpetas administradas, pídele a tu administrador que te otorgue el rol de IAM de propietario de buckets heredados de almacenamiento (roles/storage.legacyBucketOwner
) para el bucket que contiene las carpetas administradas.
Esta función contiene los siguientes permisos, que son necesarios para configurar y administrar las políticas de IAM para las carpetas administradas:
storage.managedfolders.getIamPolicy
storage.managedfolders.setIamPolicy
También puedes obtener estos permisos con roles personalizados.
Para obtener más información acerca de cómo otorgar roles para los buckets, consulta Usa IAM con buckets.
Configura una política de IAM en una carpeta administrada
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 que contiene la carpeta administrada en la que deseas establecer una política de IAM.
En la página Detalles del bucket , haz clic en el ícono Más opciones
en el panel Folder browser junto a la carpeta administrada en la que deseas establecer una política de IAM.Si la carpeta para la que deseas controlar el acceso es una carpeta simulada, sigue los pasos que se indican en Crea una carpeta administrada para convertir primero la carpeta simulada en una administrada.
Haz clic en acceso de edición.
En el panel Permissions for
MANAGED_FOLDER_NAME
, haz clic en Agregar principal .En el campo Principales nuevas, ingresa la principal a la que deseas otorgar acceso. Para obtener más información sobre las principales que puedes incluir, consulta Descripción general de IAM.
En la sección Asignar roles, usa el menú desplegable Seleccionar un rol para especificar el nivel de acceso que deseas otorgar a la principal.
Haz clic en Guardar.
Línea de comandos
Crea un archivo JSON que contenga la siguiente información:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Aquí:
IAM_ROLE
es el rol de IAM que deseas otorgar. Por ejemplo,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica a quién le otorgas acceso a la carpeta administrada. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores principales.
Usa el comando
gcloud storage managed-folders set-iam-policy
:gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME POLICY_FILE
Aquí:
BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada a la que deseas aplicar la política de IAM. Por ejemplo,my-bucket
MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada a la que deseas aplicar la política de IAM. Por ejemplo,my-managed-folder/
POLICY_FILE
es la ruta de acceso al archivo JSON que creaste en el paso 1.
APIs de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Crea un archivo JSON que contenga la siguiente información:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Aquí:
IAM_ROLE
es el rol de IAM que deseas otorgar. Por ejemplo,roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
identifica a quién le otorgas acceso a la carpeta administrada. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores principales.
Usa
cURL
para llamar a la API de JSON con una solicitudPUT setIamPolicy
:curl -X PUT --data-binary @POLICY_FILE \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Aquí:
POLICY_FILE
es la ruta de acceso al archivo de política de JSON 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 bucket que contiene la carpeta administrada a la que deseas aplicar la política de IAM. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada a la que le quieres otorgar acceso a la principal. Por ejemplo,my-managed-folder/
Visualiza la política de IAM para una carpeta administrada
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 que contiene la carpeta administrada para la que deseas ver las políticas de IAM.
En la página Detalles del bucket , haz clic en el ícono Más opciones
en el panel Folder browser junto a la carpeta administrada para la que deseas ver la política de IAM.Haz clic en acceso de edición.
En el panel Permissions for FOLDER_NAME
, se muestran los
permisos de la carpeta administrada, incluidos la principal,
el rol, los roles heredados y las condiciones de IAM.
Línea de comandos
Usa el comando gcloud storage managed-folder get-iam-policy
:
gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME
Donde:
BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada cuya política de IAM deseas ver. Por ejemplo,my-bucket
MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada cuya política de IAM deseas ver. Por ejemplo,my-managed-folder/
APIs de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de JSON con una solicitudGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada cuya política de IAM deseas ver. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada cuya política de IAM deseas ver. Por ejemplo,my-managed-folder/
.
Quita una principal de una política de carpeta administrada
No puedes quitar principales de las políticas de IAM heredadas
a través de los siguientes pasos. Para quitar una principal de una política heredada,
identifica el recurso que tiene la política y quita la principal del
recurso. Por ejemplo, una principal puede tener el rol de usuario de objetos de
almacenamiento (roles/storage.objectUser
) en el bucket que contiene la carpeta
administrada. Para quitar la principal, debes
quitarla de la política a nivel del bucket.
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 que contiene la carpeta administrada para la que deseas ver las políticas de IAM.
En la página Detalles del bucket , haz clic en el ícono Más opciones
en el panel Folder browser junto al carpeta administrada para la que deseas quitar una principal.Haz clic en acceso de edición.
En el panel Permissions for
FOLDER_NAME
, ingresa el nombre de la principal en el campo Filtro.Haz clic en el ícono Borrar
para borrar la principal.
Cloud Storage borra la principal de tu carpeta administrada.
Línea de comandos
Usa el comando gcloud storage managed-folder remove-iam-policy-binding
:
gcloud storage managed-folders remove-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
Aquí:
BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada a la que le revocas el acceso. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada cuya política de IAM deseas quitar. Por ejemplo,my-managed-folder/
.PRINCIPAL_IDENTIFIER
identifica a quién le revocas el acceso. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores de principal.IAM_ROLE
es el rol de IAM que estás revocando. Por ejemplo,roles/storage.objectViewer
.
APIs de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Obtén la política existente aplicada a tu carpeta administrada. Para ello, usa
cURL
para llamar a la API de JSON con una solicitudGET getIamPolicy
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada a la que le revocas el acceso. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada cuya política de IAM deseas quitar. Por ejemplo,my-managed-folder/
.
Crea un archivo JSON que contenga la política que recuperaste en el paso anterior.
Edita el archivo JSON para quitar al miembro de la política.
Usa
cURL
para llamar a la API de JSON con una solicitudPUT setIamPolicy
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Aquí:
JSON_FILE_NAME
es la ruta de acceso del archivo que creaste en el paso 3.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada a la que le revocas el acceso. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada cuya política de IAM deseas quitar. Por ejemplo,my-managed-folder/
.
Usa condiciones de IAM en carpetas administradas
En las siguientes secciones, se muestra cómo agregar y quitar condiciones de IAM en las carpetas administradas. Si deseas ver las condiciones de IAM para tus carpetas administradas, consulta Visualiza la política de IAM para una carpeta administrada. Si quieres obtener más información acerca del uso de las Condiciones de IAM con Cloud Storage, consulta Condiciones.
Debes habilitar el acceso uniforme a nivel del bucket en el bucket antes de agregar condiciones a las carpetas administradas.
Establece una nueva condición en una carpeta administrada
Línea de comandos
Crea un archivo JSON o YAML que defina la condición, incluido el
title
de la condición, laexpression
lógica basada en atributos para la condición y, de forma opcional, , unadescription
de la condición.Ten en cuenta que Cloud Storage solo admite los atributos de fecha/hora ,tipo de recurso y nombre del recurso en el
expression
.Usa el comando
gcloud storage managed-folders add-iam-policy-binding
con la marca--condition-from-file
:
gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
Donde:
BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada a la que le otorgas acceso a la principal. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada a la que le otorgas acceso a la principal. Por ejemplo,my-managed-folder/
.PRINCIPAL_IDENTIFIER
identifica a quién se aplica la condición. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores de principal.IAM_ROLE
es el rol de IAM que le estás otorgando a la principal. Por ejemplo,roles/storage.objectViewer
CONDITION_FILE
es el archivo que creaste en el paso anterior.
Como alternativa, puedes incluir la condición de forma directa en el comando con la marca --condition
en lugar de la marca --condition-from-file
.
APIs de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa una solicitud
GET getIamPolicy
para guardar la política de IAM de la carpeta administrada en un archivo JSON temporal:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Donde:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada en la que deseas establecer una condición de IAM.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada en la que deseas establecer una condición de IAM.
Edita el archivo
tmp-policy.json
en un editor de texto para agregar condiciones nuevas a las vinculaciones en la política de IAM:{ "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }
Donde:
VERSION
es la versión de la política de IAM, que debe ser 3 para las carpetas administradas con condiciones de IAM.IAM_ROLE
es el rol al que se aplica la condición. Por ejemplo,roles/storage.objectViewer
PRINCIPAL_IDENTIFIER
identifica a quién se aplica la condición. Por ejemplo,user:jane@gmail.com
Para obtener una lista de los formatos de identificador principal, consulta Identificadores de principal.TITLE
es el título de la condición. Por ejemplo,expires in 2019
.DESCRIPTION
es una descripción opcional de la condición. Por ejemplo,Permission revoked on New Year's
EXPRESSION
es una expresión lógica basada en atributos. Por ejemplo,request.time < timestamp(\"2019-01-01T00:00:00Z\")
. Si quieres obtener más ejemplos de expresiones, consulta la referencia de atributos para las Condiciones. Ten en cuenta que Cloud Storage solo admite los atributos de fecha y hora, tipo de recurso y nombre de recurso.
No modifiques
ETAG
.Usa una solicitud
PUT setIamPolicy
para establecer la política de IAM modificada en el bucket:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFoldersMANAGED_FOLDER_NAME/iam"
Aquí:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada en la que deseas establecer una condición de IAM.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada en la que deseas establecer una condición de IAM.
Quita una condición de una carpeta administrada
Línea de comandos
Usa el comando
gcloud storage managed-folders get-iam-policy
para guardar la política de IAM de la carpeta administrada en un archivo JSON temporal.gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME > tmp-policy.json
Edita el archivo
tmp-policy.json
en un editor de texto para quitar las condiciones de la política de IAM.Usa el comando
gcloud storage managed-folders set-iam-policy
para establecer la política de IAM modificada en la carpeta administrada.gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME tmp-policy.json
APIs de REST
JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa una solicitud
GET getIamPolicy
para guardar la política de IAM de la carpeta administrada en un archivo JSON temporal:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer OAUTH2_TOKEN' > tmp-policy.json
Donde:
BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada a la que le cambias el acceso. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada a la que le cambias el acceso. Por ejemplo,my-managed-folder/
.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.
Edita el archivo
tmp-policy.json
en un editor de texto para quitar las condiciones de la política de IAM.Usa una solicitud
PUT setIamPolicy
para establecer la política de IAM modificada en la carpeta administrada:curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam"
Donde:
OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene la carpeta administrada a la que le cambias el acceso. Por ejemplo,my-bucket
.MANAGED_FOLDER_NAME
es el nombre de la carpeta administrada a la que le cambias el acceso. Por ejemplo,my-managed-folder/
.
Usa IAM con proyectos
Consulta Administra el acceso a proyectos, carpetas y organizaciones para obtener guías sobre cómo otorgar y revocar roles de IAM a nivel de proyecto y superior.
Prácticas recomendadas
Debes establecer el mínimo permiso posible que otorgue al principal el acceso requerido. Por ejemplo, si un miembro del equipo solo necesita leer los objetos almacenados en un bucket, selecciona el rol Visualizador de objetos de almacenamiento. De manera similar, si el miembro del equipo necesita el control total de los objetos en el bucket (pero no el control del bucket mismo), selecciona Administrador de objetos de almacenamiento.
Próximos pasos
- Aprende cómo compartir tus datos de forma pública.
- Consulta Ejemplos de colaboración y uso compartido específicos.
- Obtén información de las prácticas recomendadas para usar IAM.
- Obtén más información acerca de cómo usar las recomendaciones de roles para los buckets.
- Para solucionar problemas de operaciones fallidas relacionadas con los roles y los permisos de IAM, consulta Solución de problemas.