1. Einführung
Cloud KMS Autokey vereinfacht das Erstellen und Verwenden von vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEKs) durch automatisierte Bereitstellung und Zuweisung. Mit Autokey müssen Ihre Schlüsselbunde, Schlüssel und Dienstkonten nicht vorab geplant und bereitgestellt werden. Stattdessen generiert Autokey Ihre Schlüssel bei Bedarf beim Erstellen Ihrer Ressourcen. Dabei werden delegierte Berechtigungen anstelle von Cloud KMS-Administratoren verwendet.
Die Verwendung von Autokey-Schlüsseln kann Ihnen dabei helfen, sich einheitlich an Branchenstandards und empfohlene Praktiken für die Datensicherheit anzupassen, einschließlich HSM-Schutzniveau, Aufgabentrennung, Schlüsselrotation, Standort und Schlüsselspezifität. Autokey erstellt Schlüssel, die sowohl allgemeinen Richtlinien als auch Richtlinien speziell für den Ressourcentyp für Google Cloud-Dienste entsprechen, die in Cloud KMS Autokey eingebunden sind. Nachdem sie erstellt wurden, funktionieren die mit Autokey angeforderten Schlüssel genauso wie andere Cloud HSM-Schlüssel mit denselben Einstellungen.
Inhalt
In diesem Codelab starten Sie geschützte Ressourcen mit Cloud KMS Autokey. Dazu erstellen Sie Folgendes:
- eine Ordnerressource
- ein Projekt, das Ihre Schlüssel enthält
- Ein Dienst-Agent, der als Assistent für die Schlüsselverwaltung fungiert
- Ein Projekt, das Ihre geschützten Ressourcen hostet
- BigQuery-Datasets, nichtflüchtige Speicher und Cloud Storage-Buckets, die mit Cloud KMS Autokey verschlüsselt wurden
Voraussetzungen
- Google Cloud-Organisation
- Ihr Google Cloud-Hauptkonto muss die folgenden Rollen auf Organisationsebene haben, um dieses Lab abzuschließen:
- Cloud KMS Autokey-Administrator (roles/cloudkms.autokeyAdmin)
- Ordner-IAM-Administrator (roles/resourcemanager.folderIamAdmin)
- Rechnungskontonutzer (roles/billing.user)
- Google Cloud-Projekte mit aktivierter Abrechnung
- Linux-Basis
2. Ordner erstellen
Ordner sind Knoten in der Ressourcenhierarchie der Cloud Platform. Ein Ordner kann Projekte, andere Ordner oder eine Kombination aus beidem enthalten. Organisationsressourcen können Ordner verwenden, um Projekte unter dem Organisationsressourcenknoten in einer Hierarchie zu gruppieren. So erstellen Sie einen Ordner:
- Rufen Sie in der Google Cloud Console die Seite Ressourcen verwalten auf.
- Achten Sie darauf, dass der Name der Organisationsressource in der Drop-down-Liste der Organisation oben auf der Seite ausgewählt ist.
- Klicken Sie auf Ordner erstellen .
- Standardordner auswählen
- Geben Sie im Feld „Ordnername“ den Namen des neuen Ordners ein. Für dieses Lab verwenden Sie „Autokey-Folder“.
- Klicken Sie unter „Ziel“ auf „Durchsuchen“ und wählen Sie die Organisationsressource oder den Ordner aus, unter dem Sie den neuen Ordner erstellen möchten.
- Klicken Sie auf „Erstellen“.
3. Ressourcenprojekt erstellen
Es ist wichtig, ein Ressourcenprojekt zu erstellen, das die Ressourcen wie BigQuery-Datasets, nichtflüchtige Speicher und Cloud Storage-Buckets enthält, die Sie mit Cloud KMS Autokey verschlüsseln möchten. Wenn Sie versuchen, durch Autokey geschützte Ressourcen im Schlüsselprojekt zu erstellen, lehnt Autokey die Anfrage nach einem neuen Schlüssel ab. So erstellen Sie das Ressourcenprojekt:
- Rufen Sie in der Google Cloud Console die Seite Ressourcen verwalten auf.
- Klicke auf „Projekt erstellen“.
- Wähle oben auf der Seite in der Dropdown-Liste Organisation auswählen die Option „Autokey-Ordner“ aus. Ordner.
- Gib im jetzt angezeigten Fenster „Neues Projekt“ einen Projektnamen ein und wähle ggf. ein Rechnungskonto aus. Für dieses Lab sollten Sie sich „Autokey Encrypted Resources“
- Wähle im Feld Location (Speicherort) den „Autokey-Folder“ (Autokey-Ordner) aus. Ordner. Diese Ressource ist das hierarchische übergeordnete Element des neuen Projekts. Ihre Einstellungen sollten in etwa so aussehen:
- Kopieren Sie die Projekt-ID. Im obigen Beispiel lautet die Projekt-ID „causal-hour-43319-m4“. Ihre ID wird jedoch anders angezeigt – in den Texteditor Ihrer Wahl.
- Klicken Sie auf „Erstellen“
- Wählen Sie das Cloud Shell-Symbol oben rechts auf dem Bildschirm aus.
- Sobald Cloud Shell aktiv ist, speichern Sie Ihre Autokey-Projekt-ID mit dem folgenden Befehl als Variable:
export RESOURCE_PROJECT=<paste your Resource Project ID>
Weil meine Projekt-ID „key-management-433319“ lautet sieht mein Befehl so aus:
export AUTOKEY_PROJECT=causal-hour-43319-m4
- Führen Sie den folgenden Befehl aus, um Befehle aus Ihrem Schlüsselprojekt auszuführen:
gcloud config set project $RESOURCE_PROJECT
Autorisieren Sie Cloud Shell, wenn Sie dazu aufgefordert werden. Klicken Sie dazu auf „Autorisieren“.
- Da dieses Projekt Ressourcen enthält, müssen wir die APIs für die Dienste aktivieren, die von Autokey geschützt werden. Führen Sie dazu diesen Befehl aus:
gcloud services enable storage.googleapis.com bigquery.googleapis.com compute.googleapis.com
4. Schlüsselprojekt erstellen
Wir empfehlen, ein Projekt zu erstellen, das von Autokey erstellte Cloud KMS-Ressourcen enthält. Dies wird als „Schlüsselprojekt“ bezeichnet . Das Schlüsselprojekt kann im selben Ordner erstellt werden, in dem Sie Autokey aktivieren möchten. Sie sollten keine weiteren Ressourcen im Schlüsselprojekt erstellen. Wenn Sie versuchen, durch Autokey geschützte Ressourcen im Schlüsselprojekt zu erstellen, lehnt Autokey die Anfrage nach einem neuen Schlüssel ab. So erstellen Sie das Schlüsselprojekt:
- Rufen Sie in der Google Cloud Console die Seite Ressourcen verwalten auf.
- Klicke auf „Projekt erstellen“.
- Wähle oben auf der Seite in der Dropdown-Liste Organisation auswählen die Option „Autokey-Ordner“ aus. Ordner.
- Gib im jetzt angezeigten Fenster „Neues Projekt“ einen Projektnamen ein und wähle ggf. ein Rechnungskonto aus. Für dieses Lab verwenden Sie am besten „Key Management“.
- Wählen Sie im Feld „Speicherort“ den „Autokey-Ordner“ aus. Ordner. Diese Ressource ist das hierarchische übergeordnete Element des neuen Projekts. Ihre Einstellungen sollten in etwa so aussehen:
- Kopieren Sie die Projekt-ID. Im obigen Beispiel lautet die Projekt-ID „key-management-433319“. Ihre ID wird jedoch anders angezeigt – in den Texteditor Ihrer Wahl.
- Klicken Sie auf „Erstellen“.
5. Autokey-Schlüsselprojekt vorbereiten
Nachdem alle Projekte erstellt wurden, müssen Sie das Hauptprojekt für die Verwendung von Cloud KMS Autokey konfigurieren.
- Wählen Sie oben rechts auf dem Bildschirm das Cloud Shell-Symbol aus.
- Sobald Cloud Shell aktiv ist, speichern Sie Ihre Autokey-Projekt-ID mit dem folgenden Befehl als Variable:
export AUTOKEY_PROJECT=<paste your Autokey Project ID>
Weil meine Projekt-ID „key-management-433319“ lautet sieht mein Befehl so aus:
export AUTOKEY_PROJECT=key-management-433319
- Führen Sie den folgenden Befehl aus, um Befehle aus Ihrem Schlüsselprojekt auszuführen:
gcloud config set project $AUTOKEY_PROJECT
Autorisieren Sie Cloud Shell, wenn Sie dazu aufgefordert werden. Klicken Sie dazu auf „Autorisieren“.
- Aktivieren Sie die Cloud KMS API mit dem folgenden Befehl
gcloud services enable cloudkms.googleapis.com kmsinventory.googleapis.com
- Führen Sie den folgenden Befehl aus, um Ihre Projektnummer als Variable mit dem Namen AUTOKEY_PROJECT_NUMBER zu speichern.
export AUTOKEY_PROJECT_NUMBER=$(gcloud projects list \
--filter="$(gcloud config get-value project)" \
--format="value(PROJECT_NUMBER)")
- Speichern Sie die E-Mail-Adresse des Hauptkontos mit dem folgenden Befehl als Variable:
export KEY_ADMIN_EMAIL=<paste your Principal's email>
- Gewähren Sie Ihren Cloud KMS-Administratorberechtigungen für das Schlüsselprojekt Cloud KMS-Administratorberechtigungen
gcloud projects add-iam-policy-binding $AUTOKEY_PROJECT_NUMBER \
--role=roles/cloudkms.admin \
--member=user:$KEY_ADMIN_EMAIL
6. Cloud KMS-Dienst-Agents einrichten
Der Cloud KMS-Dienst-Agent für ein Schlüsselprojekt erstellt im Namen eines menschlichen Cloud KMS-Administrators Schlüssel und wendet beim Erstellen von Ressourcen IAM-Richtlinienbindungen an. Damit der Cloud KMS-Dienst-Agent Schlüssel erstellen und zuweisen kann, benötigt der Cloud KMS-Dienst-Agent Cloud KMS-Administratorberechtigungen.
- Ermitteln Sie die Organisations-ID mit dem folgenden Befehl:
gcloud organizations list | grep -P -i 'ID:' | grep -i '[0-9]'
- Kopieren Sie die Organisations-ID. Dies ist das numerische Ergebnis, das rot hervorgehoben ist.
- Speichern Sie die Organisations-ID als Variable mit dem Namen ORG_ID:
export ORG_ID=<paste your Organization ID>
- Erstellen Sie den Cloud KMS-Dienst-Agent mit dem folgenden Befehl:
gcloud beta services identity create --service=cloudkms.googleapis.com \
--project=$AUTOKEY_PROJECT_NUMBER
- Gewähren Sie dem Dienst-Agent die Cloud KMS-Administratorrolle:
gcloud projects add-iam-policy-binding $AUTOKEY_PROJECT_NUMBER \
--role=roles/cloudkms.admin \
--member=serviceAccount:service-$AUTOKEY_PROJECT_NUMBER@gcp-sa-cloudkms.iam.gserviceaccount.com
- Fügen Sie eine IAM-Richtlinienbindung hinzu, damit Sie die Nutzung Ihrer Cloud KMS-Schlüssel sehen können. Die Schlüsselverwendung bietet Informationen zu jedem Schlüssel, einschließlich der Anzahl der geschützten Ressourcen, Projekte und einzelnen Google Cloud-Produkte, die den Schlüssel verwenden. Diese Detailebene ist für alle Nutzer mit der Rolle „Cloud KMS Viewer“ für den Schlüssel verfügbar. Führen Sie dazu diesen Befehl aus:
gcloud organizations add-iam-policy-binding $ORGANIZATION_ID \
--member="serviceAccount:service-org-$ORGANIZATION_ID@gcp-sa-cloudkms.iam.gserviceaccount.com" \
--role='roles/cloudkms.orgServiceAgent'
- Gewähren Sie Ihrem Cloud KMS-Dienstkonto die Rolle „Dienst-Agent der Cloud KMS-Organisation“ (cloudkms.orgServiceAgent) für Ihre Organisationsressource.
gcloud organizations add-iam-policy-binding $ORG_ID \
--member="serviceAccount:service-org-$ORG_ID@gcp-sa-cloudkms.iam.gserviceaccount.com" \
--role='roles/cloudkms.orgServiceAgent'
- Gewähren Sie jedem, der Details zur Schlüsselnutzung sehen muss, die Rolle „Betrachter von geschützten Ressourcen in Cloud KMS“ für Ihre Organisationsressource.
gcloud organizations add-iam-policy-binding $ORG_ID \
--member="user:$KEY_ADMIN_EMAIL" \
--role='roles/cloudkms.protectedResourcesViewer'
7. Autokey-Nutzerrollen gewähren
Bevor Ihre Entwickler Autokey verwenden können, müssen Sie ihnen die erforderliche Rolle gewähren. Sie können die Rolle auf Ordner- oder auf Projektebene zuweisen. Mit dieser Rolle können Entwickler beim Erstellen von Ressourcen in diesem Ordner oder Projekt Schlüssel vom Cloud KMS-Dienst-Agent anfordern.
Der erste Schritt beim Gewähren der Rolle besteht darin, die Ordner-ID zu speichern.
- Suchen Sie mit dem folgenden Befehl nach der Ordner-ID:
gcloud projects describe $AUTOKEY_PROJECT | grep 'id' | grep -P -i '[0-9]+'
- Kopieren Sie die Ordner-ID. Dieser Teil ist rot markiert.
- Speichern Sie die Ordner-ID als Variable mit dem Namen FOLDER_ID.
export FOLDER_ID=<paste the folder ID>
Für dieses Lab definieren wir den Schlüsseladministrator als Autokey-Nutzer. In Produktionsfällen und in Organisationen mit mehr als einer Person sollte sich der Schlüsseladministrator jedoch vom Entwickler unterscheiden, der Autokey verwendet.
- Gewähren Sie die Rolle roles/cloudkms.autokeyUser auf Ordnerebene:
gcloud resource-manager folders add-iam-policy-binding \
$FOLDER_ID --role=roles/cloudkms.autokeyUser \
--member=user:$KEY_ADMIN_EMAIL
8. Cloud KMS Autokey für einen Ressourcenordner aktivieren
In diesem Schritt aktivieren Sie Cloud KMS Autokey für einen Ressourcenordner und identifizieren das Cloud KMS-Projekt, das Autokey-Ressourcen für diesen Ordner enthalten wird. Wenn Sie Autokey für diesen Ordner aktivieren, wird Autokey für alle Ressourcenprojekte im Ordner aktiviert.
- Rufen Sie in der Google Cloud Console die Seite KMS-Steuerelemente auf.
- Klicken Sie auf Ordner auswählen .
- Wählen Sie in der Kontextauswahl den Ordner aus, in dem Sie Autokey aktivieren möchten. Dies ist derselbe Ordner, den Sie zuvor erstellt haben. Er enthält Ihr Ressourcenprojekt und das Schlüsselverwaltungsprojekt. Das sollte so aussehen:
- Klicken Sie auf "Enable" (Aktivieren).
- Klicken Sie auf „Browse“ (Durchsuchen), um das Schlüsselprojekt auszuwählen.
- Wählen Sie Ihr Schlüsselverwaltungsprojekt aus und klicken Sie auf „Senden“.
Eine Meldung bestätigt, dass Cloud KMS Autokey für den Ordner aktiviert ist. Die Seite „KMS-Einstellungen“ sollte so aussehen:
9. Geschützte Ressourcen mit Cloud KMS Autokey erstellen
Nichtflüchtiger Compute Engine-Speicher
Autokey erstellt für jedes Laufwerk, jedes Image und jedes Maschinen-Image einen neuen Schlüssel am selben Speicherort wie die zu erstellende Ressource.
Führen Sie die folgenden Schritte aus, um ein Laufwerk zu erstellen:
- Rufen Sie in der Google Cloud Console die Seite Laufwerke auf.
- Klicken Sie auf Laufwerk erstellen und geben Sie die Attribute für das neue Laufwerk ein.
- Wählen Sie unter „Verschlüsselung“ die Option „Cloud KMS-Schlüssel“ aus.
- Wählen Sie als Schlüsseltyp „Cloud KMS mit Autokey“ aus und klicken Sie dann auf „Neuen Schlüssel anfordern“. Sobald Ihr Schlüssel erstellt wurde und einsatzbereit ist, wird eine Meldung angezeigt.
- Klicken Sie auf „Erstellen“, um die Erstellung des Laufwerks abzuschließen.
Sie können auf ähnliche Weise vorgehen, um geschützte VM-Instanz-, Image- und Maschinen-Image-Ressourcen zu erstellen.
Google Cloud Storage-Buckets
Autokey erstellt einen neuen Schlüssel am selben Ort wie der Bucket. Der von Autokey erstellte Schlüssel wird als Bucket-Standardschlüssel zugewiesen.
Autokey erstellt keine Schlüssel für Objekte. Standardmäßig wird für in einem Bucket erstellte Objekte der Standardschlüssel des Buckets verwendet. Wenn Sie ein Objekt mit einem anderen Schlüssel als dem Bucket-Standardschlüssel verschlüsseln möchten, können Sie manuell einen CMEK erstellen und diesen Schlüssel beim Erstellen des Objekts verwenden.
- Rufen Sie in der Google Cloud Console die Seite Bucket erstellen auf.
- Wählen Sie einen global eindeutigen, dauerhaften Namen aus.
- Wählen Sie einen Speicherort für die Daten aus.
- Gehen Sie zum Abschnitt „Auswählen, wie Objektdaten geschützt werden sollen“ weiter. Abschnitt
- Klicken Sie auf „Wählen Sie aus, wie Objektdaten geschützt werden sollen“. zum Maximieren des Bereichs
- Maximieren Sie den Abschnitt „Datenverschlüsselung“ und wählen Sie „Cloud KMS-Schlüssel“ aus.
- Wählen Sie als Schlüsseltyp „Cloud KMS mit Autokey“ aus und klicken Sie dann auf „Neuen Schlüssel anfordern“. Sobald Ihr Schlüssel erstellt wurde und einsatzbereit ist, wird eine Meldung angezeigt.
- Klicken Sie auf „Erstellen“, um die Bucket-Erstellung abzuschließen. Wenn Ihnen ein Dialogfeld angezeigt wird, in dem Sie darüber informiert werden, dass der öffentliche Zugriff verhindert wird klicken Sie auf „Bestätigen“.
BigQuery-Dataset
Für jedes neue Dataset erstellt Autokey einen neuen Schlüssel am selben Ort wie die Ressource selbst. Dieser wird zum Standardschlüssel des Datasets. Autokey erstellt keine Schlüssel für Tabellen, Abfragen, temporäre Tabellen oder Modelle. Standardmäßig werden diese Ressourcen durch den Dataset-Standardschlüssel geschützt. Wenn Sie eine Ressource in einem Dataset mit einem anderen Schlüssel als dem Dataset-Standardschlüssel schützen möchten, können Sie manuell einen CMEK erstellen und diesen Schlüssel beim Erstellen der Ressource verwenden.
Zum Erstellen eines BigQuery-Datasets benötigen Sie zuerst die Rolle „BigQuery-Nutzer“.
- Zurück zu Cloud Shell
- Cloud Shell so konfigurieren, dass Befehle aus dem Ressourcenprojekt ausgeführt werden
gcloud config set project $RESOURCE_PROJECT
- Führen Sie den folgenden Befehl aus, um Ihre Projektnummer als Variable mit dem Namen RESOURCE_PROJECT_NUMBER zu speichern
export RESOURCE_PROJECT_NUMBER=$(gcloud projects list --filter="$(gcloud config get-value project)" --format="value(PROJECT_NUMBER)")
- Sich selbst die Rolle „BigQuery-Nutzer“ zuweisen
gcloud projects add-iam-policy-binding $RESOURCE_PROJECT_NUMBER \
--role=roles/bigquery.user \
--member=user:$KEY_ADMIN_EMAIL
Da Sie jetzt die Rolle „BigQuery-Nutzer“ haben, können Sie ein Dataset erstellen und mit Autokey schützen.
- Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.
- Folgen Sie der Anleitung unter „Dataset erstellen“, bis Sie zu „Erweiterte Optionen“ gelangen > Verschlüsselung.
- Wählen Sie unter „Verschlüsselung“ die Option „Cloud KMS-Schlüssel“ aus.
- Wählen Sie als Schlüsseltyp „Cloud KMS mit Autokey“ aus und klicken Sie dann auf „Neuen Schlüssel anfordern“. Sobald Ihr Schlüssel erstellt wurde und einsatzbereit ist, wird eine Meldung angezeigt.
- Klicken Sie auf „Dataset erstellen“, um die Erstellung des Datasets abzuschließen.
10. Deine Schlüssel entdecken
In diesem Schritt sehen Sie sich die Schlüssel an, die von Cloud KMS Autokey in Ihrem Namen erstellt wurden. Rufen Sie dazu die Seite „Schlüsselinventar“ auf. Die Seite „Schlüsselinventar“ enthält umfassende Informationen zu den kryptografischen Schlüsseln in Ihrem Projekt. Beachten Sie, dass die Daten möglicherweise verzögert sind. Wenn Sie beispielsweise eine neue geschützte Ressource erstellen, werden die geschützte Ressource und die zugehörige Schlüsselversion nicht sofort dem Tab „Nutzungs-Tracking“ hinzugefügt. Weitere Einschränkungen
- Rufen Sie in der Google Cloud Console die Seite Schlüsselinventar auf.
- Optional: Um die Liste der Schlüssel zu filtern, geben Sie die Suchbegriffe in das Filterfeld „filter_list“ ein und drücken Sie die Eingabetaste. Sie können beispielsweise nach Standort, Schlüsselbund, Status oder anderen Eigenschaften der Schlüssel filtern.
- Klicken Sie auf den Namen des Schlüssels, für den Sie Nutzungsinformationen abrufen möchten.
- Klicken Sie auf „Übersicht“. Beachten Sie, dass Sie einen Schlüssel pro erstellter Ressource haben. Jeder Schlüsselname enthält den Namen der Ressource, die der Schlüssel schützt (z.B. "compute-disk" oder "storage-bucket"). Cloud KMS Autokey sorgt dafür, dass für jeden Schlüssel 365 Tage nach seiner Erstellung eine Rotation geplant ist und jedem Schlüssel das „HSM“ zugewiesen wird Schutzniveau.
- Klicken Sie auf den Tab „Nutzungs-Tracking“. Beachten Sie den Informationsgrad: Hier wird jede Ressource angezeigt, die der Schlüssel verschlüsselt, zusammen mit dem Projekt, dem Standort und dem Erstellungsdatum.
- Optional: Um die Liste der geschützten Ressourcen zu filtern, geben Sie Ihre Suchbegriffe in das Filterfeld „filter_list“ ein und drücken Sie dann die Eingabetaste.
11. Glückwunsch
Herzlichen Glückwunsch. Sie haben erfolgreich Google Cloud-Ressourcen erstellt und sie bei Bedarf automatisch mit Cloud KMS Autokey verschlüsselt.
Sie kennen jetzt die wichtigsten Schritte zum Einrichten von Autokey und verwenden es, um Ihre Ressourcen automatisch mit Cloud KMS-Schlüsseln zu verschlüsseln.
12. Nächste Schritte
Daten in Ressourcen mit Autokey-Verschlüsselung hochladen
- Google Compute Engine-Instanz (GCE) erstellen
- Autokey-geschützten nichtflüchtigen Speicher an Ihre GCE-Instanz anhängen
- Daten in das BigQuery-Dataset hochladen
- Objekte in einen Google Cloud Storage-Bucket hochladen
- Google Cloud Storage-Daten in BigQuery laden