GCP - KMS Privesc
Last updated
Last updated
Πληροφορίες σχετικά με το KMS:
Σημειώστε ότι στο KMS οι άδειες δεν κληρονομούνται μόνο από τις Οργανώσεις, τους Φακέλους και τα Έργα, αλλά και από τα Keyrings.
cloudkms.cryptoKeyVersions.useToDecrypt
Μπορείτε να χρησιμοποιήσετε αυτήν την άδεια για να αποκρυπτογραφήσετε πληροφορίες με το κλειδί για το οποίο έχετε αυτήν την άδεια.
cloudkms.cryptoKeys.setIamPolicy
Ένας επιτιθέμενος με αυτήν την άδεια θα μπορούσε να δώσει στον εαυτό του δικαιώματα για να χρησιμοποιήσει το κλειδί για αποκρυπτογράφηση πληροφοριών.
cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
Εδώ υπάρχει μια έννοιακή ανάλυση του πώς λειτουργεί αυτή η ανάθεση:
Ο λογαριασμός υπηρεσίας Α έχει άμεση πρόσβαση για αποκρυπτογράφηση χρησιμοποιώντας ένα συγκεκριμένο κλειδί στο KMS.
Ο λογαριασμός υπηρεσίας Β του επιτρέπεται η άδεια useToDecryptViaDelegation
. Αυτό του επιτρέπει να ζητήσει από το KMS να αποκρυπτογραφήσει δεδομένα εκ μέρους του λογαριασμού υπηρεσίας Α.
Η χρήση αυτής της άδειας είναι υπονοούμενη στον τρόπο που το KMS ελέγχει τις άδειες όταν γίνεται μια αίτηση αποκρυπτογράφησης.
Όταν κάνετε μια κανονική αίτηση αποκρυπτογράφησης χρησιμοποιώντας το Google Cloud KMS API (σε Python ή άλλη γλώσσα), η υπηρεσία ελέγχει εάν ο λογαριασμός υπηρεσίας που κάνει την αίτηση έχει τις απαραίτητες άδειες. Εάν η αίτηση γίνεται από έναν λογαριασμό υπηρεσίας με την άδεια useToDecryptViaDelegation
, το KMS επαληθεύει εάν αυτός ο λογαριασμός έχει την άδεια να ζητήσει αποκρυπτογράφηση εκ μέρους του οντότητας που κατέχει το κλειδί.
Ορισμός του Προσαρμοσμένου Ρόλου: Δημιουργήστε ένα αρχείο YAML (π.χ. custom_role.yaml
) που ορίζει τον προσαρμοσμένο ρόλο. Αυτό το αρχείο πρέπει να περιλαμβάνει την άδεια cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
. Παρακάτω παρουσιάζεται ένα παράδειγμα του περιεχομένου αυτού του αρχείου:
Δημιουργία του προσαρμοσμένου ρόλου χρησιμοποιώντας το gcloud CLI: Χρησιμοποιήστε την παρακάτω εντολή για να δημιουργήσετε τον προσαρμοσμένο ρόλο στο έργο σας στο Google Cloud:
Αντικαταστήστε το [YOUR_PROJECT_ID]
με το αναγνωριστικό του έργου σας στο Google Cloud.
Χορήγηση του Προσαρμοσμένου Ρόλου σε Λογαριασμό Υπηρεσίας: Αναθέστε τον προσαρμοσμένο ρόλο σας σε έναν λογαριασμό υπηρεσίας που θα χρησιμοποιεί αυτήν την άδεια. Χρησιμοποιήστε την παρακάτω εντολή:
Αντικαταστήστε τα [YOUR_PROJECT_ID]
και [SERVICE_ACCOUNT_EMAIL]
με το ID του έργου σας και το ηλεκτρονικό ταχυδρομείο του λογαριασμού υπηρεσίας, αντίστοιχα.