Zugriffssteuerung mit IAM
Auf dieser Seite werden die IAM-Rollen für Certificate Authority Service beschrieben.
CA Service verwendet IAM-Rollen (Identity and Access Management) für die Zugriffssteuerung. Mit IAM steuern Sie den Zugriff, indem Sie festlegen, wer (Identität) welchen Zugriff (Rolle) auf welche Ressource hat. IAM-Rollen enthalten eine Reihe von Berechtigungen, mit denen Nutzer bestimmte Aktionen für Google Cloud-Ressourcen ausführen können. Wenn Sie beim Gewähren von IAM-Rollen das Prinzip der geringsten Berechtigung befolgen, können Sie die Integrität von Certificate Authority Service-Ressourcen schützen und die Sicherheit des CA-Pools sowie der gesamten Public-Key-Infrastruktur (PKI) selbst verwalten.
Informationen zum Zuweisen von IAM-Rollen zu einem Nutzer oder Dienstkonto finden Sie in der IAM-Dokumentation unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
Vordefinierte Rollen
In der folgenden Tabelle sind die vordefinierten IAM-Rollen und die zugehörigen Berechtigungen aufgeführt:
Rolle | Berechtigungen | Beschreibung |
---|---|---|
CA Service Auditorroles/privateca.auditor |
privateca.caPools.get privateca.caPools.getIamPolicy privateca.caPools.list privateca.certificateAuthorities.list privateca.certificateAuthorities.get privateca.certificateTemplates.get privateca.certificateTemplates.getIamPolicy privateca.certificateTemplates.list privateca.certificates.list privateca.certificates.get privateca.locations.get privateca.locations.list privateca.operations.get privateca.operations.list privateca.certificateRevocationLists.list privateca.certificateRevocationLists.get privateca.certificateRevocationLists.getIamPolicy resourcemanager.projects.get resourcemanager.projects.list
|
Die Rolle „CA Service Auditor“ hat Lesezugriff auf alle CA Service-Ressourcen und kann Attribute des CA-Pools, CA, Zertifikate, Sperrlisten, IAM-Richtlinien und Projekte abrufen und auflisten. Wir empfehlen, diese Rolle Personen zuzuweisen, die für die Validierung der Sicherheit und den Betrieb des Zertifizierungsstellenpools verantwortlich sind und keine täglichen Aufgaben für die Verwaltung des Dienstes haben. |
Zertifikatanforderer von CA Serviceroles/privateca.certificateRequester |
privateca.certificates.create
|
Mit der Rolle „CA Service Certificate Anforderer“ können Zertifikatsanfragen an einen CA-Pool gesendet werden. Wir empfehlen, diese Rolle vertrauenswürdigen Personen zuzuweisen, die Zertifikate anfordern dürfen. Ein Nutzer mit dieser Rolle kann beliebige Zertifikate gemäß der Ausstellungsrichtlinie anfordern. Im Gegensatz zur Rolle „CA Service Certificate Manager“ ermöglicht diese Rolle dem Nutzer nicht, das neu ausgestellte Zertifikat abzurufen oder aufzulisten oder Informationen zum CA-Pool abzurufen. |
Anforderer von CA Service-Arbeitslastzertifikatenroles/privateca.workloadCertificateRequester |
privateca.certificates.createForSelf
|
Ein CA Service-Arbeitslastzertifikats-Anforderer kann vom CA-Dienst Zertifikate mit der Identität des Anrufers anfordern. |
CA Service-Zertifikatmanagerroles/privateca.certificateManager |
Alle Berechtigungen von roles/privateca.auditor , plus:privateca.certificates.create
|
Ein CA Service-Zertifikatmanager kann Anfragen zur Zertifikatsausstellung an einen CA-Pool wie den CA Service Certificate Requester senden. Darüber hinaus übernimmt diese Rolle auch die Berechtigungen der Rolle „CA Service Auditor“. Wir empfehlen, diese Rolle einzelnen Personen zuzuweisen, die für die Erstellung, das Tracking und die Prüfung von Zertifikatsanfragen für einen Zertifizierungsstellenpool verantwortlich sind, z. B. einem Manager oder einem leitenden Entwickler. |
Nutzer der CA Service-Zertifikatsvorlageroles/privateca.templateUser |
privateca.certificateTemplates.get privateca.certificateTemplates.list privateca.certificateTemplates.use
|
Ein CA Service-Zertifikatsvorlagennutzer kann Zertifikatsvorlagen lesen, auflisten und verwenden. |
Operation Manager für CA Serviceroles/privateca.caManager |
Alle Berechtigungen von roles/privateca.auditor sowie:privateca.certificates.update privateca.caPools.create privateca.caPools.delete privateca.caPools.update privateca.certificateAuthorities.create privateca.certificateAuthorities.delete privateca.certificateAuthorities.update privateca.certificateRevocationLists.update privateca.certificateTemplates.create privateca.certificateTemplates.delete privateca.certificateTemplates.update privateca.certificates.update privateca.operations.cancel privateca.operations.delete resourcemanager.projects.get resourcemanager.projects.list storage.buckets.create
|
Ein CA Service Operation Manager kann CA-Pools und CAs erstellen, aktualisieren und löschen. Mit dieser Rolle können auch Zertifikate widerrufen und Cloud Storage-Buckets erstellt werden. Außerdem bietet er dieselben Funktionen wie der CA Service Auditor. In dieser Rolle sind Personen dafür verantwortlich, CA-Pools in der Organisation zu konfigurieren und bereitzustellen sowie die Ausstellungsrichtlinie des CA-Pools zu konfigurieren. Mit dieser Rolle können keine Zertifikate erstellt werden. Verwenden Sie dazu die Rollen „CA Service Certificate Anforderer“, „CA Service Certificate Manager“ oder „CA Service Admin“. |
CA Service-Administratorroles/privateca.admin |
Alle Berechtigungen von roles/privateca.certificateManager und roles/privateca.caManager sowie:privateca.*.setIamPolicy privateca.caPools.use privateca.operations.cancel privateca.operations.delete privateca.resourcemanager.projects.get privateca.resourcemanager.projects.list storage.buckets.create
|
Die Rolle „CA Service Admin“ übernimmt die Berechtigungen der Rollen „CA Service Operation Manager“ und „CA Service Certificate Manager“. Diese Rolle kann alle Aktionen in CA Service ausführen. Ein CA Service-Administrator kann IAM-Richtlinien für den CA-Pool festlegen und Cloud Storage-Buckets erstellen. Wir empfehlen, diese Rolle nur selten zuzuweisen, nachdem der Dienst eingerichtet wurde. In dieser Rolle können Personen alle administrativen Aufgaben ausführen, z. B. anderen Berechtigungen zuweisen und Zertifikatsanfragen im CA Service verwalten. Wir empfehlen Ihnen, ein spezielles Kontroll- und Zugriffssystem für dieses Rollenkonto zu implementieren, um unbefugte Zugriffe oder eine unbefugte Verwendung zu verhindern. |
Rolle „CA Service-Agent“
Wenn beim Erstellen der Zertifizierungsstelle vorhandene Cloud KMS-Signaturschlüssel oder Cloud Storage-Buckets angegeben werden, muss dem Dienstkonto des Dienst-Agents für Zertifizierungsstellen (service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com
) Zugriff auf die entsprechende Ressource gewährt werden.
Für Cloud KMS ist roles/cloudkms.signerVerifier
erforderlich, um den Signaturschlüssel zu verwenden und den öffentlichen Schlüssel zu lesen. roles/viewer
ist erforderlich, um den Schlüssel für die Einbindung von Cloud Monitoring zu überwachen.
Für Cloud Storage ist roles/storage.objectAdmin
erforderlich, um das CA-Zertifikat und die CRLs in einen Bucket zu schreiben. roles/storage.legacyBucketReader
ist erforderlich, um den Bucket für die Einbindung von Cloud Monitoring zu überwachen. Weitere Informationen finden Sie unter IAM-Rollen für Cloud Storage.
Wenn Sie über die API auf den Dienst zugreifen, führen Sie die folgenden Befehle aus.
Erstellen Sie ein Dienstkonto mit der Rolle „Dienst-Agent“.
gcloud
gcloud beta services identity create --service=privateca.googleapis.com --project=PROJECT_ID
Wobei:
- PROJECT_ID ist die eindeutige Kennung des Projekts, in dem der Zertifizierungsstellenpool erstellt wird.
Weisen Sie Ihrem Dienstkonto die Rollen
roles/cloudkms.signerVerifier
undroles/viewer
mit dem folgendengcloud
-Befehl zu.Wenn vorhandene Cloud KMS-Signaturschlüssel bereitgestellt werden:
gcloud
gcloud kms keys add-iam-policy-binding 'CRYPTOKEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/cloudkms.signerVerifier'
Wobei:
- „CRYPTOKEY_NAME“ ist der Name Ihres Schlüssels.
- „KEYRING_NAME“ ist der Name Ihres Schlüsselbunds.
- „LOCATION“ ist der Cloud KMS-Standort, an dem Sie Ihren Schlüsselbund erstellt haben.
- PROJECT_NUMBER ist der Name Ihres Dienstkontos.
gcloud kms keys add-iam-policy-binding 'CRYPTOKEY_NAME' \ --keyring='KEYRING_NAME' \ --location='LOCATION' \ --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com' \ --role='roles/viewer'
Wenn vorhandene Cloud Storage-Buckets bereitgestellt werden, verwenden Sie das
gsutil
-Befehlszeilentool, um die erforderlichen Rollen für den Cloud Storage-Bucket zu binden.gsutil
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com:roles/storage.objectAdmin gs://BUCKET_NAME
Wobei:
- PROJECT_NUMBER ist die eindeutige Kennung Ihres Dienstkontos.
- BUCKET_NAME ist der Name Ihres Cloud Storage-Buckets.
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com:roles/storage.legacyBucketReader gs://BUCKET_NAME
API-Berechtigungen
In der folgenden Tabelle sind die Berechtigungen aufgeführt, die der Aufrufer haben muss, um die einzelnen Methoden in der CA Service API aufzurufen:
Berechtigung | Beschreibung |
---|---|
privateca.caPools.create |
Erstellen Sie einen Zertifizierungsstellenpool. |
privateca.caPools.update |
CA-Pool aktualisieren |
privateca.caPools.list |
CA-Pools in einem Projekt auflisten. |
privateca.caPools.get |
CA-Pool abrufen. |
privateca.caPools.delete |
CA-Pool löschen. |
privateca.caPools.getIamPolicy |
Rufen Sie die IAM-Richtlinie des Zertifizierungsstellenpools ab. |
privateca.caPools.setIamPolicy |
Legen Sie eine IAM-Richtlinie für den Zertifizierungsstellenpool fest. |
privateca.certificateAuthorities.create |
Erstellen Sie eine Zertifizierungsstelle. |
privateca.certificateAuthorities.delete |
Eine Zertifizierungsstelle zum Löschen planen. |
privateca.certificateAuthorities.get |
Zertifikatsignaturanfrage einer Zertifizierungsstelle oder Zertifizierungsstelle abrufen. |
privateca.certificateAuthorities.list |
CAs in einem Projekt auflisten. |
privateca.certificateAuthorities.update |
Zertifizierungsstelle aktualisieren, einschließlich Aktivieren, Aktivieren, Deaktivieren und Wiederherstellen der Zertifizierungsstelle. |
privateca.certificates.create |
Zertifikate von CA Service anfordern. |
privateca.certificates.createForSelf |
Zertifikate von CA Service mit der Identität des Anrufers anfordern. |
privateca.certificates.get |
Rufen Sie ein Zertifikat und die zugehörigen Metadaten ab. |
privateca.certificates.list |
Hiermit werden alle Zertifikate in einer Zertifizierungsstelle aufgelistet. |
privateca.certificates.update |
Metadaten eines Zertifikats aktualisieren, einschließlich Widerruf. |
privateca.certificateRevocationLists.get |
Rufen Sie eine Zertifikatssperrliste (Certificate Revocation List, CRL) in einer Zertifizierungsstelle ab. |
privateca.certificateRevocationLists.getIamPolicy |
Rufen Sie die IAM-Richtlinie für eine Zertifikatssperrliste ab. |
privateca.certificateRevocationLists.list |
Alle Zertifikatssperrlisten in einer Zertifizierungsstelle auflisten. |
privateca.certificateRevocationLists.setIamPolicy |
Legen Sie die IAM-Richtlinie für eine Zertifikatssperrliste fest. |
privateca.certificateRevocationLists.update |
Aktualisieren Sie eine Zertifikatssperrliste. |
privateca.certificateTemplates.create |
Erstellen Sie eine Zertifikatsvorlage. |
privateca.certificateTemplates.get |
Rufen Sie eine Zertifikatsvorlage ab. |
privateca.certificateTemplates.list |
Alle Zertifikatsvorlagen auflisten. |
privateca.certificateTemplates.update |
Aktualisieren Sie eine Zertifikatsvorlage. |
privateca.certificateTemplates.delete |
Löschen Sie eine Zertifikatsvorlage. |
privateca.certificateTemplates.getIamPolicy |
IAM-Richtlinie für eine Zertifikatsvorlage abrufen. |
privateca.certificateTemplates.setIamPolicy |
IAM-Richtlinie für eine Zertifikatsvorlage festlegen. |
privateca.certificateTemplates.use |
Verwenden Sie eine Zertifikatsvorlage. |
privateca.operations.cancel |
Lange laufenden Vorgang abbrechen. |
privateca.operations.delete |
Lange laufenden Vorgang löschen. |
privateca.operations.get |
Einen lang andauernden Vorgang abrufen |
privateca.operations.list |
Lang andauernde Vorgänge in einem Projekt auflisten. |
Nächste Schritte
- Erfahren Sie, wie IAM die Verwaltung von Berechtigungen und Zugriffsbereichen für Google Cloud-Ressourcen zentralisiert.
- IAM-Richtlinien konfigurieren