GCP - Bigtable Enum

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Bigtable

Google Cloud Bigtable je u potpunosti upravljana, skalabilna NoSQL baza podataka dizajnirana za aplikacije kojima su potrebni izuzetno visoka propusnost i niska latencija. Napravljena je da rukuje ogromnim količinama podataka — petabajtima preko hiljada čvorova — istovremeno obezbeđujući brze performanse čitanja i pisanja. Bigtable je idealan za radne opterećenja kao što su time-series podaci, IoT telemetrija, finansijska analitika, mehanizmi personalizacije i operativne baze podataka velikih razmera. Koristi retku, distribuiranu, višedimenzionalnu sortiranu mapu kao osnovni model skladištenja, što ga čini efikasnim za skladištenje širokih tabela gde mnoge kolone mogu biti prazne. Learn more.

Hijerarhija

  1. Bigtable Instance

Bigtable instance je vrhovni (top-level) resurs koji kreirate. Sam po sebi ne skladišti podatke — posmatrajte ga kao logički kontejner koji grupiše vaše klastere i tabele.

Postoje dve vrste instanci:

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

Klaster sadrži stvarne računarske i skladišne resurse koji se koriste za serviranje podataka iz Bigtable-a.

  • Svaki klaster se nalazi u jednoj regiji.
  • Sastoji se od čvorova, koji obezbeđuju CPU, RAM i mrežni kapacitet.
  • Možete kreirati multi-cluster instance radi visoke dostupnosti ili globalnih čitanja/pisanja.
  • Podaci se automatski replikuju između klastera u istoj instanci.

Važno:

  • Tabele pripadaju instanci, a ne konkretnom klasteru.
  • Klasteri jednostavno obezbeđuju resurse za posluživanje podataka.
  1. Tables

Tabela u Bigtable-u je slična tabeli u NoSQL bazama podataka:

  • Podaci se čuvaju u redovima, identifikovanim row key-jem.
  • Svaki red sadrži column families, koje sadrže kolone.
  • Struktura je retka: prazne ćelije ne zauzimaju prostor.
  • Bigtable čuva podatke sortirane leksikografski po row key-ju.

Tabele su dostupne preko svih klastera u instanci.

  1. Tablets (and Hot Tablets)

Bigtable deli svaku tabelu u horizontalne particije koje se zovu tablets. Tablet je:

  • Kontiguirani opseg row key-eva.
  • Smešten na jednom čvoru u datom trenutku.
  • Tablets se automatski dele, spajaju i pomeraju od strane Bigtable-a.

Do pojave hot tableta dolazi kada:

  • Previše čitanja ili pisanja cilja isti opseg row-key-eva (isti tablet).
  • Taj konkretni tablet/čvor postane preopterećen.
  • To dovodi do hotspots-a (uska grla u performansama).
  1. Authorized Views

Authorized views omogućavaju kreiranje podskupa podataka iz tabele koji se može podeliti sa određenim korisnicima ili aplikacijama bez davanja pristupa celoj tabeli. Ovo je korisno za:

  • Ograničavanje pristupa osetljivim podacima.
  • Obezbeđivanje read-only pristupa specifičnim kolonama ili redovima.
  1. App Profiles

App profile u Bigtable-u je konfiguracija koja definiše kako određena aplikacija ili klijent treba da komunicira sa Bigtable instancom, posebno u okruženjima sa više klastera. Kontroliše ponašanje rutiranja — da li zahtev treba biti usmeren ka jednom klasteru ili raspodeljen preko više klastera radi visoke dostupnosti — i upravlja kako se pisanja repliciraju, birajući između sinhronog (jača konzistentnost) ili asinhronog (niža latencija) režima.

# 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>

Povišenje privilegija

GCP - Bigtable Privesc

Post-eksploatacija

GCP - Bigtable Post Exploitation

Održavanje pristupa

GCP - Bigtable Persistence

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks