GCP - Bigtable Enum

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Bigtable

Google Cloud Bigtable to w pełni zarządzana, skalowalna baza NoSQL zaprojektowana dla aplikacji wymagających ekstremalnie dużej przepustowości i niskich opóźnień. Została stworzona do obsługi ogromnych ilości danych — petabajtów na tysiące węzłów — przy jednoczesnym zapewnieniu szybkiego odczytu i zapisu. Bigtable jest idealny dla obciążeń takich jak dane czasowe, telemetria IoT, analityka finansowa, silniki personalizacji i duże bazy operacyjne. Wykorzystuje rzadką, rozproszoną, wielowymiarową posortowaną mapę jako model przechowywania, co czyni go wydajnym przy przechowywaniu szerokich tabel, gdzie wiele kolumn może być pustych. Learn more.

Hierarchy

  1. Instancja Bigtable

Instancja Bigtable to zasób najwyższego poziomu, który tworzysz. Sama nie przechowuje danych — traktuj ją jako logiczny kontener grupujący klastry i tabele.

Istnieją dwa typy instancji:

  • Development instance (single-node, cheap, not for production)
  • Production instance (can have multiple clusters)
  1. Klastry

Klaster zawiera rzeczywiste zasoby obliczeniowe i storage używane do obsługi danych Bigtable.

  • Każdy klaster znajduje się w pojedynczym regionie.
  • Składa się z węzłów, które dostarczają CPU, RAM i przepustowość sieci.
  • Możesz tworzyć instancje z wieloma klastrami dla wysokiej dostępności lub globalnych operacji odczytu/zapisu.
  • Dane są automatycznie replikowane między klastrami w tej samej instancji.

Ważne:

  • Tabele należą do instancji, a nie do konkretnego klastra.
  • Klastry po prostu dostarczają zasoby do obsługi danych.
  1. Tabele

Tabela w Bigtable jest podobna do tabeli w bazach NoSQL:

  • Dane są przechowywane w wierszach, identyfikowanych przez row key.
  • Każdy wiersz zawiera column families, które zawierają kolumny.
  • Jest rzadki: puste komórki nie zajmują miejsca.
  • Bigtable przechowuje dane posortowane leksykograficznie według row key.

Tabele są obsługiwane przez wszystkie klastry w instancji.

  1. Tablety (and Hot Tablets)

Bigtable dzieli każdą tabelę na poziome partycje zwane tabletami. Tabela to:

  • Ciągły zakres row key.
  • Przechowywana na pojedynczym węźle w danym momencie.
  • Tablety są automatycznie dzielone, łączone i przemieszczane przez Bigtable.

hot tablet występuje, gdy:

  • Zbyt wiele odczytów lub zapisów trafia w ten sam zakres row key (ten sam tablet).
  • Ten konkretny tablet/węzeł staje się przeciążony.
  • Prowadzi to do hotspotów (wąskich gardeł wydajności).
  1. Authorized Views

Autoryzowane widoki pozwalają utworzyć podzbiór danych tabeli, który można udostępnić określonym użytkownikom lub aplikacjom bez dawania im dostępu do całej tabeli. Jest to przydatne do:

  • Ograniczania dostępu do wrażliwych danych.
  • Zapewnienia dostępu tylko do odczytu do określonych kolumn lub wierszy.
  1. App Profiles

Profile aplikacji Bigtable to konfiguracja definiująca, jak konkretna aplikacja lub klient powinien współdziałać z instancją Bigtable, szczególnie w środowiskach z wieloma klastrami. Kontroluje zachowanie routingu — czy żądania powinny być kierowane do jednego klastra, czy rozdzielane między wiele klastrów dla wysokiej dostępności — oraz reguluje, jak zapisy są replikowane, wybierając między trybem synchronicznym (silniejsza spójność) a asynchronicznym (niższe opóźnienia).

# Cloud Bigtable
gcloud bigtable instances list
gcloud bigtable instances describe <instance>
gcloud bigtable instances get-iam-policy <instance>

## Clusters
gcloud bigtable clusters list
gcloud bigtable clusters describe <cluster>

## Tables
gcloud bigtable tables list --instance <INSTANCE>
gcloud bigtable tables describe --instance <INSTANCE> <TABLE>
gcloud bigtable tables get-iam-policy --instance <INSTANCE> <TABLE>

## Backups
gcloud bigtable backups list --instance <INSTANCE>
gcloud bigtable backups describe --instance <INSTANCE> <backupname>
gcloud bigtable backups get-iam-policy --instance <INSTANCE> <backupname>

## Hot Tables
gcloud bigtable hot-tablets list

## App Profiles
gcloud bigtable app-profiles list --instance <INSTANCE>
gcloud bigtable app-profiles describe --instance <INSTANCE> <app-prof>

## Authorized Views
gcloud bigtable authorized-views list --instance <INSTANCE> --table <TABLE>
gcloud bigtable authorized-views describe --instance <INSTANCE> --table <TABLE> <VIEW>

Privilege Escalation

GCP - Bigtable Privesc

Post Exploitation

GCP - Bigtable Post Exploitation

Persistence

GCP - Bigtable Persistence

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks