Control de acceso de Bigtable con la IAM

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

Descripción general

Bigtable usa Identity and Access Management (IAM) para el control de acceso. Establece políticas de IAM en los recursos para controlar quién tiene qué tipo de acceso. a qué recursos.

Los recursos de Bigtable están organizados de forma jerárquica. R Un proyecto de Google Cloud es el superior de un proyecto de Bigtable que es el superior de sus clústeres y tablas. Una tabla es el elemento superior de sus vistas autorizadas, mientras que el clúster es el superior de sus copias de seguridad. Tú puede configurar el control de acceso en cada nivel.

Si tienes permisos a nivel del nivel, tendrás permisos automáticamente por debajo de ese nivel. Por ejemplo, si tienes acceso a nivel de proyecto, acceso a las instancias, los clústeres, las tablas y las vistas autorizadas en ese proyecto. Si se te otorga acceso a una vista autorizada, entonces No tienes acceso automático a recursos de nivel superior que son superiores de la vista autorizada, como la tabla y la instancia. Este comportamiento es llamada herencia de políticas.

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

Estos son algunos ejemplos del uso del control de acceso a nivel de proyecto:

  • Permitir a cualquier usuario leer las tablas del proyecto, pero no escribir en ellas.
  • Permitir a cualquier usuario leer las tablas del proyecto y escribir en ellas, pero no administrar las instancias.
  • Permitir a cualquier usuario leer las tablas del proyecto, escribir en ellas y administrar las instancias.

Entre los ejemplos de uso del control de acceso a nivel de instancia, se incluyen los siguientes:

  • Permitir que un usuario lea desde cualquier tabla en una sola instancia de un proyecto de varias instancias
  • Permitir que un usuario administre solo una instancia en un proyecto de varias instancias

Estos son algunos ejemplos de uso del control de acceso a nivel de la tabla:

  • Permitir que un usuario escriba en una tabla, pero que no pueda leerla
  • Permitir que un usuario lea una tabla, pero que no pueda escribir en ella

Estos son algunos ejemplos de uso del control de acceso a nivel de la copia de seguridad:

  • Impide que un usuario borre una copia de seguridad.
  • Impide que un usuario restablezca desde la copia de seguridad.

Entre los ejemplos de uso del control de acceso a nivel de la vista autorizada, se incluyen los siguientes: lo siguiente:

  • Permitir que un usuario lea una vista autorizada, pero no la modifique.
  • Permitir que un usuario vea datos de una sola de las múltiples vistas autorizadas de un desde una tabla de particiones.

Consulta la guía para desarrolladores de IAM a fin de obtener una descripción detallada de IAM y sus características. En particular, consulta Otorga, cambia y revoca el acceso.

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

Para obtener una lista de los permisos y las funciones compatibles con Bigtable, consulta las siguientes secciones.

Habilita la API de Bigtable

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

Enable the API

Permisos

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

Los permisos se usan para permitir que los usuarios realicen ciertas acciones en los recursos de Bigtable. Por ejemplo, los permisos bigtable.instances.list autorizan a los usuarios a enumerar todas las instancias de Bigtable dentro de un proyecto. Los permisos no se otorgan directamente a los usuarios; en cambio, se asigna a cada uno una función predefinida o función personalizada, que otorga uno o más permisos.

En las siguientes tablas, se enumeran los permisos de IAM asociados con Bigtable:

Nombre del permiso del perfil de la aplicación Descripción
bigtable.appProfiles.create Crea un perfil de la aplicación de Bigtable
bigtable.appProfiles.delete Borra un perfil de aplicación de Bigtable
bigtable.appProfiles.get Obtener información sobre un perfil de la aplicación de Bigtable
bigtable.appProfiles.list Enumerar los perfiles de la aplicación de Bigtable de una instancia
bigtable.appProfiles.update Actualizar la configuración de un perfil de la app de Bigtable
Nombre del permiso de las copias de seguridad Descripción
bigtable.backups.create Crea una copia de seguridad de Bigtable
bigtable.backups.delete Borra una copia de seguridad de Bigtable
bigtable.backups.get Obtener 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 muestran como políticas de IAM.
bigtable.backups.list Enumera copias de seguridad de Bigtable
bigtable.backups.restore Restablecer desde una copia de seguridad de Bigtable
bigtable.backups.testIamPermissions Obtén los permisos del emisor de una copia de seguridad especificada.
bigtable.backups.read Leer desde una copia de seguridad de Bigtable
bigtable.backups.setIamPolicy Actualiza las LCA de las copias de seguridad.
bigtable.backups.update Modificar el 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 Borra un clúster de Bigtable
bigtable.clusters.get Obtén información sobre un clúster de Bigtable
bigtable.clusters.list Enumerar los clústeres de Bigtable de una instancia
bigtable.clusters.update Actualizar la configuración de un clúster de Bigtable
Nombre del permiso de tablets activas Descripción
bigtable.hotTablets.list Enumera tablets activas para un clúster.
Nombre del permiso de instancias Descripción
bigtable.instances.create Crear una instancia de Bigtable.
bigtable.instances.createTagBinding Crea una etiqueta.
bigtable.instances.delete Borra una instancia de Bigtable
bigtable.instances.deleteTagBinding Borrar una etiqueta
bigtable.instances.get Obtén información sobre una instancia de Bigtable
bigtable.instances.getIamPolicy Leer las listas de control de acceso (LCA) de las instancias; se muestran como políticas de IAM
bigtable.instances.list Enumerar las instancias de Bigtable de un proyecto
bigtable.instances.listEffectiveTagBindings Enumera todas las etiquetas vigentes para una instancia.
bigtable.instances.listTagBindings Enumera las etiquetas de una instancia.
bigtable.instances.ping Envía solicitudes de preparación del canal.
bigtable.instances.setIamPolicy Actualizar las LCA
bigtable.instances.update Actualizar la configuración de una instancia de Bigtable
Nombre del permiso de Key Visualizer Descripción
bigtable.keyvisualizer.get Obtener información de Key Visualizer acerca de una tabla, incluidos los metadatos sobre los patrones de acceso y las distribuciones de claves de filas.
bigtable.keyvisualizer.list Ver la información disponible de una tabla de Key Visualizer.
Nombre del permiso de ubicación Descripción
bigtable.locations.list Enumera ubicaciones de Bigtable
Nombre del permiso de la tabla Descripción
bigtable.tables.checkConsistency Revisar si una tabla replicada está actualizada
bigtable.tables.create Crear una tabla
bigtable.tables.delete Borrar una tabla
bigtable.tables.generateConsistencyToken Generar un token para revisar si la tabla replicada está actualizada
bigtable.tables.get Obtener información sobre una tabla, incluidas las familias de columnas y su configuración individual
bigtable.tables.getIamPolicy Leer las LCA de las tablas; se muestran como políticas de IAM
bigtable.tables.list Enumerar las tablas de una instancia
bigtable.tables.mutateRows Modificar las filas de una tabla o truncarla
bigtable.tables.readRows Leer las filas de una tabla Esto incluye información sobre la tabla, como y sus parámetros de configuración individuales.
bigtable.tables.sampleRowKeys Obtener una muestra de las claves de fila que se usan en una tabla
bigtable.tables.setIamPolicy Actualizar las LCA de la tabla
bigtable.tables.undelete Recupera una tabla borrada.
bigtable.tables.update Actualizar la configuración de una tabla, incluidas las familias de columnas y su configuración individual
Nombre del permiso de ubicación Descripción
bigtable.locations.list Enumera ubicaciones de Bigtable
nombre de permiso de vista autorizado Descripción
bigtable.authorizedViews.create Crea una vista autorizada.
bigtable.authorizedViews.delete Borrar una vista autorizada
bigtable.authorizedViews.get Obtén información sobre una vista autorizada.
bigtable.authorizedViews.getIamPolicy Ver el control de acceso para una vista autorizada Se muestran como políticas de IAM.
bigtable.authorizedViews.list Enumera las vistas autorizadas en una tabla.
bigtable.authorizedViews.mutateRows Modificar filas en una vista autorizada
bigtable.authorizedViews.readRows Leer filas en una vista autorizada
bigtable.authorizedViews.sampleRowKeys Obtén una muestra de las claves de fila que se usan en una vista autorizada.
bigtable.authorizedViews.setIamPolicy Actualiza las políticas de control de acceso para una vista autorizada.
bigtable.authorizedViews.update Actualiza la configuración de una vista autorizada.

