Crea y administra vistas autorizadas
En este documento, se describe cómo definir, crear y realizar otras operaciones administrativas en una vista autorizada con Google Cloud CLI o la consola de Google Cloud. 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, pídele a tu administrador que te otorgue el rol de IAM de Administrador de Bigtable (roles/bigtable.admin
) en la tabla subyacente.
Para obtener más información sobre cómo otorgar roles, consulta Administra 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 son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para realizar operaciones administrativas en una vista autorizada:
-
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 o con otros roles predefinidos.
Para aprender a administrar roles de IAM de Bigtable a nivel de la vista autorizada, consulta Administración de IAM a nivel de la vista autorizada.
Crear 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 la vista autorizada. Esto significa, por ejemplo, que si intentas leer, escribir en o borrar una fila que tiene columnas en la tabla que no están en tu vista autorizada, la solicitud fallará.
Para evitar una situación en la que las solicitudes de datos a una vista autorizada fallen porque se agregaron columnas a la tabla que no están en la vista autorizada, puedes especificar un prefijo de calificador de columna vacío ("") para una familia de columnas.
Puedes especificar hasta 100 parámetros de definición por vista autorizada.
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que contiene la tabla de la que deseas obtener una vista autorizada.
En el panel de navegación, haz clic en Bigtable Studio.
Haz clic en Creador para abrir el compilador de consultas.
Elige la tabla de la que quieres obtener una vista autorizada.
Agrega cláusulas para crear una consulta que muestre solo los datos a los que deseas que los usuarios de la vista autorizada tengan acceso.
- 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, agrega un asterisco después del prefijo. Por ejemplo, para incluir todas las columnas que comienzan con “data”, ingresa
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 el uso del compilador de consultas, consulta Cómo compilar consultas en la consola.
Haz clic en Ejecutar.
Después de verificar que el panel de resultados muestre los datos que se deben incluir en la vista autorizada, haz clic en Guardar como vista.
Ingresa un identificador permanente para la vista autorizada que aún no esté en uso para la tabla.
Opcional: Para guardar sin otorgar acceso, haz clic en Guardar.
Opcional: Para guardar la vista autorizada y, luego, configurar el acceso a ella, haz clic en Guardar y otorgar acceso. Para obtener más información sobre el control de acceso, consulta Control de acceso de Bigtable con IAM.
- Agrega al menos una principal y selecciona el rol al que se debe asignar esa principal o grupo de principales.
- Opcional: Para otorgar acceso a roles adicionales, haz clic en Agregar otro rol y, luego, ingresa la 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 en gcloud bigtable authorized-views create.
gcloud bigtable authorized-views create AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
Reemplaza lo siguiente:
AUTHORIZED_VIEW_ID
: Es un identificador permanente para la vista autorizada que aún no se usa en la tabla.INSTANCE_ID
: el identificador permanente de la instancia que contiene la tablaTABLE_ID
: El identificador permanente de la tabla de la que estás creando una vista autorizadaDEFINITION_FILE_PATH
: Es la ruta de acceso a una representación válida en formato JSON 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, gcloud CLI abre un editor y te solicita valores.
Para confirmar que se creó la vista autorizada, obtén una lista de vistas autorizadas para la tabla.
Java
Si deseas obtener información sobre cómo instalar y usar la biblioteca cliente de Bigtable, consulta las bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Modifica una vista autorizada
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que contiene la vista autorizada.
En el panel de navegación, haz clic en Bigtable Studio.
En el explorador, expande la tabla y Vistas autorizadas.
Junto a la vista autorizada que deseas modificar, haz clic en el menú de acciones more_vert y, luego, en Abrir.
Modifica o agrega cláusulas para crear una consulta que muestre solo los datos a los que deseas que los usuarios de la vista autorizada tengan acceso.
- 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, agrega un asterisco después del prefijo. Por ejemplo, para incluir todas las columnas que comienzan con “data”, ingresa
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 el uso del compilador de consultas, consulta Cómo compilar consultas en la consola.
Haz clic en Ejecutar.
Después de verificar que el panel de resultados muestre los datos que se deben incluir en la vista autorizada, haz clic en Guardar como vista.
En el cuadro de diálogo, ingresa el ID de la vista autorizada que modificaste.
El diálogo muestra un mensaje que te advierte que estás reemplazando la vista autorizada existente.
Opcional: Para guardar sin otorgar acceso, haz clic en Guardar.
Opcional: Para guardar la vista autorizada y, luego, configurar el acceso a ella, haz clic en Guardar y otorgar acceso. Para obtener más información sobre el control de acceso, consulta Control de acceso de Bigtable con IAM.
- Agrega al menos una principal y selecciona el rol al que se debe asignar esa principal o grupo de principales.
- Opcional: Para otorgar acceso a roles adicionales, haz clic en Agregar otro rol y, luego, ingresa la 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 en gcloud bigtable authorized-views update.
gcloud bigtable authorized-views update AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
Reemplaza lo siguiente:
AUTHORIZED_VIEW_ID
: El identificador permanente de la vista autorizadaINSTANCE_ID
: el identificador permanente de la instancia.TABLE_ID
: El identificador permanente de la tabla de origenDEFINITION_FILE_PATH
: Es la ruta de acceso a una representación válida en formato JSON 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, gcloud CLI abre un editor y te solicita valores.
Opcional: Para evitar que gcloud CLI muestre un mensaje de confirmación que muestre la diferencia entre la estructura de vista autorizada actual y después de que se confirme la actualización, agrega la marca --no-interactive
al comando.
Java
Si deseas obtener información sobre cómo instalar y usar la biblioteca cliente de Bigtable, consulta las bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Habilita o inhabilita la protección contra la eliminación
Para habilitar la protección contra la eliminación para una vista autorizada, agrega --deletion-protection
al comando de actualización.
Para inhabilitar la protección contra la eliminación, agrega
no-deletion-protection
al comando de actualización.
Cómo borrar una vista autorizada
Si borras una tabla, también se borrarán todas las vistas autorizadas de la tabla.
Si borras una vista autorizada, no podrás recuperarla. Sin embargo, si borras una tabla y, luego, la restableces, se restablecen todas las vistas autorizadas de la tabla junto con ella. Luego, debes volver a configurar IAM para las vistas autorizadas y las tablas. Para obtener más información, consulta Cómo deshacer la eliminación de una tabla.
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que contiene la vista autorizada.
En el panel de navegación, haz clic en Bigtable Studio.
En el explorador, expande la tabla y Vistas autorizadas.
Junto a la vista autorizada que deseas borrar, haz clic en el menú de acciones more_vert y, luego, en Borrar.
gcloud
Borra una vista autorizada con el comando bigtable instances tables
authorized-views delete
. Para obtener más información, consulta la documentación de referencia en gcloud bigtable authorized-views delete.
gcloud bigtable authorized-views delete AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID
Reemplaza lo siguiente:
AUTHORIZED_VIEW_ID
: El identificador permanente de la vista autorizadaINSTANCE_ID
: el identificador permanente de la instancia.TABLE_ID
: El identificador permanente de la tabla de origen
Opcional: Para evitar que la CLI de gcloud muestre un mensaje de confirmación que te solicite confirmar o cancelar la eliminación, agrega la marca --nointeractive
al comando.
Java
Si deseas obtener información sobre cómo instalar y usar la biblioteca cliente de Bigtable, consulta las bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Obtén una lista de vistas autorizadas para una tabla
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que contiene la vista autorizada.
En el panel de navegación, haz clic en Bigtable Studio.
En el explorador, expande 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 en gcloud bigtable authorized-views list.
gcloud bigtable authorized-views list \
--instance=INSTANCE_ID \
--table=TABLE_ID
Reemplaza lo siguiente:
INSTANCE_ID
: el identificador permanente de la instancia.TABLE_ID
: el identificador permanente de la tabla
Java
Si deseas obtener información sobre cómo instalar y usar la biblioteca cliente de Bigtable, consulta las bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Consulta detalles sobre una vista autorizada
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que contiene la vista autorizada.
En el panel de navegación, haz clic en Bigtable Studio.
En el explorador, expande la tabla y Vistas autorizadas.
Junto a la vista autorizada que deseas ver, haz clic en el menú de acciones more_vert y, luego, en Abrir.
gcloud
Para obtener detalles 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 en gcloud bigtable authorized-views describe.
gcloud bigtable authorized-views describe \
–-instance=INSTANCE_ID \
–-table=TABLE_ID \
AUTHORIZED_VIEW_ID
Reemplaza lo siguiente:
INSTANCE_ID
: el identificador permanente de la instancia.TABLE_ID
: el identificador permanente de la tablaAUTHORIZED_VIEW_ID
: El identificador permanente de la vista autorizada
Java
Si deseas obtener información sobre cómo instalar y usar la biblioteca cliente de Bigtable, consulta las bibliotecas cliente de Bigtable.
Para autenticarte en Bigtable, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para bibliotecas cliente.
Otorga acceso a una vista autorizada
Para obtener más información sobre el control de acceso, consulta Control de acceso de Bigtable con IAM.
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que contiene la vista autorizada.
En el panel de navegación, haz 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, luego, en Otorgar acceso.
Agrega al menos una principal y selecciona el rol al que se debe asignar esa principal o grupo de principales.
Opcional: Para otorgar acceso a roles adicionales, haz clic en Agregar otro rol y, luego, ingresa el principal y el rol de cada rol adicional.
Haz clic en Guardar.
gcloud
Para otorgar 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 en 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
Reemplaza lo siguiente:
AUTH_VIEW_ID
: El ID de la vista autorizadaTABLE_ID
: Es el ID de la tabla de la que es la vista autorizada.INSTANCE_ID
: La instancia que contiene la tablaPRINCIPAL
: Es el principal (usuario) al que deseas otorgar acceso, comouser:222larabrown@gmail.com
.ROLE
: Es el rol que otorgas, comoroles/bigtable.viewer
.