Auf dieser Seite werden Cloud Deploy-Dienstkonten, -Rollen und -Berechtigungen beschrieben.
Der Zugriff in Cloud Deploy wird über Identity and Access Management (IAM) gesteuert. Mit IAM können Sie Berechtigungen für Google Cloud Ressourcen erstellen und verwalten. Cloud Deploy bietet einen bestimmten Satz vordefinierter IAM-Rollen , bei denen jede Rolle eine Reihe von Berechtigungen enthält. Mit diesen Rollen können Sie detaillierteren Zugriff auf bestimmte Google Cloud Ressourcen gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern. Durch IAM können Sie das Prinzip der geringsten Berechtigunganwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen gewähren.
Unter Zugriff auf Cloud Deploy mit IAM einschränken finden Sie Informationen zu erweiterten Sicherheitsfunktionen für die Zugriffssteuerung.
Dienstkonten in Cloud Deploy
Cloud Deploy wird standardmäßig mit dem Compute Engine-Standarddienstkonto ausgeführt. Weitere Informationen zum Konfigurieren dieses Dienstkontos für die Verwendung mit Cloud Deploy oder zum Auswählen eines anderen Kontos finden Sie in der Dokumentation zum Cloud Deploy-Ausführungsdienstkonto.
Weitere Informationen zur Verwendung von Dienstkonten durch Cloud Deploy.
Vordefinierte Cloud Deploy-Rollen
Bei IAM erfordert jede API-Methode in der Cloud Deploy API, dass die Identität, die die API-Anfrage stellt, über die entsprechenden Berechtigungen zur Verwendung der Ressource verfügt. Berechtigungen werden durch Festlegen von Richtlinien erteilt, die einem Hauptkonto (Nutzer, Gruppe oder Dienstkonto) Ihres Projekts Rollen zuweisen. Sie können einem Hauptkonto mehrere Rollen für dieselbe Ressource zuweisen.
Die IAM-Dokumentation enthält eine durchsuchbare Referenz aller vordefinierten Rollen.
In der folgenden Tabelle sind die Cloud Deploy-IAM-Rollen und deren Berechtigungen aufgeführt:
| Role | Permissions |
|---|---|
Cloud Deploy Admin( Full control of Cloud Deploy resources. |
|
Cloud Deploy Editor( Editor role for Cloud Deploy |
|
Cloud Deploy Viewer( Can view Cloud Deploy resources. |
|
Cloud Deploy Approver( Permission to approve or reject rollouts. |
|
Cloud Deploy Custom Target Type Admin( Permission to manage CustomTargetType resources |
|
Cloud Deploy Developer( Permission to manage deployment configuration without permission to access operational resources, such as targets. |
|
Cloud Deploy Runner( Permission to execute Cloud Deploy work without permission to deliver to a target. |
|
Cloud Deploy Operator( Permission to manage deployment configuration. |
|
Cloud Deploy Policy Admin( Permission to manage Deploy Policies. |
|
Cloud Deploy Policy Overrider( Permission to override Deploy Policies. |
|
Cloud Deploy Releaser( Permission to create Cloud Deploy releases and rollouts. |
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Cloud Deploy Service Agent( Gives Cloud Deploy Service Account access to managed resources. |
|
Zusätzlich zu den vordefinierten Cloud Deploy-Rollen enthalten die einfachen Rollenversionen Betrachter, Bearbeiter und Inhaber auch Berechtigungen im Zusammenhang mit Cloud Deploy. Es empfiehlt sich jedoch, wenn möglich vordefinierte Rollen zuzuweisen, um das Sicherheitsprinzip der geringsten Berechtigung einzuhalten.
Berechtigungen
In der folgenden Tabelle werden die Berechtigungen aufgeführt, die erforderlich sind, um eine bestimmte Methode aufzurufen:
| API-Methode | Erforderliche Berechtigung | Beschreibung |
|---|---|---|
automations.create() |
clouddeploy.automations.create |
Erstellen einer neuen Automatisierungsressource. |
automations.delete() |
clouddeploy.automations.delete |
Vorhandene Automatisierungsressource löschen. |
automations.get() |
clouddeploy.automations.get |
Details zu einer einzelnen Automatisierungsressource abrufen. |
automations.list() |
clouddeploy.automations.list |
Automatisierungsressourcen und ihre Metadaten auflisten. |
automations.update() |
clouddeploy.automations.update |
Vorhandene Automatisierungsressource aktualisieren. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
Laufende Automatisierung abbrechen. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Details zu einer einzelnen Automatisierungsausführung abrufen. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Automatisierungsausführungen und ihre Metadaten auflisten. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Benutzerdefinierte Zieltypressource erstellen. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Benutzerdefinierte Zieltypressource löschen. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Details zu einem benutzerdefinierten Zieltyp abrufen. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
IAM-Richtlinie für eine benutzerdefinierte Zieltypressource abrufen. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Verfügbare benutzerdefinierte Zieltypen und ihre Metadaten auflisten. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Vorhandenen benutzerdefinierten Zieltyp aktualisieren. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
IAM-Richtlinie für eine benutzerdefinierte Zieltypressource festlegen. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Erstellen Sie eine neue Lieferpipeline-Ressource. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Vorhandene Lieferpipeline-Ressource löschen. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Rufen Sie Details zu einer einzelnen Lieferpipeline ab. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Rufen Sie die IAM-Richtlinie für eine Lieferpipeline-Ressource ab. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Lieferpipelines und ihre Metadaten auflisten. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Ziel zurücksetzen. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
IAM-Richtlinie für eine Lieferpipeline-Ressource festlegen. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Vorhandene Lieferpipeline-Ressource aktualisieren. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
Bereitstellungsrichtlinienressource erstellen. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
Bereitstellungsrichtlinienressource löschen. |
deployPolicies.get() |
clouddeploy.deployPolicies.get |
Details zu einer Bereitstellungsrichtlinienressource abrufen. |
deployPolicies.list() |
clouddeploy.deployPolicies.list |
Verfügbare Bereitstellungsrichtlinien und ihre Metadaten auflisten. |
jobRuns.get() |
clouddeploy.jobRuns.get |
JobRuns-Ressource abrufen. |
jobRuns.list() |
clouddeploy.jobRuns.list |
JobRuns-Ressourcen und ihre Metadaten auflisten. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Laufende Jobausführung beenden. |
operations.cancel() |
clouddeploy.operations.cancel |
Vorgang mit langer Ausführungszeit abbrechen. |
operation.delete() |
clouddeploy.operations.delete |
Lange laufenden Vorgang löschen. |
operations.get() |
clouddeploy.operations.get |
Einen bestimmten Vorgang mit langer Ausführungszeit abrufen (z. B. um den Status der Erstellung eines Releases zurückzugeben). |
operations.list() |
clouddeploy.operations.list |
Lange laufende Vorgänge auflisten. |
releases.abandon() |
clouddeploy.releases.abandon |
Release aufgeben und weitere Rollouts für das Release verhindern. |
releases.create() |
clouddeploy.releases.create |
Erstellen einer neuen Releaseressource. Der Aufrufer benötigt außerdem die iam.serviceAccounts.actAs-Berechtigung für das Dienstkonto, das zum Rendern des Manifests verwendet wird. |
releases.get() |
clouddeploy.releases.get |
Details zu einem einzelnen Release abrufen. |
releases.list() |
clouddeploy.releases.list |
Releases und Metadaten auflisten. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Rollout zur nächsten Phase. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Rollout mit dem Genehmigungsstatus required genehmigen oder ablehnen. |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Rollout abbrechen. |
rollouts.create() |
clouddeploy.rollouts.create |
Neue Rollout-Ressource erstellen oder Release hochstufen. Der Aufrufer benötigt außerdem die Berechtigung iam.serviceAccounts.actAs für das Projekt oder Dienstkonto, das für die Bereitstellung verwendet wird. |
rollouts.get() |
clouddeploy.rollouts.get |
Details zu einem einzelnen Rollout abrufen. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Fehlgeschlagenen Job ignorieren. |
rollouts.list() |
clouddeploy.rollouts.list |
Rollouts und Metadaten auflisten. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Fehlgeschlagenen Job wiederholen. |
rollouts.advance(), rollouts.approve(), rollouts.cancel(), rollouts.create(), rollouts.ignoreJob(), rollouts.retryJob(), deliveryPipelines.rollbackTarget(), jobRuns.terminate() |
clouddeploy.deployPolicies.override |
Bereitstellungsrichtlinienressource überschreiben. |
deployPolicies.update() |
clouddeploy.deployPolicies.update |
Vorhandene Bereitstellungsrichtlinienressource aktualisieren. |
targets.create() |
clouddeploy.targets.create |
Erstellen einer neuen Zielressource. |
targets.delete() |
clouddeploy.targets.delete |
Vorhandene Zielressource löschen. |
targets.get() |
clouddeploy.targets.get |
Details zu einem einzelnen Ziel abrufen. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
IAM-Richtlinie für eine Zielressource abrufen. |
targets.list() |
clouddeploy.targets.list |
Ziele und ihre Metadaten auflisten. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
IAM-Richtlinie für eine Zielressource festlegen. |
targets.update() |
clouddeploy.targets.update |
Vorhandene Zielressource aktualisieren. |
Aktionen mit Cloud Deploy-Ressourcen mit IAM einschränken
Sie können Ihre Cloud Deploy-Ressourcen mit IAM auf folgende Weise schützen:
IAM-Meta-APIs
Verwenden Sie
setIamPolicyfür Cloud Deploy-Ressourcen, um Aktionen für diese Ressourcen einzuschränken.Bedingtes IAM
Wenden Sie Zugriffsrichtlinien programmatisch an, einschließlich der Bedingungen, unter denen Sie Zugriff gewähren oder verweigern.
Mit diesen Richtlinien und Bedingungen können Sie folgende Aktionen für Ihre Cloud Deploy-Ressourcen einschränken:
Lieferpipeline oder Ziel erstellen
Sie können diesen Zugriff bestimmten Nutzern oder Gruppen gewähren.
Bestimmte Lieferpipeline aktualisieren oder löschen
Sie können diesen Zugriff bestimmten Nutzern oder Gruppen gewähren.
Release für eine bestimmte Lieferpipeline erstellen
Sie können diesen Zugriff bestimmten Nutzern oder Gruppen gewähren.
Bestimmtes Ziel aktualisieren oder löschen
Sie können diesen Zugriff bestimmten Nutzern oder Gruppen gewähren.
Rollout erstellen, genehmigen oder hochstufen
Sie können diesen Zugriff bestimmten Nutzern oder Gruppen für ein bestimmtes Ziel oder eine bestimmte Lieferpipeline gewähren.
Sie können auch eine Bedingung festlegen, die diesen Zugriff auf ein bestimmtes Zeitfenster beschränkt.
Nächste Schritte
- IAM
- Weitere Informationen zur Verwendung von Bedingungen in IAM
- Weitere Informationen zu Cloud Deploy-Dienstkonten.