Funciones predefinidas

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

En la siguiente tabla, se muestran las funciones predefinidas de Bigtable, incluida una lista de los permisos asociados con cada una:

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.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

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.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.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.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

Funciones personalizadas

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

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

Tarea de la consola de Google Cloud Permisos necesarios
Acceso básico a la consola de 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

Los permisos del acceso básico, además de los siguientes:

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

Los permisos del acceso básico, además de los siguientes:

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

Los permisos del acceso básico, además de los siguientes:

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

Los permisos del acceso básico, además de los siguientes:

  • bigtable.clusters.delete
  • bigtable.instances.delete
Ver grafos para supervisar una instancia

Los permisos del acceso básico, además de los siguientes:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list
Crea y actualiza una tabla

Los permisos del acceso básico, además de los siguientes:

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

Los permisos del acceso básico, además de los siguientes:

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

Administración de IAM

En esta sección, se explica cómo administrar los roles de IAM y los permisos relacionados en proyecto, instancia, tabla y copia de seguridad.

Administración de IAM a nivel de proyecto

A nivel de proyecto, puedes otorgar, cambiar y revocar roles de IAM con el la consola de Google Cloud, la API de IAM o Google Cloud CLI. Consulta Otorga, cambia y revoca el acceso para obtener instrucciones.

Una vez que creas un proyecto, puedes otorgar los roles de IAM a nivel de proyecto a los usuarios según los niveles de acceso específicos.

Roles obligatorios

Antes de establecer roles de IAM a nivel de instancia, nivel de tabla, nivel de copia de seguridad o a nivel de vista autorizados asegúrate de que tenga al menos uno de los siguientes niveles de proyecto: Roles de IAM:

  • Usuario de Bigtable sin acceso a datos (recomendada)
  • Lector de Bigtable
  • Usuario de Bigtable
  • Administrador de Bigtable

Elige un rol a nivel de proyecto que no tenga más permisos que el usuario las necesidades de todas las instancias, tablas, copias de seguridad o vistas autorizadas del proyecto. Por este motivo, Debería otorgar el rol de Usuario de Bigtable sin acceso a datos en la mayoría de los casos.

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

Otorga funciones de IAM a nivel de instancia

A nivel de instancia, puedes otorgar cualquiera de las funciones predefinidas de Bigtable a un usuario o una cuenta de servicio. También puedes otorgar las funciones personalizadas que hayas definido.

Para otorgar una función predefinida o personalizada a un usuario o cuenta de servicio a nivel de instancia, sigue estos pasos:

Console

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

    Ir a la página Instancias

  2. Marca las casillas que aparecen al costado de las instancias cuyas funciones desees administrar. Aparecerá un panel de información.

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

  4. En Agregar principales, comienza a escribir la dirección de correo electrónico del usuario. cuenta de servicio que quieres agregar y, luego, haz clic en la dirección de correo electrónico del usuario cuenta de servicio.

  5. Haz clic en la lista desplegable Seleccionar un rol y, luego, en Bigtable para seleccionar un rol predefinido o Personalizado selecciona un rol personalizado.

  6. Haz clic en el nombre de cada función que desees asignar.

  7. Haz clic en Agregar. Las funciones que indiques a nivel de instancia se otorgarán al usuario o a la cuenta de servicio.

gcloud

  1. Si no conoces 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
    
  2. Usa el comando bigtable instances set-iam-policy:

    gcloud bigtable instances set-iam-policy \
    INSTANCE_ID \
    POLICY_FILE
    

    Proporcione lo siguiente:

    • INSTANCE_ID El identificador permanente de la instancia.
    • POLICY_FILE: Ruta de acceso a un archivo local JSON o YAML que contiene una política de IAM válida.

Otorga funciones de IAM a nivel de tabla

A nivel de tabla, puedes otorgar cualquiera de las funciones predefinidas de Bigtable a una cuenta de usuario o de servicio. También puedes otorgar las funciones personalizadas que hayas definido.

Para otorgar una función predefinida o personalizada a una cuenta de usuario o de servicio a nivel de tabla, sigue estos pasos:

Console

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

    Ir a la página Instancias

  2. Haz clic en el nombre de la instancia que contiene la tabla cuya función de IAM deseas configurar.

  3. Selecciona Tablas en el panel de navegación izquierdo.

  4. Marca las casillas que aparecen junto a las tablas cuyas funciones desees administrar. Aparecerá un panel de información.

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

  6. En Agregar principales, comienza a escribir la dirección de correo electrónico del usuario. cuenta de servicio que quieres agregar y, luego, haz clic en la dirección de correo electrónico del usuario cuenta de servicio.

  7. Haz clic en la lista desplegable Seleccionar un rol y, luego, en Bigtable para seleccionar un rol predefinido o Personalizado selecciona un rol personalizado.

  8. Haz clic en el nombre de cada función que desees asignar.

  9. Haz clic en Agregar. Las funciones que indiques a nivel de tabla se otorgarán al usuario o a la cuenta de servicio.

gcloud

  1. Si no conoces 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
    
  2. Si no conoces los IDs de tabla de la instancia, usa el comando bigtable instances tables list para ver una lista de tablas en la instancia.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    

    Proporcione lo siguiente:

    • INSTANCE_ID El identificador permanente de la instancia.
  3. Usa el comando bigtable instances tables set-iam-policy:

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

    Proporcione lo siguiente:

    • TABLE_ID: Identificador permanente de la tabla
    • INSTANCE_ID El identificador permanente de la instancia.
    • POLICY_FILE: Ruta de acceso a un archivo local JSON o YAML que contiene una política de IAM válida.

Otorga roles de IAM a nivel de copia de seguridad

En el nivel de la copia de seguridad, puedes otorgar cualquiera de los valores roles a un usuario o cuenta de servicio. También puedes otorgar las funciones personalizadas que hayas definido.

Para otorgar un rol predefinido o personalizado a un usuario o cuenta de servicio en el nivel de copia de seguridad:

gcloud

  1. Si no conoces 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
    
  2. 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 en la instancia.

    gcloud bigtable backups list --instances=INSTANCE_ID
    

    Proporcione lo siguiente:

    • INSTANCE_ID El identificador permanente de la instancia.
  3. 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
    

    Proporcione lo siguiente:

    • BACKUP_ID: Identificador permanente de la copia de seguridad
    • INSTANCE_ID El identificador permanente de la instancia.
    • TABLE_ID: Identificador permanente de la tabla
    • POLICY_FILE: Ruta de acceso a un archivo local JSON o YAML que contiene una política de IAM válida.

Otorga roles de IAM autorizados a nivel de la vista

En el nivel de vista autorizada, puedes otorgar Roles predefinidos de Bigtable para un usuario o una cuenta de servicio También puedes otorgar cualquier función personalizada que hayas definido.

Para otorgar un rol predefinido o personalizado a un usuario o cuenta de servicio en el a nivel de vista autorizado, ejecuta lo siguiente:

gcloud

  1. Si no conoces 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
    
  2. Si no conoces los IDs de tabla de la instancia, usa el comando bigtable instances tables list para ver una lista de tablas en la instancia.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  3. Si no conoces el ID de 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
    
  4. 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
    

    Proporcione lo siguiente:

    • INSTANCE_ID El identificador permanente de la instancia.
    • TABLE_ID: Es el identificador permanente de la tabla.
    • AUTHORIZED_VIEW_ID: Es el identificador permanente de la vista.
    • POLICY_FILE: Ruta de acceso a un archivo local JSON o YAML que contiene una política de IAM válida.

Condiciones de IAM

Las condiciones de IAM te permiten definir y aplicar el control de acceso condicional basado en atributos para algunos recursos de Google Cloud, incluidos los recursos de Bigtable.

En Bigtable, puedes aplicar el acceso condicional según los siguientes atributos:

  • Atributos de fecha y hora: Se usan para configurar el acceso temporal (que vence), 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 especificada.
  • Atributos de recursos: Se usa para configurar el acceso condicional según el nombre, el tipo o los atributos del 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 administre solo en tablas que comienzan con un prefijo específico, o puedes permitir usuario acceda solo a una tabla específica.

Para obtener más información sobre las Condiciones de IAM, consulta Descripción general de las Condiciones.

¿Qué sigue?

Obtén más información sobre IAM.