Het beveiligen van gegevens is een topprioriteit voor elke organisatie, en encryptie is een van de meest effectieve manieren om gegevens te beschermen. Maar hoe precies? Google Cloud Platform (GCP) biedt een sleutelbeheerservice genaamd Google Key Management Service (KMS), waarmee je snel encryptiesleutels kunt maken en beheren.
In deze handleiding leer je hoe je een sleutel kunt maken en gebruiken in GCP KMS. Je gaat ook door enkele belangrijke concepten met betrekking tot sleutelbeheer, zoals sleutels, sleutelringen en sleutelversies.
Klaar? Lees verder en breng je gegevensbeveiliging naar een hoger niveau!
Vereisten
Deze handleiding zal een praktische demonstratie zijn. Zorg ervoor dat je een GCP-account hebt met actieve facturering om mee te doen, maar een gratis proefversie zou voldoende zijn.
A Google Cloud Project is a collection of resources you create and manage in GCP. Note that you should create separate projects for each of your applications. Doing so lets you efficiently manage the resources for each application. In the end, you can delete all the resources associated with a project, which is helpful for clean-up.
Om een nieuw Google Cloud-project te maken:
1. Open je favoriete webbrowser en log in op de GCP Console. Net als de AWS-console is de GCP-console een op web gebaseerde interface voor het beheren van je resources in Google Cloud.
2. Navigeer op je GCP-console naar de pagina Resources beheren, waar je al je bestaande projecten kunt zien en beheren.
3. Klik vervolgens op de knop PROJECT MAKEN om een nieuw project te maken.

Tenslotte, configureer de volgende instellingen voor je nieuwe project en klik op MAKEN om je project te maken.
- Projectnaam – Voer een naam in voor je project, die niet uniek hoeft te zijn en later kan worden gewijzigd. De keuze van deze tutorial voor de projectnaam is gcp-kms-demo.
- Locatie – Selecteer de hoofdorganisatie of map waarin je dit project wilt maken. Je nieuw gecreëerde project zal de bovenliggende ouder zijn. Maar je kunt dit veld overslaan als je geen organisatie hebt.
Het Locatieveld verschijnt mogelijk niet als je een proefaccount gebruikt.

Als het gelukt is, zie je je nieuw gecreëerde Google Cloud-project vermeld, zoals hieronder weergegeven.

Het inschakelen van de Cloud KMS API voor het Google Cloud-project
Je hebt zojuist je eerste, als het gelukt is, zie je je nieuw gecreëerde Google Cloud-project vermeld zoals hieronder weergegeven, Cloud-project gemaakt, en meestal kun je het niet onbeschermd laten. Maak je geen zorgen! De Cloud KMS API is een set door Google geleverde versleutelings-API’s die je kunt gebruiken om je gegevens te beschermen.
Om de Cloud KMS API te gebruiken, moet je deze inschakelen voor je project:
1. Ga naar de pagina van de Google Project Selector, en selecteer je Google Cloud-project (gcp-kms-demo).

2. Ga vervolgens naar de pagina API-toegang inschakelen, en klik op VOLGENDE om de API in te schakelen voor het geselecteerde project.

3. Klik nu op INSCHAKELEN om de Cloud KMS API in te schakelen.

Op dit moment is de Cloud KMS API ingeschakeld voor uw project. U kunt nu beginnen met het gebruik van de Cloud KMS API om versleutelingssleutels te maken en beheren.

Het starten van de Cloud Shell om sleutels en sleutelringen te maken
Het inschakelen van de Cloud KMS API bereidt u voor om sleutels en sleutelringen te maken om uw gegevens te versleutelen en ontsleutelen. Sleutels en sleutelringen zijn de fundamentele concepten in Cloud KMS.
Key | A key is an encryption key stored in a keyring that you can use to encrypt and decrypt your data. Each key has a name, and the name must be unique within the keyring. You can use IAM ( Identity and Access Management) policies to control who has access to keys. |
Keyring | A keyring is a container in Cloud KMS that holds a set of keys. You can think of the keyring as a folder on your computer that contains many files. But in essence, a keyring holds a set of keys in a specific Cloud KMS location. |
Maar voordat u sleutels en sleutelringen maakt, moet u eerst de Cloud Shell starten. De Cloud Shell is een gratis interactieve shell die u kunt gebruiken om commando’s uit te voeren op het Google Cloud Platform zonder dat u tools op uw machine hoeft te installeren.
1. Klik in de GCP-console op de knop Cloud Shell activeren (rechtsboven), zoals hieronder weergegeven, om de Cloud Shell te starten.

A Cloud Shell session initializes, as shown below (at the bottom of the page), where you can run commands.

2. Voer vervolgens de volgende gcloud-opdracht uit. Dit venster verschijnt de eerste keer dat u de gcloud-opdracht uitvoert in de Cloud Shell en vraagt u om de gcloud-tool machtiging te verlenen om toegang te krijgen tot de KSM API.in de Cloud Shell om een nieuwe sleutelring (keyring) met de naam kms-demo-keyring in de wereldwijde locatie te maken.
–locatie “global”
Wanneer gevraagd, klik op AUTORISEREN om door te gaan met het uitvoeren van de opdracht.

