GCP - KMS Privesc
KMS
Informacije o KMS-u:
GCP - KMS EnumImajte na umu da u KMS-u dozvole nisu samo nasleđene od Organizacija, Foldera i Projekata, već i od Keyring-ova.
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToDecrypt
Možete koristiti ovu dozvolu da dekriptujete informacije sa ključem nad kojim imate ovu dozvolu.
cloudkms.cryptoKeys.setIamPolicy
cloudkms.cryptoKeys.setIamPolicy
Napadač sa ovlašćenjem može dodeliti sebi ovlašćenja za upotrebu ključa za dešifrovanje informacija.
cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
Evo konceptualne razrade kako ova delegacija funkcioniše:
Servisni nalog A ima direktni pristup za dešifrovanje koristeći određeni ključ u KMS-u.
Servisni nalog B je dobio dozvolu
useToDecryptViaDelegation
. Ovo mu omogućava da zahteva od KMS-a da dešifruje podatke u ime Servisnog naloga A.
Korišćenje ove dozvole je implicitno u načinu na koji KMS proverava dozvole prilikom zahteva za dešifrovanje.
Kada napravite standardni zahtev za dešifrovanje koristeći Google Cloud KMS API (u Pythonu ili nekom drugom jeziku), servis proverava da li servisni nalog koji je napravio zahtev ima potrebne dozvole. Ako zahtev napravi servisni nalog sa dozvolom useToDecryptViaDelegation
, KMS proverava da li je ovom nalogu dozvoljeno da zahteva dešifrovanje u ime entiteta koji je vlasnik ključa.
Priprema za delegaciju
Definišite prilagođenu ulogu: Kreirajte YAML fajl (npr.
custom_role.yaml
) koji definiše prilagođenu ulogu. Ovaj fajl treba da uključuje dozvolucloudkms.cryptoKeyVersions.useToDecryptViaDelegation
. Evo primera kako bi ovaj fajl mogao izgledati:
Kreiranje prilagođene uloge pomoću gcloud CLI-a: Koristite sledeću komandu za kreiranje prilagođene uloge u vašem Google Cloud projektu:
Zamenite [YOUR_PROJECT_ID]
sa ID-em vašeg Google Cloud projekta.
Dodelite prilagođenu ulogu servisnom nalogu: Dodelite prilagođenu ulogu servisnom nalogu koji će koristiti ovo ovlašćenje. Koristite sledeću komandu:
Zamenite [YOUR_PROJECT_ID]
i [SERVICE_ACCOUNT_EMAIL]
sa ID-jem vašeg projekta i emailom servisnog naloga, redom.
Last updated