Crear y gestionar vistas autorizadas
En este documento se describe cómo definir, crear y realizar otras operaciones administrativas en una vista autorizada mediante la CLI de Google Cloud o laGoogle Cloud consola. Antes de leer este documento, debes familiarizarte con la descripción general de las vistas autorizadas.
Roles obligatorios
Para obtener los permisos que necesitas para realizar operaciones administrativas en una vista autorizada, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de Bigtable (roles/bigtable.admin
) en la tabla subyacente.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para realizar operaciones administrativas en una vista autorizada. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para realizar operaciones administrativas en una vista autorizada , se necesitan los siguientes permisos:
-
bigtable.authorizedViews.get
-
bigtable.authorizedViews.list
-
bigtable.authorizedViews.create
-
bigtable.authorizedViews.update
-
bigtable.authorizedViews.delete
-
bigtable.authorizedViews.getIamPolicy
-
bigtable.authorizedViews.setIamPolicy
-
bigtable.authorizedViews.readRows
-
bigtable.authorizedViews.sampleRowKeys
-
bigtable.authorizedViews.mutateRows
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Para obtener información sobre cómo gestionar los roles de gestión de identidades y accesos de Bigtable a nivel de vista autorizada, consulta el artículo sobre la gestión de IAM a nivel de vista autorizada.
Google CloudCrear una vista autorizada
Cuando crees una vista autorizada, ten en cuenta las consultas que se ejecutarán en ella. Las solicitudes de lectura, escritura y eliminación que se envían a una vista autorizada solo deben hacer referencia a los datos que se encuentran en esa vista. Por ejemplo, si intentas leer, escribir o eliminar una fila que tiene columnas en la tabla que no están en tu vista autorizada, la solicitud fallará.
Para evitar que las solicitudes de datos a una vista autorizada fallen porque se han añadido columnas a la tabla que no están en la vista autorizada, puede especificar un prefijo de calificador de columna vacío ("") para una familia de columnas.
Puede especificar hasta 100 parámetros de definición por vista autorizada.
Consola
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Haga clic en la instancia que contiene la tabla de la que quiere obtener una vista autorizada.
En el panel de navegación, haga clic en Bigtable Studio.
Haga clic en Creador para abrir el creador de consultas.
Elige la tabla de la que quieras obtener una vista autorizada.
Añade cláusulas para crear una consulta que devuelva solo los datos a los que quieres que tengan acceso los usuarios de la vista autorizada.
- Las cláusulas aceptables para una vista autorizada son prefijo de clave de fila y columnas (calificadores de columna).
- Para especificar un prefijo de calificador de columna, añade un asterisco después del prefijo. Por ejemplo, para incluir todas las columnas que empiecen por "data", introduzca
data*
en el campo Columnas después del nombre de la familia de columnas. - La cláusula Limit se ignora cuando se guarda la vista autorizada.
- Para obtener más información sobre cómo usar el creador de consultas, consulta Crear consultas en la consola.
Haz clic en Ejecutar.
Después de verificar que en el panel de resultados se muestran los datos que deben incluirse en la vista autorizada, haga clic en Guardar como vista.
Introduce un identificador permanente de la vista autorizada que aún no se esté usando en la tabla.
Opcional: Para guardar sin conceder acceso, haz clic en Guardar.
Opcional: Para guardar la vista autorizada y, a continuación, configurar el acceso a ella, haga clic en Guardar y dar acceso. Para obtener más información sobre el control de acceso, consulta Control de acceso a Bigtable con gestión de identidades y accesos.
- Añade al menos un principal y selecciona el rol que se le debe asignar a ese principal o grupo de principales.
- 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.
- Haz clic en Guardar.
gcloud
Ejecuta el comando bigtable authorized-views create
. Para obtener más información, consulta la documentación de referencia de gcloud bigtable authorized-views
create.
gcloud bigtable authorized-views create AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
Haz los cambios siguientes:
AUTHORIZED_VIEW_ID
: un identificador permanente de la vista autorizada que aún no se esté usando en la tabla.INSTANCE_ID
: identificador permanente de la instancia que contiene la tabla.TABLE_ID
: el identificador permanente de la tabla de la que quieres crear una vista autorizadaDEFINITION_FILE_PATH
: la ruta a una representación con formato JSON válida de una vista autorizada. Para ver ejemplos de archivos de definición con el formato correcto, consulta Ejemplos de archivos de definición.
También puedes ejecutar el comando sin proporcionar el archivo de definición. En este caso, la CLI de gcloud abre un editor y te pide valores.
Para confirmar que se ha creado la vista autorizada, obtén una lista de vistas autorizadas de la tabla.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Modificar una vista autorizada
Consola
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Haga clic en la instancia que contenga la vista autorizada.
En el panel de navegación, haga clic en Bigtable Studio.
En el explorador, despliega la tabla y Vistas autorizadas.
Junto a la vista autorizada que quieras modificar, haz clic en el menú de acciones more_vert y, a continuación, en Abrir.
Modifica o añade cláusulas para crear una consulta que devuelva solo los datos a los que quieres que tengan acceso los usuarios de la vista autorizada.
- Las cláusulas aceptables para una vista autorizada son prefijo de clave de fila y columnas (calificadores de columna).
- Para especificar un prefijo de calificador de columna, añade un asterisco después del prefijo. Por ejemplo, para incluir todas las columnas que empiecen por "data", introduzca
data*
en el campo Columnas después del nombre de la familia de columnas. - La cláusula Limit se ignora cuando se guarda la vista autorizada.
- Para obtener más información sobre cómo usar el creador de consultas, consulta Crear consultas en la consola.
Haz clic en Ejecutar.
Después de verificar que en el panel de resultados se muestran los datos que deben incluirse en la vista autorizada, haga clic en Guardar como vista.
En el cuadro de diálogo, introduce el ID de la vista autorizada que has modificado.
En el cuadro de diálogo se muestra un mensaje de advertencia que indica que vas a sobrescribir la vista autorizada.
Opcional: Para guardar sin conceder acceso, haz clic en Guardar.
Opcional: Para guardar la vista autorizada y, a continuación, configurar el acceso a ella, haga clic en Guardar y dar acceso. Para obtener más información sobre el control de acceso, consulta Control de acceso a Bigtable con gestión de identidades y accesos.
- Añade al menos un principal y selecciona el rol que se le debe asignar a ese principal o grupo de principales.
- 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.
- Haz clic en Guardar.
gcloud
Modifica una vista autorizada con el comando bigtable authorized-views
update
. Para obtener más información, consulta la documentación de referencia de gcloud bigtable authorized-views
update.
gcloud bigtable authorized-views update AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
Haz los cambios siguientes:
AUTHORIZED_VIEW_ID
: identificador permanente de la vista autorizadaINSTANCE_ID
: identificador permanente de la instanciaTABLE_ID
: identificador permanente de la tabla de origenDEFINITION_FILE_PATH
: la ruta a una representación con formato JSON válida de una vista autorizada. Para ver ejemplos de archivos de definición con el formato correcto, consulta Ejemplos de archivos de definición.
También puedes ejecutar el comando sin proporcionar el archivo de definición. En este caso, la CLI de gcloud abre un editor y te pide valores.
Opcional: Para evitar que la CLI de gcloud muestre una confirmación
que muestre la diferencia entre la estructura de la vista autorizada actual
y después de que se confirme la actualización, añade la marca --no-interactive
al comando.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Habilitar o inhabilitar la protección frente a la eliminación
Para habilitar la protección contra eliminación en una vista autorizada, modifica el archivo JSON que define tu vista autorizada asignando el valor true
a la marca deletionProtection
.
Para inhabilitar la protección contra eliminación, modifica el archivo JSON que define tu vista autorizada y asigna el valor false
a la marca deletionProtection
.
Para finalizar los cambios en la vista autorizada, ejecuta el comando bigtable
authorized-views update
con el nombre del archivo JSON actualizado. Para obtener más información, consulta la documentación de referencia de gcloud bigtable authorized-views update.
Eliminar una vista autorizada
Si eliminas una tabla, también se eliminarán todas las vistas autorizadas de la tabla.
Si elimina una vista autorizada, no podrá deshacer la eliminación. Sin embargo, si elimina una tabla y, a continuación, la restaura, todas las vistas autorizadas de la tabla se restaurarán junto con la tabla. Después, debes volver a configurar la gestión de identidades y accesos para las vistas autorizadas y para las tablas. Para obtener más información, consulta el artículo sobre cómo restaurar una tabla.
Consola
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Haga clic en la instancia que contenga la vista autorizada.
En el panel de navegación, haga clic en Bigtable Studio.
En el explorador, despliega la tabla y Vistas autorizadas.
Junto a la vista autorizada que quieras eliminar, haz clic en el menú de acciones more_vert y, a continuación, en Eliminar.
gcloud
Elimina una vista autorizada con el comando bigtable instances tables
authorized-views delete
. Para obtener más información, consulta la documentación de referencia de gcloud bigtable authorized-views
delete.
gcloud bigtable authorized-views delete AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID
Haz los cambios siguientes:
AUTHORIZED_VIEW_ID
: identificador permanente de la vista autorizadaINSTANCE_ID
: identificador permanente de la instanciaTABLE_ID
: identificador permanente de la tabla de origen
Opcional: Para evitar que la CLI de gcloud muestre una solicitud de confirmación que te pida que confirmes o canceles la eliminación, añade la marca --nointeractive
al comando.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Obtener una lista de vistas autorizadas de una tabla
Consola
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Haga clic en la instancia que contenga la vista autorizada.
En el panel de navegación, haga clic en Bigtable Studio.
En el explorador, despliega la tabla y Vistas autorizadas.
gcloud
Ejecuta el comando bigtable authorized-views list
. Para obtener más información, consulta la documentación de referencia de gcloud bigtable authorized-views list.
gcloud bigtable authorized-views list \
--instance=INSTANCE_ID \
--table=TABLE_ID
Haz los cambios siguientes:
INSTANCE_ID
: identificador permanente de la instanciaTABLE_ID
: identificador permanente de la tabla
Java
Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ver los detalles de una vista autorizada
Consola
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Haga clic en la instancia que contenga la vista autorizada.
En el panel de navegación, haga clic en Bigtable Studio.
En el explorador, despliega la tabla y Vistas autorizadas.
Junto a la vista autorizada que quieras ver, haz clic en el menú de acciones more_vert y, a continuación, en Abrir.
gcloud
Para obtener información sobre una vista autorizada, ejecuta el comando bigtable instances
tables authorized-views describe
. Para obtener más información, consulta la documentación de referencia de gcloud bigtable authorized-views
describe.
gcloud bigtable authorized-views describe \
–-instance=INSTANCE_ID \
–-table=TABLE_ID \
AUTHORIZED_VIEW_ID
Haz los cambios siguientes:
INSTANCE_ID
: identificador permanente de la instanciaTABLE_ID
: identificador permanente de la tablaAUTHORIZED_VIEW_ID
: identificador permanente de la vista autorizada
Java
Para saber cómo instalar y usar la biblioteca de cliente de Bigtable, consulta el artículo Bibliotecas de cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Dar acceso a una vista autorizada
Para obtener más información sobre el control de acceso, consulta Control de acceso a Bigtable con gestión de identidades y accesos.
Consola
Abre la lista de instancias de Bigtable en la Google Cloud consola.
Haga clic en la instancia que contenga la vista autorizada.
En el panel de navegación, haga clic en Bigtable Studio.
En el panel del explorador, expande la tabla y Vistas autorizadas.
Junto al nombre de la vista autorizada, haz clic en el menú de acciones more_vert y, a continuación, en Conceder acceso.
Añade al menos un principal y selecciona el rol que se le debe asignar a ese principal o grupo de principales.
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.
Haz clic en Guardar.
gcloud
Para conceder acceso a una vista autorizada, usa el comando bigtable
authorized-views add-iam-policy-binding
. Para obtener más información, consulta la documentación de referencia de gcloud bigtable authorized-views
add-iam-policy-binding.
gcloud bigtable authorized-views add-iam-policy-binding AUTH_VIEW_ID \
--instance=INSTANCE_ID --table=TABLE_ID \
--member=PRINCIPAL --role=ROLE
Haz los cambios siguientes:
AUTH_VIEW_ID
: ID de la vista autorizadaTABLE_ID
: el ID de la tabla de la que se trata la vista autorizada.INSTANCE_ID
: la instancia que contiene la tablaPRINCIPAL
: la entidad principal (usuario) a la que quieres dar acceso, comouser:222larabrown@gmail.com
ROLE
: el rol que vas a conceder, comoroles/bigtable.reader
.