Zugriffssteuerung mit IAM
Auf dieser Seite werden die IAM-Rollen für den Certificate Authority Service beschrieben.
Der CA-Dienst 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 dem Prinzip der geringsten Berechtigung folgen, können Sie die Integrität der Ressourcen des Certificate Authority Service schützen und die Sicherheit des CA-Pools und der Public-Key-Infrastruktur (PKI) insgesamt 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 Eigenschaften des CA-Pools, der Zertifizierungsstelle, Zertifikate, Widerrufslisten, 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 zur Verwaltung des Dienstes haben. |
CA Service Certificate Requesterroles/privateca.certificateRequester |
privateca.certificates.create
|
Ein Nutzer mit der Rolle „CA Service-Zertifikatsanfragesteller“ kann Zertifikatsanfragen an einen CA-Pool senden. 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 „Zertifikat-Manager für CA Service“ kann der Nutzer mit dieser Rolle das neu ausgestellte Zertifikat nicht abrufen oder auflisten und auch keine Informationen zum CA-Pool abrufen. |
Anfragesteller des CA Service-Arbeitslastzertifikatsroles/privateca.workloadCertificateRequester |
privateca.certificates.createForSelf
|
Ein Anfragesteller des CA Service-Arbeitslastzertifikats kann Zertifikate von CA Service mit der Identität des Anrufers anfordern. |
Zertifikatverwalter für CA Serviceroles/privateca.certificateManager |
Alle Berechtigungen von roles/privateca.auditor , plus:privateca.certificates.create
|
Ein Zertifikatsmanager für CA Service kann Anfragen zur Zertifikatsausstellung an einen CA-Pool wie den CA Service-Zertifikatsanfragesteller senden. Außerdem werden dieser Rolle die Berechtigungen der Rolle „CA-Dienstrevisor“ vererbt. Wir empfehlen, diese Rolle Personen zuzuweisen, die für das Erstellen, Verfolgen und Überprüfen von Zertifikatsanfragen in einem CA-Pool verantwortlich sind, z. B. einem Manager oder Lead Engineer. |
Nutzer der CA Service-Zertifikatsvorlageroles/privateca.templateUser |
privateca.certificateTemplates.get privateca.certificateTemplates.list privateca.certificateTemplates.use
|
Ein Nutzer der CA Service-Zertifikatsvorlage 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. Mit dieser Rolle können auch Zertifikate widerrufen und Cloud Storage-Buckets erstellt werden. Außerdem bietet sie dieselben Funktionen wie die CA Service Auditor-Funktion. In dieser Rolle sind Personen für die Konfiguration und Bereitstellung von CA-Pools in der Organisation sowie für die Konfiguration der Ausstellungsrichtlinie des CA-Pools verantwortlich. Mit dieser Rolle können keine Zertifikate erstellt werden. Verwenden Sie dazu die Rollen „CA Service-Zertifikatsanfragesteller“, „CA Service-Zertifikatsmanager“ oder „CA Service-Administrator“. |
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-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 Service-Administrator kann IAM-Richtlinien für den CA-Pool 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, eine spezielle Zugriffssteuerung für dieses Rollenkonto zu implementieren, um unbefugten Zugriff oder unbefugte Nutzung zu verhindern. |
Rolle „CA Service-Kundenservicemitarbeiter“
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 jeweilige 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 Cloud Monitoring-Integration 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 Cloud Monitoring-Integration 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 „Kundenservicemitarbeiter“.
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 CA-Pool 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-Speicherort, 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 angegeben 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 CA-Pool ab. |
privateca.caPools.delete |
Löschen Sie einen CA-Pool. |
privateca.caPools.use |
Verwenden Sie einen CA-Pool. |
privateca.caPools.getIamPolicy |
Rufen Sie die IAM-Richtlinie des CA-Pools ab. |
privateca.caPools.setIamPolicy |
Legen Sie eine IAM-Richtlinie für den CA-Pool fest. |
privateca.certificateAuthorities.create |
Erstellen Sie eine Zertifizierungsstelle. |
privateca.certificateAuthorities.delete |
CA zum Löschen vormerken |
privateca.certificateAuthorities.get |
Rufen Sie eine CA- oder CA-Anfrage zur Zertifikatsignatur ab. |
privateca.certificateAuthorities.list |
Zertifizierungsstellen in einem Projekt auflisten |
privateca.certificateAuthorities.update |
CA aktualisieren, einschließlich Aktivierung, Deaktivierung, Wiederherstellung und Aktivierung der CA. |
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 |
Zertifikat und Metadaten abrufen |
privateca.certificates.list |
Listet alle Zertifikate in einer Zertifizierungsstelle auf. |
privateca.certificates.update |
Metadaten eines Zertifikats aktualisieren, einschließlich Widerruf |
privateca.certificateRevocationLists.get |
Zertifikatssperrliste (Certificate Revocation List, CRL) von einer Zertifizierungsstelle abrufen |
privateca.certificateRevocationLists.getIamPolicy |
Rufen Sie die IAM-Richtlinie für eine CRL ab. |
privateca.certificateRevocationLists.list |
Listet alle CRLs in einer Zertifizierungsstelle auf. |
privateca.certificateRevocationLists.setIamPolicy |
Legen Sie die IAM-Richtlinie für eine CRL fest. |
privateca.certificateRevocationLists.update |
CRL aktualisieren |
privateca.certificateTemplates.create |
Erstellen Sie eine Zertifikatsvorlage. |
privateca.certificateTemplates.get |
Rufen Sie eine Zertifikatsvorlage ab. |
privateca.certificateTemplates.list |
Listet alle Zertifikatsvorlagen auf. |
privateca.certificateTemplates.update |
Zertifikatsvorlage aktualisieren |
privateca.certificateTemplates.delete |
Löschen Sie eine Zertifikatsvorlage. |
privateca.certificateTemplates.getIamPolicy |
IAM-Richtlinie für eine Zertifikatvorlage 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 |
Rufen Sie einen lang andauernden Vorgang ab. |
privateca.operations.list |
Lange laufende 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.
- Informationen zum Konfigurieren von IAM-Richtlinien