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, (Identität) hat welchen Zugriff (welche Rolle) auf welche Ressource. IAM-Rollen enthalten eine Reihe von Berechtigungen, mit denen Nutzer bestimmte Aktionen für Google Cloud-Ressourcen ausführen können. Durch das Prinzip der geringsten Berechtigung beim Gewähren von IAM können Sie die Integrität von Certificate Authority Service-Ressourcen schützen und Sicherheit des CA-Pools und der gesamten Public-Key-Infrastruktur (PKI) selbst.
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 damit verbundenen 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, der Zertifizierungsstelle, der Zertifikate, der Sperrlisten, der IAM-Richtlinien und der Projekte abrufen und auflisten. Wir empfehlen, diese Rolle Personen zuzuweisen, die für die Validierung der Sicherheit und den Betrieb des CA-Pools verantwortlich sind und keine täglichen Aufgaben für die Verwaltung des Dienstes haben. |
CA Service Certificate Requesterroles/privateca.certificateRequester |
privateca.certificates.create
|
Mit der Rolle „CA Service Certificate Requester“ können Zertifikatsanfragen an einen CA-Pool gesendet werden. Wir empfehlen, diese Rolle vertrauenswürdigen Personen zu gewähren, die Zertifikate anfordern dürfen. Ein Nutzer mit dieser Rolle kann gemäß der Ausstellungsrichtlinie beliebige Zertifikate anfordern. Im Gegensatz zur Rolle „CA Service Certificate Manager“ erlaubt 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 Antragsteller für CA Service-Arbeitslastzertifikate kann Zertifikate vom CA Service mit der Identität des Aufrufers anfordern. |
Zertifikatmanager für CA Serviceroles/privateca.certificateManager |
Alle Berechtigungen von roles/privateca.auditor , plus:privateca.certificates.create
|
Ein CA Service Certificate Manager kann Anfragen zur Zertifikatsausstellung an einen CA-Pool wie den CA Service Certificate Requester senden. Darüber hinaus erbt diese Rolle auch die Berechtigungen der Rolle „CA Service Auditor“. Wir empfehlen Ihnen, diese Rolle Personen zuzuweisen, die für das Erstellen, Verfolgen und Prüfen von Zertifikatsanfragen für einen CA-Pool verantwortlich sind, z. B. Manager oder Lead Engineers. |
Nutzer der CA Service-Zertifikatsvorlageroles/privateca.templateUser |
privateca.certificateTemplates.get privateca.certificateTemplates.list privateca.certificateTemplates.use
|
Ein Nutzer von CA Service-Zertifikatsvorlagen kann Zertifikatsvorlagen lesen, auflisten und verwenden. |
Operation Manager für CA Serviceroles/privateca.caManager |
Alle Berechtigungen von roles/privateca.auditor , plus: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. Diese Rolle kann auch Zertifikate widerrufen und Cloud Storage-Buckets erstellen. Sie umfasst außerdem dieselben Funktionen wie der CA Service Auditor. In dieser Rolle sind Personen dafür verantwortlich, CA-Pools in der Organisation 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 Requester“, „CA Service Certificate Manager“ oder „CA Service Admin“. |
CA Service-Administratorroles/privateca.admin |
Alle Berechtigungen von roles/privateca.certificateManager ,
und roles/privateca.caManager , plus: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-Dienstadministrator“ erbt Berechtigungen von den Rollen „CA-Dienst-Betriebsmanager“ und „CA-Dienst-Zertifikatsmanager“. Diese Rolle kann alle Aktionen im CA-Dienst ausführen. Ein CA-Dienstadministrator kann IAM-Richtlinien für den Zertifizierungsstellenpool festlegen und Cloud Storage-Buckets erstellen. Wir empfehlen, diese Rolle nach der Einrichtung des Dienstes nur selten zuzuweisen. In dieser Rolle können Nutzer alle Aspekte der Verwaltung ausführen, z. B. anderen Nutzern Rechte zuweisen und Zertifikatsanfragen im CA-Dienst verwalten. Wir empfehlen Ihnen, ein spezielles Steuerelement und den Zugriff auf dieses Rollenkonto zu implementieren, um unbefugten Zugriff oder unbefugte Nutzung zu verhindern. |
Rolle „CA Service-Dienst-Agent“
Wenn Sie beim Erstellen der Zertifizierungsstelle vorhandene Cloud KMS-Signaturschlüssel oder Cloud Storage-Buckets angeben, muss dem Dienstkonto „CA Service Agent“ (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
zur Verwendung des
und den öffentlichen Schlüssel lesen. roles/viewer
ist zum Monitoring erforderlich
den Schlüssel für die Cloud Monitoring-Integration.
Für Cloud Storage ist roles/storage.objectAdmin
erforderlich, um den
CA-Zertifikat und Zertifikatssperrlisten in einen Bucket. roles/storage.legacyBucketReader
ist
erforderlich, um den Bucket für die Cloud Monitoring-Einbindung zu überwachen. Weitere Informationen
Informationen finden Sie unter IAM-Rollen für Cloud Storage.
Führen Sie die folgenden Befehle aus, wenn Sie über die API auf den Dienst zugreifen.
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 Kennzeichnung des Projekts, in dem der Zertifizierungsstellenpool erstellt wird.
Gewähren Sie dem Dienstkonto mit dem folgenden
gcloud
-Befehl die Rollenroles/cloudkms.signerVerifier
undroles/viewer
.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“ der Cloud KMS-Standort ist, 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'
Weisen Sie Ihrem Dienstkonto die Rollen
roles/storage.objectAdmin
undroles/storage.legacyBucketReader
mit dem folgendengcloud
-Befehl zu:Wenn vorhandene Cloud Storage-Buckets bereitgestellt werden:
gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com \ --role=roles/storage.objectAdmin
Wobei:
- BUCKET_NAME ist der Name Ihres Cloud Storage-Buckets.
- PROJECT_NUMBER ist die eindeutige Kennung Ihres Dienstkontos.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-privateca.iam.gserviceaccount.com \ --role=roles/storage.legacyBucketReader
API-Berechtigungen
In der folgenden Tabelle sind die Berechtigungen aufgeführt, die der Aufrufer zum Aufrufen der einzelnen Methoden in der CA Service API benötigt:
Berechtigung | Beschreibung |
---|---|
privateca.caPools.create |
Erstellen Sie einen CA-Pool. |
privateca.caPools.update |
CA-Pool aktualisieren |
privateca.caPools.list |
CA-Pools in einem Projekt auflisten. |
privateca.caPools.get |
Rufen Sie einen Zertifizierungsstellenpool ab. |
privateca.caPools.delete |
Löschen Sie einen Zertifizierungsstellenpool. |
privateca.caPools.use |
Verwenden Sie einen Zertifizierungsstellenpool. |
privateca.caPools.getIamPolicy |
Rufen Sie die IAM-Richtlinie des CA-Pools ab. |
privateca.caPools.setIamPolicy |
Legen Sie eine IAM-Richtlinie für den Zertifizierungsstellenpool fest. |
privateca.certificateAuthorities.create |
Erstellen Sie eine Zertifizierungsstelle. |
privateca.certificateAuthorities.delete |
Planen Sie eine Zertifizierungsstelle zum Löschen vor. |
privateca.certificateAuthorities.get |
Rufen Sie eine Anfrage zur Signierung eines CA- oder CA-Zertifikats ab. |
privateca.certificateAuthorities.list |
Zertifizierungsstellen in einem Projekt auflisten. |
privateca.certificateAuthorities.update |
CA 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 |
Alle Zertifikate in einer Zertifizierungsstelle auflisten. |
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 |
Listen Sie alle Zertifikatssperrlisten in einer Zertifizierungsstelle auf. |
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 |
Zertifikatsvorlage aktualisieren |
privateca.certificateTemplates.delete |
Zertifikatsvorlage löschen. |
privateca.certificateTemplates.getIamPolicy |
IAM-Richtlinie für eine Zertifikatsvorlage abrufen. |
privateca.certificateTemplates.setIamPolicy |
Legen Sie eine IAM-Richtlinie für eine Zertifikatsvorlage fest. |
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 |
Vorgänge mit langer Ausführungszeit 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