Auf dieser Seite werden Dienstkonten, Rollen und Berechtigungen für Cloud Deploy beschrieben.
Der Zugriff in Cloud Deploy wird mithilfe der Identitäts- und Zugriffsverwaltung (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, wobei jede Rolle eine Reihe von Berechtigungen enthält. Sie können diese Rollen verwenden, um den Zugriff auf bestimmte Google Cloud-Ressourcen präziser zu gewähren und unerwünschten Zugriff auf andere Ressourcen zu verhindern. Durch IAM haben Sie die Möglichkeit, das Prinzip der geringsten Berechtigung anzuwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen zu gewähren.
Weitere Informationen zu den Sicherheitsfunktionen der erweiterten Zugriffssteuerung finden Sie unter Cloud Deploy-Zugriff mit IAM einschränken.
Dienstkonten in Cloud Deploy
Cloud Deploy wird standardmäßig mit dem Compute Engine-Standarddienstkonto ausgeführt. Dieses Dienstkonto hat ausreichende Berechtigungen, um Manifeste zu rendern und sie für Ihre Ziele bereitzustellen.
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, die entsprechenden Berechtigungen zur Verwendung der Ressource hat. 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 IAM-Rollen von Cloud Deploy und die zugehörigen Berechtigungen aufgeführt:
Rolle | Beschreibung | Berechtigungen |
---|---|---|
roles/clouddeploy.viewer
|
Kann Cloud Deploy ansehen
Ressourcen anzeigen. |
clouddeploy.*.get
|
roles/clouddeploy.admin |
Vollständige Kontrolle über Cloud Deploy-Ressourcen. | clouddeploy.* |
roles/clouddeploy.customTargetTypeAdmin |
Uneingeschränkte Kontrolle über benutzerdefinierte Cloud Deploy-Zieltypen. | clouddeploy.customTargetType.* |
roles/clouddeploy.developer
|
Kann Google Cloud Deploy-Lieferpipelines erstellt, abrufen, aktualisieren
Löschen Sie Ressourcen für die Cloud Deploy-Bereitstellungspipeline. |
clouddeploy.deliveryPipelines.get
|
roles/clouddeploy.operator
|
Kann Google Cloud Deploy-Zielressourcen erstellt, abrufen, aktualisieren
Bereitstellungspipeline und Zielressourcen von Cloud Deploy Kann Ressourcen für Release, Roll-out und Jobausführung erstellen und abrufen. Kann Ressourcen vom benutzerdefinierten Zieltyp abrufen. |
clouddeploy.customTargetType.get
|
roles/clouddeploy.approver
|
Kann Cloud Deploy ansehen und genehmigen
Ressourcen für die Einführung. |
clouddeploy.rollouts.get
|
roles/clouddeploy.jobRunner
|
Kann Cloud Deploy-Arbeiten ausführen, ohne
die Berechtigung zur Bereitstellung für ein Ziel. |
logging.logEntries.create
|
roles/clouddeploy.releaser
|
Kann Releases und Roll-outs erstellen und abrufen | clouddeploy.customTargetType.get
|
Zusätzlich zu den vordefinierten Cloud Deploy-Rollen enthalten die einfachen Rollen „Betrachter“, „Bearbeiter“ und „Inhaber“ auch Berechtigungen für Cloud Deploy. Es empfiehlt sich jedoch, wenn möglich vordefinierte Rollen zuzuweisen, um das Sicherheitsprinzip der geringsten Berechtigung zu einhalten.
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 Sie eine neue 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 |
Eine laufende Automatisierung abbrechen. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Details für eine einzelne Automatisierungsausführung abrufen. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Automatisierungsausführungen und ihre Metadaten auflisten. |
customTargetTypes.create() |
clouddeploy.customTargetType.create |
Erstellen Sie eine Ressource für einen benutzerdefinierten Zieltyp. |
customTargetTypes.delete() |
clouddeploy.customTargetType.delete |
Löschen Sie eine Ressource für einen benutzerdefinierten Zieltyp. |
customTargetTypes.get() |
clouddeploy.customTargetType.get |
Details zu einem benutzerdefinierten Zieltyp abrufen |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetType.getIamPolicy |
IAM-Richtlinie für eine Ressource vom benutzerdefinierten Zieltyp abrufen |
customTargetTypes.list() |
clouddeploy.customTargetType.list |
Listet verfügbare benutzerdefinierte Zieltypen und ihre Metadaten auf. |
customTargetTypes.patch() |
clouddeploy.customTargetType.patch |
Aktualisieren Sie einen vorhandenen benutzerdefinierten Zieltyp. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetType.setIamPolicy |
Legen Sie die IAM-Richtlinie für eine Ressource vom benutzerdefinierten Zieltyp fest. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Erstellen Sie eine neue Lieferpipeline-Ressource. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Löschen Sie eine vorhandene Lieferpipeline-Ressource. |
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 |
Bereitstellungspipelines und ihre Metadaten auflisten. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Führt ein Rollback für ein Ziel durch. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Legen Sie die IAM-Richtlinie für eine Lieferpipeline-Ressource fest. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Aktualisieren Sie vorhandene Lieferpipeline-Ressourcen. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Eine JobRuns -Ressource abrufen. |
jobRuns.list() |
clouddeploy.jobRuns.list |
JobRuns -Ressourcen und ihre Metadaten auflisten. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Beendet eine laufende Jobausführung. |
operations.cancel() |
clouddeploy.operations.cancel |
Lange laufenden Vorgang 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 |
Einen Release verwerfen und weitere Roll-outs für den 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. |
releases.promote() |
clouddeploy.rollouts.create |
Release zum nächsten Ziel hochstufen. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Roll-out in der nächsten Phase fortsetzen. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Genehmigen oder Ablehnen eines Roll-outs mit dem Genehmigungsstatus required . |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Roll-out abbrechen. |
rollouts.create() |
clouddeploy.rollouts.create |
Erstellen Sie eine neue Roll-out-Ressource. 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 zum einzelnen Roll-out abrufen |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Fehlgeschlagenen Job ignorieren. |
rollouts.list() |
clouddeploy.rollouts.list |
Roll-outs und Metadaten auflisten. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Fehlgeschlagener Job wird wiederholt. |
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 |
Ruft die IAM-Richtlinie für eine Zielressource ab. |
targets.list() |
clouddeploy.targets.list |
Listet Ziele und ihre Metadaten auf. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Legt die IAM-Richtlinie für eine Zielressource fest. |
targets.update() |
clouddeploy.targets.update |
Vorhandene Zielressource aktualisieren. |
Aktionen für Cloud Deploy-Ressourcen mit IAM einschränken
Sie können Ihre Cloud Deploy-Ressourcen mit IAM auf folgende Arten sichern:
IAM-Meta-APIs
Verwenden Sie
setIamPolicy
in Cloud Deploy-Ressourcen, um Aktionen für diese Ressourcen einzuschränken.Bedingte IAM
Wenden Sie Zugriffsrichtlinien programmatisch an, einschließlich der conditions, unter denen Sie Zugriff gewähren oder verweigern.
Sie können diese Richtlinien und Bedingungen verwenden, um die folgenden Aktionen für Ihre Cloud Deploy-Ressourcen einzuschränken:
Lieferpipeline oder -ziel erstellen
Diesen Zugriff können Sie bestimmten Nutzern oder Gruppen gewähren.
Bestimmte Lieferpipeline aktualisieren oder löschen
Diesen Zugriff können Sie bestimmten Nutzern oder Gruppen gewähren.
Release für eine bestimmte Lieferpipeline erstellen
Diesen Zugriff können Sie bestimmten Nutzern oder Gruppen gewähren.
Ein bestimmtes Ziel aktualisieren oder löschen
Diesen Zugriff können Sie bestimmten Nutzern oder Gruppen gewähren.
Rollout erstellen, genehmigen oder hochstufen
Sie können diesen Zugriff für bestimmte Nutzer oder Gruppen für eine bestimmte Ziel- oder Lieferpipeline gewähren.
Sie können auch eine Bedingung festlegen, die den Zugriff auf einen bestimmten Zeitraum beschränkt.
Nächste Schritte
- IAM
- Weitere Informationen zur Verwendung von Bedingungen in IAM
- Weitere Informationen zu Cloud Deploy-Dienstkonten