In diesem Thema erfahren Sie, wie Sie den Zugriff auf Cloud KMS-Ressourcen verwalten.
Übersicht
Zum Verwalten des Zugriffs auf Cloud KMS-Ressourcen wie Schlüssel und Schlüsselbunde weisen Sie IAM-Rollen (Identity and Access Management) zu. Sie können die Möglichkeit gewähren oder einschränken, bestimmte kryptografische Vorgänge auszuführen, z. B. das Rotieren eines Schlüssels oder das Verschlüsseln von Daten. Sie können IAM-Rollen für Folgendes zuweisen:
- Einen Schlüssel direkt
- Einen Schlüsselbund, der von allen Schlüsseln in diesem Schlüsselbund übernommen wird
- Ein Google Cloud-Projekt, das von allen Schlüsseln im Projekt übernommen wird
- Einen Google Cloud-Ordner, der von allen Schlüsseln in allen Projekten im Ordner übernommen wird
- Eine Google Cloud-Organisation, die von allen Schlüsseln in Ordnern der Organisation übernommen wird
Eine vollständige Liste der Cloud KMS-Aktionen und IAM-Rollen und -Berechtigungen finden Sie unter Berechtigungen und Rollen. Eine vollständige Liste der Cloud KMS-Ressourcen und ihrer Beziehung zueinander finden Sie unter Cloud KMS-Ressourcen.
Hinweis
Zum Ausführen dieser Aufgaben benötigen Sie die Berechtigung, Cloud KMS-Ressourcen im Google Cloud-Projekt zu verwalten. Die Cloud KMS-Administratorrolle (roles/cloudkms.admin
) enthält die erforderlichen Berechtigungen.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Erstellen Sie eine Ressource, z. B. einen Schlüsselbund.
- Rufen Sie die Ressourcen-IDs für die erstellten Ressourcen ab, z. B. für einen Schlüsselbund, einen Schlüssel und eine Schlüsselversion.
Nur IAM-Hauptkonten mit der Rolle „Inhaber“ (roles/owner
) oder „Cloud KMS-Administrator“ (roles/cloudkms.admin
) können den Zugriff auf Cloud KMS-Ressourcen gewähren oder entziehen.
Rollen für Ressource zuweisen
Im folgenden Beispiel wird eine Rolle zugewiesen, die den Zugriff auf einen Cloud KMS-Schlüssel ermöglicht:
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade ausführen.
gcloud kms keys add-iam-policy-binding key \ --keyring key-ring \ --location location \ --member principal-type:principal-email \ --role roles/role
Ersetzen Sie key durch den Namen des Schlüssels. Ersetzen Sie key-ring durch den Namen des Schlüsselbunds, in dem sich der Schlüssel befindet. Ersetzen Sie location durch den Cloud KMS-Speicherort für den Schlüsselbund. Ersetzen Sie principal-type und principal-email durch den Typ des Hauptkontos und die E-Mail-Adresse des Hauptkontos. Ersetzen Sie role durch den Namen der Rolle, die hinzugefügt werden soll.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
Zugriff auf eine Ressource widerrufen
So entfernen Sie den Zugriff eines Hauptkontos auf einen Cloud KMS-Schlüssel:
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade ausführen.
gcloud kms keys remove-iam-policy-binding key \ --keyring key-ring \ --location location \ --member principal-type:principal-email \ --role roles/role-name
Ersetzen Sie key durch den Namen des Schlüssels. Ersetzen Sie key-ring durch den Namen des Schlüsselbunds, in dem sich der Schlüssel befindet. Ersetzen Sie location durch den Cloud KMS-Speicherort für den Schlüsselbund. Ersetzen Sie principal-type und principal-email durch den Typ des Hauptkontos und die E-Mail-Adresse des Hauptkontos. Ersetzen Sie role-name durch den Namen der Rolle, die entfernt werden soll.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
Berechtigungen für eine Ressource aufrufen
So rufen Sie die IAM-Richtlinie für einen Cloud KMS-Schlüssel auf:
gcloud
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade ausführen.
gcloud kms keys get-iam-policy key \ --keyring key-ring \ --location location
Ersetzen Sie key durch den Namen des Schlüssels. Ersetzen Sie key-ring durch den Namen des Schlüsselbunds, in dem sich der Schlüssel befindet. Ersetzen Sie location durch den Cloud KMS-Speicherort für den Schlüsselbund.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
Prinzip der geringsten Berechtigung
Für die Anwendung des Prinzips der geringsten Berechtigung gewähren Sie dem niedrigsten Objekt in der Ressourcenhierarchie die niedrigsten Berechtigungen.
Um einem Hauptkonto Berechtigungen zum Verschlüsseln (aber nicht zum Entschlüsseln) von Daten zu gewähren, weisen Sie für den Schlüssel die Rolle
roles/cloudkms.cryptoKeyEncrypter
zu.Um einem Hauptkonto Berechtigungen zum Verschlüsseln und Entschlüsseln von Daten zu erteilen, weisen Sie für den Schlüssel die Rolle
roles/cloudkms.cryptoKeyEncrypterDecrypter
zu.Wenn Sie einem Hauptkonto Berechtigungen zum Prüfen (aber nicht zum Signieren) von Daten erteilen möchten, weisen Sie für den Schlüssel die Rolle
roles/cloudkms.publicKeyViewer
zu.Wenn Sie einem Hauptkonto Berechtigungen zum Signieren und Prüfen von Daten gewähren möchten, weisen Sie für den Schlüssel die Rolle
roles/cloudkms.signerVerifier
zu.Wenn Sie einem Hauptkonto Berechtigungen zum Verwalten eines Schlüssels erteilen möchten, weisen Sie für den Schlüssel die Rolle
roles/cloudkms.admin
zu.
Diese Liste ist nicht vollständig. Eine vollständige Liste der Berechtigungen und Rollen finden Sie unter Cloud KMS-Berechtigungen und -Rollen.
Hierarchie und Übernahme
Richtlinienbindungen können für das Projekt, den Schlüsselbund, den Schlüssel, den Importjob und andere Cloud KMS-Ressourcen festgelegt werden.
Da Schlüssel zu Schlüsselbunden und Schlüsselbunde zu Projekten gehören, übernimmt ein Hauptkonto mit einer bestimmten Rolle oder Berechtigung auf höherer Ebene in dieser Hierarchie die gleichen Berechtigungen für die untergeordneten Ressourcen. Das bedeutet, dass ein Nutzer, der die Rolle owner
für ein Projekt hat, auch ein owner
für alle Schlüsselbunde und Schlüssel in diesem Projekt ist. Wenn ein Nutzer die Rolle cloudkms.admin
für einen Schlüsselbund erhält, hat er ebenso die entsprechenden Berechtigungen für alle Schlüssel in diesem Schlüsselbund.
Dies gilt jedoch nicht umgekehrt: Ein Nutzer mit einer Berechtigung für einen Schlüssel, dem keine Berechtigung für den übergeordneten Schlüsselbund zugewiesen ist, hat keine Berechtigung für diesen Schlüsselbund.
Nächste Schritte
- Weitere Informationen zu Berechtigungen und Rollen in Cloud KMS
- Schlüssel erstellen
- Daten verschlüsseln und entschlüsseln.