GCP - Bigtable Enum

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Bigtable

Google Cloud Bigtable είναι μια πλήρως διαχειριζόμενη, κλιμακούμενη βάση δεδομένων NoSQL σχεδιασμένη для εφαρμογές που απαιτούν εξαιρετικά υψηλό throughput και πολύ χαμηλή καθυστέρηση. Έχει σχεδιαστεί για να διαχειρίζεται τεράστιους όγκους δεδομένων — petabytes σε χιλιάδες nodes — παρέχοντας ταυτόχρονα γρήγορη απόδοση ανάγνωσης και εγγραφής. Το Bigtable είναι ιδανικό για φόρτους εργασίας όπως time-series data, IoT telemetry, financial analytics, personalization engines και μεγάλων διαστάσεων λειτουργικές βάσεις δεδομένων. Χρησιμοποιεί ένα αραιό, κατανεμημένο, πολυδιάστατο ταξινομημένο map ως το υποκείμενο μοντέλο αποθήκευσης, κάτι που το κάνει αποδοτικό στην αποθήκευση wide tables όπου πολλές στήλες μπορεί να είναι κενές. Learn more.

Hierarchy

  1. Bigtable Instance

Μια Bigtable instance είναι ο κορυφαίος πόρος που δημιουργείτε. Δεν αποθηκεύει δεδομένα από μόνη της — σκεφτείτε την σαν ένα λογικό κοντέινερ που ομαδοποιεί τα clusters και τα tables σας.

Two types of instances exist:

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

Ένα cluster περιέχει τους πραγματικούς υπολογιστικούς και αποθηκευτικούς πόρους που χρησιμοποιούνται για την εξυπηρέτηση των δεδομένων του Bigtable.

  • Κάθε cluster βρίσκεται σε μία μόνο region.
  • Αποτελείται από nodes, που παρέχουν CPU, RAM και δικτυακή χωρητικότητα.
  • Μπορείτε να δημιουργήσετε multi-cluster instances για υψηλή διαθεσιμότητα ή global reads/writes.
  • Τα δεδομένα αναπαράγονται αυτόματα μεταξύ clusters στο ίδιο instance.

Important:

  • Τα tables ανήκουν στο instance, όχι σε ένα συγκεκριμένο cluster.
  • Τα clusters απλώς παρέχουν τους πόρους για την εξυπηρέτηση των δεδομένων.
  1. Tables

Ένας table στο Bigtable είναι παρόμοιος με ένα table σε NoSQL βάσεις δεδομένων:

  • Τα δεδομένα αποθηκεύονται σε rows, που αναγνωρίζονται από ένα row key.
  • Κάθε row περιέχει column families, οι οποίες περιέχουν columns.
  • Είναι αραιό: τα κενά cells δεν καταναλώνουν χώρο.
  • Το Bigtable αποθηκεύει τα δεδομένα ταξινομημένα λεξικογραφικά με βάση το row key.

Τα tables εξυπηρετούνται από όλα τα clusters στο instance.

  1. Tablets (and Hot Tablets)

Το Bigtable χωρίζει κάθε table σε οριζόντιες κατατμήσεις που ονομάζονται tablets. Ένα tablet είναι:

  • Ένα συνεχές εύρος row keys.
  • Αποθηκεύεται σε έναν μόνο node σε κάθε δεδομένη στιγμή.
  • Τα tablets χωρίζονται, συγχωνεύονται και μετακινούνται αυτόματα από το Bigtable.

Ένα hot tablet συμβαίνει όταν:

  • Πάρα πολλές αναγνώσεις ή εγγραφές χτυπούν το ίδιο εύρος row-key (ίδιο tablet).
  • Αυτό το συγκεκριμένο tablet/node υπερφορτώνεται.
  • Αυτό οδηγεί σε hotspots (στένωση απόδοσης).
  1. Authorized Views

Τα Authorized Views σας επιτρέπουν να δημιουργήσετε ένα υποσύνολο των δεδομένων ενός table που μπορεί να κοινοποιηθεί σε συγκεκριμένους χρήστες ή εφαρμογές χωρίς να τους δοθεί πρόσβαση σε ολόκληρο το table. Αυτό είναι χρήσιμο για:

  • Περιορισμό πρόσβασης σε ευαίσθητα δεδομένα.
  • Παροχή read-only πρόσβασης σε συγκεκριμένες στήλες ή σειρές.
  1. App Profiles

Ένα App Profile στο Bigtable είναι μια ρύθμιση που ορίζει πώς μια συγκεκριμένη εφαρμογή ή client πρέπει να αλληλεπιδρά με ένα Bigtable instance, ειδικά σε περιβάλλοντα με πολλαπλά clusters. Ελέγχει τη συμπεριφορά routing — αν τα αιτήματα πρέπει να κατευθύνονται σε ένα μόνο cluster ή να διανεμηθούν μεταξύ πολλαπλών clusters για υψηλή διαθεσιμότητα — και καθορίζει πώς αντιγράφονται οι εγγραφές, επιλέγοντας μεταξύ synchronous (ισχυρότερη συνέπεια) ή asynchronous (χαμηλότερη καθυστέρηση) modes.

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

Αναβάθμιση δικαιωμάτων

GCP - Bigtable Privesc

Μετά-εκμετάλλευση

GCP - Bigtable Post Exploitation

Διατήρηση πρόσβασης

GCP - Bigtable Persistence

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks