Descripción general de las vistas autorizadas

Las vistas autorizadas son vistas lógicas de las tablas que ofrecen control de acceso detallado a tus datos de Bigtable. Los vista autorizada es un subconjunto de una tabla que configuras para que incluya datos de una tabla específica. Luego, otorgas acceso a la vista autorizada separados del acceso a la tabla.

Las vistas autorizadas son útiles para tablas multiusuario o para otras situaciones en las que la tabla contiene datos que no todos los usuarios deberían poder el acceso a los datos. A diferencia de las vistas en otros servicios de bases de datos, Bigtable las vistas autorizadas se pueden usar para controlar el acceso de lectura y escritura. Tú pueden crear miles de vistas autorizadas de manera programática, de la misma manera con lo que otros sistemas de almacenamiento llaman "vistas actualizables" o "filtrados" alias".

En este documento, se describen las vistas autorizadas y se proporcionan ejemplos de definición. archivos. Antes de leer este documento, debes estar familiarizado con Bigtable, almacenamiento automático. Para obtener instrucciones, consulta Crea y administra vistas autorizadas.

Qué define una vista autorizada

Cuando creas una vista autorizada, debes definirla especificando los datos para incluir en la vista autorizada usando uno de los siguientes parámetros:

  • Prefijo de la clave de fila: por ejemplo, todas las filas que comienzan con examplepetstore1|
  • Prefijo del calificador de columna; por ejemplo, todas las columnas cuyos calificadores comienza con order# en la familia de columnas especificada
  • Calificador de columna: por ejemplo, solo la columna order-examplepetstore de la familia de columnas especificada
  • Una combinación de prefijo de clave de fila y calificador de columna

Si se usa el mismo calificador de columna en varias familias de columnas y deseas incluir todas las columnas con ese calificador en la vista, debes especificar cada combinado de calificador de columna y familia de columnas por separado cuando defines el vista.

Los valores de la clave de fila y del calificador de columna que se usan para definir un vista autorizada se tratan como datos del servicio. Por este motivo, no crear una vista autorizada usando valores de clave de fila o calificador de columna que contener información sensible. Para para obtener más información sobre cómo se manejan los datos del servicio, consulta la página Aviso.

Incluir columnas en una familia o todas las filas

Si quieres asegurarte de que cualquier columna que se agregue a una familia de columnas de la subyacente también se incluye en tu vista autorizada, entonces debe especificar la cadena vacía ("") como prefijo del calificador de columna. Para Por ejemplo, un archivo de definición incluiría esto en el subconjunto de familia: "qualifierPrefixes": [""]

Del mismo modo, si quieres definir una vista autorizada que incluya todas filas de la tabla, especifica la cadena vacía ("") como un prefijo de clave de fila. En una de definición, esto se escribe como "rowPrefixes": [""] en el subconjunto de vistas.

Ejemplos de archivos de definición

En esta sección, se presentan ejemplos en formato JSON de vistas autorizadas archivos de definición.

El siguiente es un ejemplo de un archivo de definición para una vista autorizada que incluya todas las filas con un prefijo de clave de fila de examplepetstore1#.

    {
      "subsetView":
      {
        "rowPrefixes": ["examplestore1#"],
        "familySubsets":
        {
          "customer":
          {
            "qualifiers":["address"],
            "qualifierPrefixes":["tel"]
          }
        }
      },
      "deletionProtection": true
    }

El siguiente es un ejemplo de un archivo de definición para una vista autorizada que incluya la columna skus en la familia de columnas order y todas las columnas de la familia de columnas customer.

"subsetView": {
 "familySubsets": {
  "order": {
     "qualifiers": ["skus"]
  }
}
  "familySubsets": {
    "key": "customer"
    "qualifierPrefixes": [""]
  }
}

El siguiente es un ejemplo de un archivo de definición para una vista autorizada que solo incluya los datos de la columna skus de order en filas que tienen un prefijo de clave de fila de examplepetstore1#.

"subsetView": {
  "rowPrefixes": ["examplepetstore1#"]
  "familySubsets": {
    "order": {
      "qualifiers": ["skus"]
    }
  }
}

¿Qué sigue?