Control de acceso de Bigtable con gestión de identidades y accesos

En esta página se describen las opciones de control de acceso de Bigtable.

Información general

Bigtable usa Gestión de Identidades y Accesos (IAM) para el control de acceso. Puedes definir políticas de gestión de identidades y accesos en los recursos para controlar quién tiene acceso a qué recursos.

Los recursos de Bigtable se organizan en una jerarquía. Un proyecto es el elemento principal de una instancia de Bigtable, que a su vez es el elemento principal de sus clústeres y tablas.Google Cloud Una tabla es el elemento superior de sus vistas autorizadas, mientras que un clúster es el elemento superior de sus copias de seguridad. Puedes configurar el control de acceso en cada nivel.

Si tiene permisos en un nivel, automáticamente tendrá permisos en los niveles inferiores. Por ejemplo, si tienes acceso a nivel de proyecto, tendrás acceso a las instancias, los clústeres, las tablas, las vistas autorizadas y las vistas materializadas continuas de ese proyecto. Si se te concede acceso a una vista autorizada o a una vista materializada continua, no tendrás acceso automáticamente a los recursos de nivel superior que sean elementos principales de la vista autorizada o de la vista materializada continua, como la tabla y la instancia. Este comportamiento se denomina herencia de políticas.

Para obtener más información sobre la jerarquía de IAM, consulta el artículo sobre la herencia de políticas de IAM.

A continuación, te mostramos algunos ejemplos de cómo usar el control de acceso a nivel de proyecto:

  • Permite que un usuario lea cualquier tabla del proyecto, pero no que escriba en ella.
  • Permite que un usuario lea y escriba en cualquier tabla del proyecto, pero no que gestione instancias.
  • Permite a un usuario leer y escribir en cualquier tabla del proyecto, así como gestionar instancias.

Estos son algunos ejemplos de cómo usar el control de acceso a nivel de instancia:

  • Permite que un usuario lea cualquier tabla de una sola instancia de un proyecto que tenga varias instancias.
  • Permite que un usuario gestione solo una instancia en un proyecto que tenga varias instancias.

Estos son algunos ejemplos de cómo usar el control de acceso a nivel de tabla:

  • Permite que un usuario escriba en una tabla, pero no que lea de ella.
  • Permite que un usuario lea una tabla, pero no que escriba en ella.

Estos son algunos ejemplos de cómo usar el control de acceso a nivel de copia de seguridad:

  • Impedir que un usuario elimine una copia de seguridad.
  • Impedir que un usuario restaure datos a partir de la copia de seguridad.

Estos son algunos ejemplos de cómo usar el control de acceso a nivel de vista autorizada:

  • Permite que un usuario lea una vista autorizada, pero no que la modifique.
  • Permite que un usuario vea los datos de una sola de las varias vistas autorizadas de una tabla.

Estos son algunos ejemplos de uso del control de acceso a nivel de vista materializada continua:

  • Permite que un usuario lea una vista materializada continua, pero no que modifique la tabla subyacente.

Para obtener una descripción detallada de IAM y de sus características, consulta la guía para desarrolladores de IAM. En concreto, consulta Conceder, cambiar y revocar el acceso.

En Bigtable, no puedes conceder acceso a los siguientes tipos de principales:

Para ver las listas de permisos y roles que admite Bigtable, consulta las siguientes secciones.

Habilitar la API Bigtable

Para ver y asignar roles de IAM de Bigtable, debes habilitar la API Bigtable en tu proyecto. No podrás ver los roles de Bigtable en la consola de Google Cloud hasta que habilites la API.

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

Permisos

En esta sección se resumen los permisos que admite Bigtable.

Los permisos permiten que los usuarios realicen acciones específicas en recursos de Bigtable. Por ejemplo, los permisos de bigtable.instances.list permiten a los usuarios enumerar todas las instancias de Bigtable de un proyecto. No se conceden permisos a los usuarios directamente, sino que se les asigna un rol predefinido o un rol personalizado, que les concede uno o varios permisos.

En las siguientes tablas se indican los permisos de gestión de identidades y accesos que están asociados con Bigtable:

Nombre del permiso de perfil de aplicación Descripción
bigtable.appProfiles.create Crea un perfil de aplicación de Bigtable.
bigtable.appProfiles.delete Elimina un perfil de aplicación de Bigtable.
bigtable.appProfiles.get Obtiene información sobre un perfil de aplicación de Bigtable.
bigtable.appProfiles.list Lista los perfiles de aplicación de Bigtable de una instancia.
bigtable.appProfiles.update Actualiza la configuración de un perfil de aplicación de Bigtable.
Nombre del permiso de copias de seguridad Descripción
bigtable.backups.create Crea una copia de seguridad de Bigtable.
bigtable.backups.delete Eliminar una copia de seguridad de Bigtable.
bigtable.backups.get Obtiene información sobre una copia de seguridad de Bigtable.
bigtable.backups.getIamPolicy Leer las listas de control de acceso (LCA) de una copia de seguridad. Se devuelven como políticas de gestión de identidades y accesos.
bigtable.backups.list Muestra las copias de seguridad de Bigtable.
bigtable.backups.restore Restaurar a partir de una copia de seguridad de Bigtable.
bigtable.backups.testIamPermissions Obtiene los permisos de la persona que llama en una copia de seguridad específica.
bigtable.backups.read Leer de una copia de seguridad de Bigtable.
bigtable.backups.setIamPolicy Actualiza las LCAs de la copia de seguridad.
bigtable.backups.update Modificar la fecha de vencimiento de una copia de seguridad de Bigtable.
Nombre del permiso del clúster Descripción
bigtable.clusters.create Crea un clúster de Bigtable.
bigtable.clusters.delete Elimina un clúster de Bigtable.
bigtable.clusters.get Obtiene información sobre un clúster de Bigtable.
bigtable.clusters.list Lista los clústeres de Bigtable de una instancia.
bigtable.clusters.update Actualiza la configuración de un clúster de Bigtable.
Nombre del permiso de tablets calientes Descripción
bigtable.hotTablets.list Lista las tablets activas de un clúster.
Nombre del permiso de instancia Descripción
bigtable.instances.create Crea una instancia de Bigtable.
bigtable.instances.createTagBinding Crea una etiqueta.
bigtable.instances.delete Elimina una instancia de Bigtable.
bigtable.instances.deleteTagBinding Eliminar una etiqueta.
bigtable.instances.get Obtener información sobre una instancia de Bigtable.
bigtable.instances.getIamPolicy Leer las listas de control de acceso (LCA) de las instancias. Se devuelven como políticas de gestión de identidades y accesos.
bigtable.instances.list Mostrar las instancias de Bigtable de un proyecto.
bigtable.instances.listEffectiveTagBindings Lista de todas las etiquetas que están en vigor en una instancia.
bigtable.instances.listTagBindings Lista las etiquetas de una instancia.
bigtable.instances.ping Envía solicitudes de priming de canales.
bigtable.instances.executeQuery Envía solicitudes ExecuteQuery y PrepareQuery a una instancia.
bigtable.instances.setIamPolicy Actualiza las LCAs.
bigtable.instances.update Actualiza la configuración de una instancia de Bigtable.
Nombre del permiso de Key Visualizer Descripción
bigtable.keyvisualizer.get Obtiene información de Key Visualizer sobre una tabla, incluidos metadatos sobre patrones de acceso y distribuciones de claves de fila.
bigtable.keyvisualizer.list Lista la información de Key Visualizer disponible de una tabla.
Nombre del permiso de ubicación Descripción
bigtable.locations.list Lista de ubicaciones de Bigtable.
Nombre del permiso de la tabla Descripción
bigtable.tables.checkConsistency Comprueba si una tabla replicada está actualizada.
bigtable.tables.create Crea una tabla.
bigtable.tables.delete Elimina una tabla.
bigtable.tables.generateConsistencyToken Genera un token para comprobar si una tabla replicada está actualizada.
bigtable.tables.get Obtener información sobre una tabla, incluidas las familias de columnas y sus ajustes individuales.
bigtable.tables.getIamPolicy Leer las LCAs de la tabla. Se devuelven como políticas de gestión de identidades y accesos.
bigtable.tables.list Mostrar las tablas de una instancia.
bigtable.tables.mutateRows Modificar las filas de una tabla o truncarla.
bigtable.tables.readRows Leer filas de una tabla. Esto incluye información sobre la tabla, como las familias de columnas y sus ajustes individuales.
bigtable.tables.sampleRowKeys Obtiene una muestra de las claves de las filas que se usan en una tabla.
bigtable.tables.setIamPolicy Actualiza las listas de control de acceso de la tabla.
bigtable.tables.undelete Recuperar una tabla eliminada.
bigtable.tables.update Actualizar la configuración de una tabla, incluidas las familias de columnas y sus ajustes individuales.
Nombre del permiso de ubicación Descripción
bigtable.locations.list Lista de ubicaciones de Bigtable.
Nombre del permiso de vista autorizada Descripción
bigtable.authorizedViews.create Crea una vista autorizada.
bigtable.authorizedViews.delete Elimina una vista autorizada.
bigtable.authorizedViews.get Obtener información sobre una vista autorizada.
bigtable.authorizedViews.getIamPolicy Consulta el control de acceso de una vista autorizada. Se devuelven como políticas de gestión de identidades y accesos.
bigtable.authorizedViews.list Muestra las vistas autorizadas en una tabla.
bigtable.authorizedViews.mutateRows Modificar filas en una vista autorizada.
bigtable.authorizedViews.readRows Leer filas de una vista autorizada.
bigtable.authorizedViews.sampleRowKeys Obtiene una muestra de las claves de las filas que se usan en una vista autorizada.
bigtable.authorizedViews.setIamPolicy Actualiza las políticas de control de acceso de una vista autorizada.
bigtable.authorizedViews.update Actualizar la configuración de una vista autorizada.
Nombre del permiso de vista materializada continua Descripción
bigtable.materializedViews.create Crea una vista materializada continua.
bigtable.materializedViews.delete Elimina una vista materializada continua.
bigtable.materializedViews.get Obtiene información sobre una vista materializada continua.
bigtable.materializedViews.getIamPolicy Ver el control de acceso de una vista materializada continua. Se devuelven como políticas de gestión de identidades y accesos.
bigtable.materializedViews.list Lista las vistas materializadas continuas de una instancia.
bigtable.materializedViews.readRows Lee filas de una vista materializada continua.
bigtable.materializedViews.sampleRowKeys Obtiene una muestra de las claves de fila que se usan en una vista materializada continua.
bigtable.materializedViews.setIamPolicy Actualiza las políticas de control de acceso de una vista materializada continua.
bigtable.materializedViews.update Actualiza los ajustes de una vista materializada continua.

