Autorisierte Ansichten – Übersicht

Autorisierte Ansichten sind logische Tabellenansichten, die Ihnen eine detaillierte Zugriffssteuerung der Bigtable-Daten ermöglichen. Eine Die autorisierte Ansicht ist eine Teilmenge einer Tabelle, die Sie für die Einbeziehung konfigurieren. bestimmte Tabellendaten. Anschließend gewähren Sie unabhängig vom Zugriff auf die Tabelle Zugriff auf die autorisierte Ansicht.

Autorisierte Ansichten sind nützlich für mandantenfähige Tabellen und andere Situationen, in denen Ihre Tabelle Daten enthält, die nicht alle Nutzenden Zugriff haben. Im Gegensatz zu Ansichten in anderen Datenbankdiensten Mithilfe autorisierter Ansichten können Sie sowohl den Lese- als auch den Schreibzugriff steuern. Sie können tausende autorisierte Ansichten programmatisch erstellen, genau wie bei anderen Speichersystemen, die als „aktualisierbare Ansichten“ oder „gefilterte Aliasse“ bezeichnet werden.

In diesem Dokument werden autorisierte Ansichten und Beispiele für die Definition beschrieben -Dateien. Bevor Sie dieses Dokument lesen, sollten Sie mit dem Bigtable-Speichermodell vertraut sein. Eine Anleitung dazu finden Sie Weitere Informationen finden Sie unter Autorisierte Ansichten erstellen und verwalten.

Definition einer autorisierten Ansicht

Wenn Sie eine autorisierte Ansicht erstellen, definieren Sie sie, indem Sie die Daten angeben, zur Aufnahme in die autorisierte Ansicht mit einem der folgenden Parameter:

  • Zeilenschlüsselpräfix – z. B. alle Zeilen, die mit examplepetstore1| beginnen
  • Präfix des Spaltenqualifizierers, z. B. alle Spalten in der angegebenen Spaltenfamilie, deren Qualifizierer mit order# beginnen
  • Spaltenqualifizierer, z. B. nur die Spalte order-examplepetstore in die angegebene Spaltenfamilie
  • Eine Kombination aus Zeilenschlüsselpräfix und Spaltenqualifizierer

Wenn derselbe Spaltenqualifizierer in mehreren Spaltenfamilien verwendet wird und Sie alle Spalten mit diesem Qualifizierer in der Ansicht einbeziehen möchten, müssen Sie beim Definieren der Ansicht jede Kombination aus Spaltenqualifizierer und Spaltenfamilie separat angeben.

Die Werte für den Zeilenschlüssel und den Spaltenqualifizierer, die Sie zum Definieren einer autorisierten Ansicht verwenden, werden als Dienstdaten behandelt. Achten Sie deshalb darauf, Erstellen Sie eine autorisierte Ansicht mit Zeilenschlüssel- oder Spaltenqualifizierwerten, die vertrauliche Informationen enthalten. Für Informationen dazu, wie Dienstdaten verarbeitet werden, finden Sie in der Google Cloud-Datenschutzerklärung Hinweis.

Spalten in einer Familie oder alle Zeilen einschließen

Wenn Sie sicherstellen möchten, dass alle Spalten, die einer Spaltenfamilie in der zugrunde liegenden Tabelle hinzugefügt werden, auch in Ihrer autorisierten Ansicht enthalten sind, sollten Sie den leeren String ("") als Präfix für den Spaltenqualifizierer angeben. Für Beispiel: Eine Definitionsdatei würde Folgendes in die Familien-Teilmenge aufnehmen: "qualifierPrefixes": [""]

Wenn Sie eine autorisierte Ansicht definieren möchten, die alle -Zeilen in der Tabelle den leeren String ("") als Zeilenschlüsselpräfix an. In einer Definitionsdatei wird dies im Ansichtssubset als "rowPrefixes": [""] geschrieben.

Um übermäßig komplexe autorisierte Ansichten zu vermeiden, können Sie mit Bigtable maximal 10 verschiedene Qualifier-Präfixe. Das bedeutet, dass in einer autorisierten Ansicht eine Spaltenfamilie mit 10 Qualifikatorpräfixen, 10 Spaltenfamilien mit einem einzelnen Qualifikatorpräfix oder eine beliebige Kombination aus diesen festgelegt werden kann, solange die Gesamtzahl der Qualifikatoren maximal 10 beträgt.

Beispiele für Definitionsdateien

In diesem Abschnitt finden Sie Beispiele für autorisierte Ansichten im JSON-Format. Definitionsdateien.

Im Folgenden finden Sie ein Beispiel für eine Definitionsdatei für eine autorisierte Ansicht die alle Zeilen mit dem Zeilenschlüsselpräfix examplepetstore1# enthält.

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

Im Folgenden finden Sie ein Beispiel für eine Definitionsdatei für eine autorisierte Ansicht, die die Spalte skus in der Spaltenfamilie order und alle Spalten in der Spaltenfamilie customer enthält.

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

Im folgenden Beispiel wird eine Definitiondatei für eine autorisierte Ansicht gezeigt, die nur Daten in der Spalte skus in der Spaltenfamilie order in Zeilen mit dem Präfix examplepetstore1# für den Zeilenschlüssel enthält.

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

Nächste Schritte