Deze prompt verschijnt de eerste keer dat je het gcloud-commando uitvoert in de Cloud Shell en vraagt je om de gcloud-tool te autoriseren om toegang te krijgen tot de KSM API.

Zoals hieronder wordt getoond, zijn er geen uitvoerberichten wanneer de keyring succesvol is aangemaakt.
Gebruik Encryption Keys als een Professional met AWS Key Management
Merk op dat de locatie (global) hetzelfde moet zijn als wat je hebt ingesteld voor de keyring.
–location “global” \
–keyring “kms-demo-keyring” \

–purpose “encryption”
Elke keer dat je een sleutel maakt of roteert, maakt Cloud KMS een nieuwe versie van de sleutel. Deze functie stelt je in staat om eenvoudig terug te gaan naar een vorige versie indien nodig.
PURPOSE | ENCRYPT_DECRYPT | Indicates the purpose of the key (encryption and decryption). |
ALGORITHM | GOOGLE_SYMMETRIC_ENCRYPTION | Indicates the key uses Google Symmetric Encryption, the default algorithm for Cloud KMS keys. |
PROTECTION_LEVEL | SOFTWARE | Indicates the key is software-protected. |
LABELS | You can add labels to keys to categorize them or to add additional information. | |
PRIMARY ID | 1 | Indicates the key is the primary key for the keyring, which is what Cloud KMS uses by default when you do not specify a key.
Note that you can have only one primary key per keyring. |
PRIMARY STATE | ENABLED | Shows the current status of the key. The ENABLED state indicates the key can be used for its specified purpose. |

Net als bij het maken van een keyring zijn er geen uitvoerberichten wanneer de sleutel succesvol is aangemaakt.
Maar op dit punt heb je een keyring en een sleutel die je kunt gebruiken om je gegevens te versleutelen en ontsleutelen.
4. Voer nu het volgende commando uit om de sleutels in een –keyring (kms-demo-keyring) op te lijsten.
Je zult een uitvoer zien die vergelijkbaar is met de onderstaande schermafbeelding met de volgende informatie:
Gegevens versleutelen en ontsleutelen met GCP KMS

1. Voer de onderstaande opdracht uit, die geen uitvoer geeft, maar een tekstbestand (gcp-kms-demo.txt) met enkele teksten maakt om te versleutelen.
2. Voer vervolgens elke opdracht hieronder uit om het tekstbestand (gcp-kms-demo.txt) op te sommen (ls) en de inhoud te bekijken (cat) om de gegevens te verifiëren.

# Lijst het tekstbestand op
# Bekijk de inhoud van het tekstbestand
3. Zodra geverifieerd, voer de onderstaande opdracht uit om de gegevens in je bestand (gcp-kms-demo.txt) te versleutelen met je sleutel (kms-demo-key01). De versleutelde gegevens worden vervolgens opgeslagen in een nieuw bestand genaamd gcp-kms-demo.txt.encrypted.

–location “global” \
–keyring “kms-demo-keyring” \

–key “kms-demo-key01” \
–plaintext-file ./gcp-kms-demo.txt \

–ciphertext-file ./gcp-kms-demo.txt.encrypted
4. Voer nu het volgende commando uit om te proberen de gegevens van het versleutelde bestand te bekijken (gcp-kms-demo.txt.encrypted).
Je zult gebroken, vreemde en onleesbare symbolen zien, zoals hieronder getoond. Deze uitvoer geeft aan dat het bestand succesvol is versleuteld.
Je moet dit versleutelde bestand opslaan op een veilige locatie. Je kunt bijvoorbeeld meerdere kopieën opslaan in AWS S3, GCP Cloud Storage of Azure Blob Storage. Google Cloud slaat de tekstversie van je gegevens niet op. Dus als je het versleutelde bestand kwijtraakt, is het onmogelijk om het bestand te decoderen om de oorspronkelijke gegevens terug te krijgen.

Hoe bestanden uploaden naar S3 met de AWS CLI
5. Eenmaal versleuteld, voer het onderstaande commando uit om je gegevens (gcp-kms-demo.txt.encrypted) te decoderen met dezelfde sleutel (kms-demo-key01). Maar deze keer worden de gedecodeerde gegevens opgeslagen in een nieuw bestand genaamd gcp-kms-demo.txt.decrypted.
Net als bij versleuteling geeft dit commando geen uitvoer, maar je zult de decodering verifiëren in de volgende stap.
–locatie “globaal” \
–sleutelring “kms-demo-sleutelring” \

–sleutel “kms-demo-sleutel01” \

–ciphertext-bestand ./gcp-kms-demo.txt.encrypted \
–plaintext-bestand ./gcp-kms-demo.txt.decrypted

6. Voer tot slot het volgende commando uit om het gedecodeerde bestand (gcp-kms-demo.txt.decrypted) te bekijken (cat) en controleer of de gegevens succesvol zijn gedecodeerd.
Hieronder kunt u de oorspronkelijke gegevens zien die u hebt opgeslagen in het tekstbestand. Gefeliciteerd! U hebt succesvol gegevens versleuteld en gedecodeerd met behulp van Google Cloud KMS.
Google Cloud Resources Opruimen