Funciones predefinidas

Cada rol predefinido es un conjunto de uno o varios permisos. Por ejemplo, roles/bigtable.reader proporciona acceso de solo lectura a la información sobre instancias, clústeres, tablas y familias de columnas de Bigtable, así como a los datos contenidos en tus tablas. Asigna roles a usuarios o grupos, lo que les permite realizar acciones en los recursos de tu proyecto.

En la siguiente tabla se enumeran los roles predefinidos de Bigtable, así como los permisos asociados a cada rol:

Role Permissions

(roles/bigtable.admin)

Administers all Bigtable instances within a project, including the data stored within tables. Can create new instances. Intended for project administrators.

Lowest-level resources where you can grant this role:

  • Table

bigtable.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update
  • bigtable.authorizedViews.create
  • bigtable.authorizedViews.createTagBinding
  • bigtable.authorizedViews.delete
  • bigtable.authorizedViews.deleteTagBinding
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.getIamPolicy
  • bigtable.authorizedViews.list
  • bigtable.authorizedViews.listEffectiveTags
  • bigtable.authorizedViews.listTagBindings
  • bigtable.authorizedViews.mutateRows
  • bigtable.authorizedViews.readRows
  • bigtable.authorizedViews.sampleRowKeys
  • bigtable.authorizedViews.setIamPolicy
  • bigtable.authorizedViews.update
  • bigtable.backups.create
  • bigtable.backups.delete
  • bigtable.backups.get
  • bigtable.backups.getIamPolicy
  • bigtable.backups.list
  • bigtable.backups.read
  • bigtable.backups.restore
  • bigtable.backups.setIamPolicy
  • bigtable.backups.update
  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update
  • bigtable.hotTablets.list
  • bigtable.instances.create
  • bigtable.instances.createTagBinding
  • bigtable.instances.delete
  • bigtable.instances.deleteTagBinding
  • bigtable.instances.executeQuery
  • bigtable.instances.get
  • bigtable.instances.getIamPolicy
  • bigtable.instances.list
  • bigtable.instances.listEffectiveTags
  • bigtable.instances.listTagBindings
  • bigtable.instances.ping
  • bigtable.instances.setIamPolicy
  • bigtable.instances.update
  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list
  • bigtable.locations.list
  • bigtable.logicalViews.create
  • bigtable.logicalViews.delete
  • bigtable.logicalViews.get
  • bigtable.logicalViews.getIamPolicy
  • bigtable.logicalViews.list
  • bigtable.logicalViews.readRows
  • bigtable.logicalViews.setIamPolicy
  • bigtable.logicalViews.update
  • bigtable.materializedViews.create
  • bigtable.materializedViews.delete
  • bigtable.materializedViews.get
  • bigtable.materializedViews.getIamPolicy
  • bigtable.materializedViews.list
  • bigtable.materializedViews.readRows
  • bigtable.materializedViews.sampleRowKeys
  • bigtable.materializedViews.setIamPolicy
  • bigtable.materializedViews.update
  • bigtable.schemaBundles.create
  • bigtable.schemaBundles.delete
  • bigtable.schemaBundles.get
  • bigtable.schemaBundles.getIamPolicy
  • bigtable.schemaBundles.list
  • bigtable.schemaBundles.setIamPolicy
  • bigtable.schemaBundles.update
  • bigtable.tables.checkConsistency
  • bigtable.tables.create
  • bigtable.tables.delete
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.getIamPolicy
  • bigtable.tables.list
  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys
  • bigtable.tables.setIamPolicy
  • bigtable.tables.undelete
  • bigtable.tables.update

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.reader)

Provides read-only access to the data stored within Bigtable tables. Intended for data scientists, dashboard generators, and other data-analysis scenarios.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.logicalViews.readRows

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.materializedViews.readRows

bigtable.materializedViews.sampleRowKeys

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.user)

Provides read-write access to the data stored within Bigtable tables. Intended for application developers or service accounts.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.logicalViews.readRows

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.materializedViews.readRows

bigtable.materializedViews.sampleRowKeys

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.viewer)

Provides no data access. Intended as a minimal set of permissions to access the Google Cloud console for Bigtable.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

Roles personalizados

Si los roles predefinidos de Bigtable no se ajustan a tus requisitos empresariales, puedes definir tus propios roles personalizados con los permisos que especifiques.

Si tu rol personalizado debe admitir el acceso a la consola, debes identificar las tareas que realizarán los usuarios y, a continuación, asegurarte de que el rol personalizado tenga los permisos necesarios para cada tarea, tal como se muestra en la siguiente tabla. Google Cloud Si un rol personalizado no tiene todos los permisos necesarios para una tarea y un usuario intenta realizarla, la Google Cloud consola no funcionará correctamente.

Google Cloud tarea de consola Permisos obligatorios
Acceso básico a la consola Google Cloud
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • bigtable.tables.get
  • bigtable.tables.list
  • resourcemanager.projects.get
Crear una instancia o un clúster

Permisos de acceso básicos, además de lo siguiente:

  • bigtable.clusters.create
  • bigtable.instances.create
Modificar una instancia o un clúster

Permisos de acceso básicos, además de lo siguiente:

  • bigtable.clusters.update
  • bigtable.instances.update
Gestionar la configuración de la replicación

Permisos de acceso básicos, además de lo siguiente:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
Eliminar una instancia o un clúster

Permisos de acceso básicos, además de lo siguiente:

  • bigtable.clusters.delete
  • bigtable.instances.delete
Monitorizar una instancia viendo gráficos

Permisos de acceso básicos, además de lo siguiente:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list
Crear y actualizar una tabla

Permisos de acceso básicos, además de lo siguiente:

  • bigtable.tables.create
  • bigtable.tables.update
Restaurar una copia de seguridad

Permisos de acceso básicos, además de lo siguiente:

  • bigtable.backups.list
  • bigtable.tables.create
  • bigtable.backups.restore

Gestión de IAM

En esta sección se explica cómo gestionar los roles de gestión de identidades y accesos y los permisos relacionados a nivel de proyecto, instancia, tabla y copia de seguridad.

Gestión de identidades y accesos a nivel de proyecto

A nivel de proyecto, puedes conceder, cambiar y revocar roles de gestión de identidades y accesos mediante laGoogle Cloud consola, la API de gestión de identidades y accesos o la CLI de Google Cloud. Consulta Conceder, cambiar y revocar el acceso para obtener instrucciones detalladas.

Una vez que hayas creado un proyecto, podrás asignar roles de IAM a nivel de proyecto a los usuarios en función de los niveles de acceso específicos.

Roles obligatorios

Antes de definir los roles de gestión de identidades y accesos a nivel de instancia, nivel de tabla, nivel de copia de seguridad, nivel de vista autorizada o nivel de vista materializada continua para un usuario, asegúrate de que tenga al menos uno de los siguientes roles de gestión de identidades y accesos a nivel de proyecto:

  • Visor de Bigtable (recomendado)
  • Lector de Bigtable
  • Usuario de Bigtable
  • Administrador de Bigtable

Elige un rol a nivel de proyecto que no tenga más permisos de los que el usuario realmente necesita en todas las instancias, tablas, copias de seguridad, vistas autorizadas o vistas materializadas continuas del proyecto. Por este motivo, debe asignar el rol de lector de Bigtable en casi todos los casos.

Si el usuario no tiene al menos uno de estos roles a nivel de proyecto, no tendrá acceso a Bigtable a través de la consola de Google Cloud . La consola Google Cloud requiere uno de estos roles a nivel de proyecto para poder obtener información sobre instancias, clústeres, tablas o copias de seguridad en nombre del usuario.

Conceder roles de gestión de identidades y accesos a nivel de instancia

A nivel de instancia, puedes asignar cualquiera de los roles predefinidos de Bigtable a un usuario o a una cuenta de servicio. También puedes conceder cualquier rol personalizado que hayas definido.

Para asignar un rol predefinido o personalizado a un usuario o una cuenta de servicio a nivel de instancia, sigue estos pasos:

Consola

  1. Ve a la página Instancias de Bigtable de laGoogle Cloud consola.

Ir a la página de instancias

  1. Marca las casillas situadas junto a las instancias cuyos roles quieras gestionar. Aparecerá un panel informativo.
  2. En el panel de información, haz clic en Permisos.
  3. En Añadir principales, empieza a escribir la dirección de correo del usuario o de la cuenta de servicio que quieras añadir y, a continuación, haz clic en ella.
  4. Haz clic en la lista desplegable Seleccionar un rol y, a continuación, en Bigtable para seleccionar un rol predefinido o en Personalizado para seleccionar un rol personalizado.
  5. Haz clic en el nombre de cada rol que quieras asignar.
  6. Haz clic en Añadir. Se asignan al usuario o a la cuenta de servicio los roles que hayas especificado a nivel de instancia.

gcloud

  1. Si no sabes el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

gcloud bigtable instances list

  1. Usa el comando bigtable instances set-iam-policy:

gcloud bigtable instances set-iam-policy
INSTANCE_ID
POLICY_FILE

Proporciona lo siguiente:

+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

+   <var>POLICY_FILE</var>: Path to a local JSON or YAML file containing
    a [valid IAM policy][iam-policy].

Conceder roles de gestión de identidades y accesos a nivel de tabla

A nivel de tabla, puede asignar cualquiera de los roles predefinidos de Bigtable a un usuario o una cuenta de servicio. También puedes conceder cualquier rol personalizado que hayas definido.

Para asignar un rol predefinido o personalizado a un usuario o una cuenta de servicio a nivel de tabla, sigue estos pasos:

Consola

  1. Ve a la página Instancias de Bigtable de laGoogle Cloud consola.

Ir a la página de instancias

  1. Haga clic en el nombre de la instancia que contiene la tabla cuyo IAM va a configurar.

  2. Seleccione Tablas en el panel de navegación de la izquierda.

  3. Marca las casillas situadas junto a las tablas cuyos roles quieras gestionar. Aparecerá un panel informativo.

  4. En el panel de información, haz clic en Permisos.

  5. En Añadir principales, empieza a escribir la dirección de correo del usuario o de la cuenta de servicio que quieras añadir y, a continuación, haz clic en ella.

  6. Haz clic en la lista desplegable Seleccionar un rol y, a continuación, en Bigtable para seleccionar un rol predefinido o en Personalizado para seleccionar un rol personalizado.

  7. Haz clic en el nombre de cada rol que quieras asignar.

  8. Haz clic en Añadir. Se asignan al usuario o a la cuenta de servicio los roles que hayas especificado a nivel de tabla.

gcloud

  1. Si no sabes el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

gcloud bigtable instances list

  1. Si no conoces los IDs de tabla de la instancia, usa el comando bigtable instances tables list para ver una lista de las tablas de la instancia.

gcloud bigtable instances tables list --instances=INSTANCE_ID

Proporciona lo siguiente:

+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

  1. Usa el comando bigtable instances tables set-iam-policy:

gcloud bigtable instances tables set-iam-policy \TABLE_ID
--instance=INSTANCE_ID
POLICY_FILE

Proporciona lo siguiente:

+   <var>TABLE_ID</var>: The permanent identifier for the table.
+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

+   <var>POLICY_FILE</var>: Path to a local JSON or YAML file containing
    a [valid IAM policy][iam-policy].

Conceder roles de gestión de identidades y accesos a nivel de copia de seguridad

En el nivel de la copia de seguridad, puedes asignar a un usuario o a una cuenta de servicio cualquiera de los roles predefinidos de Bigtable. También puedes conceder cualquier rol personalizado que hayas definido.

Para asignar un rol predefinido o personalizado a un usuario o una cuenta de servicio a nivel de copia de seguridad, sigue estos pasos:

gcloud

  1. Si no sabes el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

gcloud bigtable instances list

  1. Si no conoces los IDs de las copias de seguridad de una instancia, usa el comando bigtable instances backups list para ver una lista de las copias de seguridad de la instancia.

gcloud bigtable backups list --instances=INSTANCE_ID

Proporciona lo siguiente:

+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

  1. Usa el comando gcloud bigtable backups set-iam-policy:

gcloud bigtable backups set-iam-policy BACKUP_ID
--instance=INSTANCE_ID
--cluster=CLUSTER_ID
POLICY_FILE

Proporciona lo siguiente:

+   <var>BACKUP_ID</var>: The permanent identifier for the backup.
+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

+   `TABLE_ID`: The permanent identifier for the table
+   `POLICY_FILE`: Path to a local JSON or YAML file containing a [valid
    IAM policy][iam-policy].

Conceder roles de gestión de identidades y accesos a nivel de vista autorizada

A nivel de vista autorizada, puede conceder a un usuario o a una cuenta de servicio cualquiera de los roles predefinidos de Bigtable. También puedes conceder cualquier rol personalizado que hayas definido.

Para asignar un rol predefinido o personalizado a un usuario o una cuenta de servicio a nivel de vista autorizada, siga estos pasos:

Consola

  1. Abre la lista de instancias de Bigtable en la Google Cloud consola.

Abrir la lista de instancias

  1. Haga clic en la instancia que contenga la vista autorizada.
  2. En el panel de navegación, haga clic en Bigtable Studio.
  3. En el explorador, despliega la tabla y Vistas autorizadas.
  4. Junto a la vista autorizada que quieras modificar, haz clic en el menú de acciones more_vert y, a continuación, en Dar acceso.
  5. Añade al menos una principal y selecciona el rol que se le debe asignar a esa principal o grupo de principales.
  6. Opcional: Para conceder acceso a otros roles, haz clic en Añadir otro rol y, a continuación, introduce el principal y el rol de cada rol adicional.
  7. Haz clic en Guardar.

gcloud

  1. Si no sabes el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

gcloud bigtable instances list

  1. Si no conoces los IDs de tabla de la instancia, usa el comando bigtable instances tables list para ver una lista de las tablas de la instancia.

gcloud bigtable instances tables list --instances=INSTANCE_ID

  1. Si no sabes el ID de la vista, usa el comando bigtable authorized-views list para ver una lista de todas las vistas autorizadas de la tabla.

gcloud bigtable instances tables authorized-views list
--instance=INSTANCE_ID
--table=TABLE_ID

  1. Usa el comando bigtable authorized-views set-iam-policy:

gcloud bigtable authorized-views set-iam-policy TABLE_ID
AUTHORIZED_VIEW_ID --instance=INSTANCE_ID POLICY_FILE

Proporciona lo siguiente:

+   `INSTANCE_ID`: 
The permanent identifier for the instance.

+   `TABLE_ID`: The permanent identifier for the table
+   `AUTHORIZED_VIEW_ID`: The permanent identifier for the view
+   `POLICY_FILE`: Path to a local JSON or YAML file containing a [valid
    IAM policy][iam-policy].

Condiciones de gestión de identidades y accesos

Las condiciones de gestión de identidades y accesos te permiten definir y aplicar controles de acceso condicionales y basados en atributos a algunos Google Cloud recursos, incluidos los de Bigtable.

En Bigtable, puedes aplicar el acceso condicional en función de los siguientes atributos:

  • Atributos de fecha y hora: se usan para definir el acceso temporal (con fecha de vencimiento), programado o de duración limitada a los recursos de Bigtable. Por ejemplo, puedes permitir que un usuario acceda a una tabla hasta una fecha concreta.
  • Atributos de recursos: se usan para configurar el acceso condicional en función de un nombre, un tipo o unos atributos de servicio de recursos. En Bigtable, puedes usar atributos de instancias, clústeres, tablas, copias de seguridad y vistas autorizadas para configurar el acceso condicional. Por ejemplo, puedes permitir que un usuario gestione solo las tablas que empiecen por un prefijo específico o que acceda únicamente a una tabla concreta.

Para obtener más información sobre las condiciones de gestión de identidades y accesos, consulta la descripción general de las condiciones.

Siguientes pasos

Obtén más información sobre la gestión de identidades y accesos.