In questa pagina vengono descritti i service account, i ruoli e le autorizzazioni di Cloud Deploy.
L'accesso a Cloud Deploy è controllato tramite Identity and Access Management (IAM). IAM consente di creare e gestire le autorizzazioni per Google Cloud le risorse. Cloud Deploy fornisce un insieme specifico di ruoli IAM predefiniti , ognuno dei quali contiene un insieme di autorizzazioni. Puoi utilizzare questi ruoli per concedere un accesso più granulare a risorse specifiche Google Cloud e impedire l'accesso indesiderato ad altre risorse. Con IAM puoi adottare il principio del privilegio minimo, e quindi concedere solo l'accesso necessario alle tue risorse.
Per scoprire di più sulle funzionalità di sicurezza avanzate per il controllo dell'accesso, consulta Utilizzare IAM per limitare l'accesso a Cloud Deploy.
Service account in Cloud Deploy
Per impostazione predefinita, Cloud Deploy viene eseguito utilizzando l'account di servizio predefinito di Compute Engine. Per ulteriori informazioni sulla configurazione di questo account di servizio per l'utilizzo con Cloud Deploy o sulla scelta di un account diverso, consulta la documentazione relativa al service account di esecuzione di Cloud Deploy.
Scopri di più su come Cloud Deploy utilizza i service account.
Ruoli predefiniti di Cloud Deploy
Con IAM, ogni metodo dell'API Cloud Deploy richiede che l'identità che effettua la richiesta API disponga delle autorizzazioni appropriate per utilizzare la risorsa. Le autorizzazioni vengono concesse impostando policy che assegnano ruoli a un'entità (utente, gruppo o account di servizio) del progetto. Puoi concedere più ruoli a un'entità sulla stessa risorsa.
La documentazione di IAM include un riferimento ricercabile di tutti i ruoli predefiniti.
La tabella seguente elenca i ruoli IAM di Cloud Deploy e le autorizzazioni che includono:
| Role | Permissions |
|---|---|
Cloud Deploy Admin( Full control of Cloud Deploy resources. |
|
Clouddeploy Editor( Editor role for clouddeploy |
|
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. |
|
Oltre ai ruoli predefiniti di Cloud Deploy, i ruoli di base Visualizzatore, Editor e Proprietario includono anche le autorizzazioni relative a Cloud Deploy. Tuttavia, ti consigliamo di concedere i ruoli predefiniti, se possibile, per rispettare il principio di sicurezza del privilegio minimo.
Autorizzazioni
La tabella seguente elenca le autorizzazioni di cui il chiamante deve disporre per chiamare ciascun metodo:
| Metodo API | Autorizzazione obbligatoria | Descrizione |
|---|---|---|
automations.create() |
clouddeploy.automations.create |
Crea una nuova risorsa di automazione. |
automations.delete() |
clouddeploy.automations.delete |
Elimina una risorsa di automazione esistente. |
automations.get() |
clouddeploy.automations.get |
Recupera i dettagli di una singola risorsa di automazione. |
automations.list() |
clouddeploy.automations.list |
Elenca le risorse di automazione e i relativi metadati. |
automations.update() |
clouddeploy.automations.update |
Aggiorna una risorsa di automazione esistente. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
Annulla un'automazione in esecuzione. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Recupera i dettagli di una singola esecuzione di automazione. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Elenca le esecuzioni di automazione e i relativi metadati. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Crea una risorsa di tipo di target personalizzato. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Elimina una risorsa di tipo di target personalizzato. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Recupera i dettagli di un tipo di target personalizzato. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
Recupera la policy IAM per una risorsa di tipo di target personalizzato. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Elenca i tipi di target personalizzati disponibili e i relativi metadati. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Aggiorna un tipo di target personalizzato esistente. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Imposta la policy IAM per una risorsa di tipo di target personalizzato. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Crea una nuova risorsa di pipeline di distribuzione. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Elimina una risorsa di pipeline di distribuzione esistente. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Recupera i dettagli di una singola pipeline di distribuzione. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Recupera la policy IAM per una risorsa di pipeline di distribuzione. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Elenca le pipeline di distribuzione e i relativi metadati. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Esegue il rollback di una destinazione. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Imposta la policy IAM per una risorsa di pipeline di distribuzione. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Aggiorna una risorsa di pipeline di distribuzione esistente. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
Crea una risorsa di policy di deployment. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
Elimina una risorsa di policy di deployment. |
deployPolicies.get() |
clouddeploy.deployPolicies.get |
Recupera i dettagli di una risorsa di policy di deployment. |
deployPolicies.list() |
clouddeploy.deployPolicies.list |
Elenca le policy di deployment disponibili e i relativi metadati. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Recupera una risorsa JobRuns. |
jobRuns.list() |
clouddeploy.jobRuns.list |
Elenca le risorse JobRuns e i relativi metadati. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Termina un'esecuzione di job in corso. |
operations.cancel() |
clouddeploy.operations.cancel |
Annulla un'operazione a lunga esecuzione. |
operation.delete() |
clouddeploy.operations.delete |
Elimina un'operazione a lunga esecuzione. |
operations.get() |
clouddeploy.operations.get |
Recupera un'operazione a lunga esecuzione specifica (ad esempio, per restituire lo stato della creazione di una release). |
operations.list() |
clouddeploy.operations.list |
Elenca operazioni a lunga esecuzione. |
releases.abandon() |
clouddeploy.releases.abandon |
Abbandona una release e impedisci ulteriori implementazioni rispetto alla release. |
releases.create() |
clouddeploy.releases.create |
Crea una nuova risorsa di release. Il chiamante richiede anche l'autorizzazione iam.serviceAccounts.actAs per il account di servizio utilizzato per il rendering del manifest. |
releases.get() |
clouddeploy.releases.get |
Recupera i dettagli della singola release. |
releases.list() |
clouddeploy.releases.list |
Elenca le release e i relativi metadati. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Porta un'implementazione alla fase successiva. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Approva o rifiuta un'implementazione con lo stato di approvazione required. |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Annulla un'implementazione. |
rollouts.create() |
clouddeploy.rollouts.create |
Crea una nuova risorsa di implementazione o promuovi una release. Il chiamante richiede anche l'autorizzazione iam.serviceAccounts.actAs per il progetto o il account di servizio utilizzato per il deployment. |
rollouts.get() |
clouddeploy.rollouts.get |
Recupera i dettagli della singola implementazione. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignora un job non riuscito. |
rollouts.list() |
clouddeploy.rollouts.list |
Elenca le implementazioni e i relativi metadati. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Riprova un job non riuscito. |
rollouts.advance(), rollouts.approve(), rollouts.cancel(), rollouts.create(), rollouts.ignoreJob(), rollouts.retryJob(), deliveryPipelines.rollbackTarget(), jobRuns.terminate() |
clouddeploy.deployPolicies.override |
Esegue l'override di una risorsa di policy di deployment. |
deployPolicies.update() |
clouddeploy.deployPolicies.update |
Aggiorna una risorsa di policy di deployment esistente. |
targets.create() |
clouddeploy.targets.create |
Crea una nuova risorsa di destinazione. |
targets.delete() |
clouddeploy.targets.delete |
Elimina una risorsa di destinazione esistente. |
targets.get() |
clouddeploy.targets.get |
Recupera i dettagli di una singola destinazione. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
Recupera la policy IAM per una risorsa di destinazione. |
targets.list() |
clouddeploy.targets.list |
Elenca le destinazioni e i relativi metadati. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Imposta la policy IAM per una risorsa di destinazione. |
targets.update() |
clouddeploy.targets.update |
Aggiorna una risorsa di destinazione esistente. |
Utilizzare IAM per limitare le azioni sulle risorse di Cloud Deploy
Puoi proteggere le risorse di Cloud Deploy utilizzando IAM nei seguenti modi:
API meta IAM
Utilizza
setIamPolicysu risorse di Cloud Deploy per limitare le azioni su queste risorse.IAM condizionale
Applica programmaticamente le policy di accesso, incluse le condizioni in base alle quali concedere o negare l'accesso.
Puoi utilizzare queste policy e condizioni per limitare le seguenti azioni sulle risorse di Cloud Deploy:
Crea una pipeline di distribuzione o una destinazione
Puoi concedere questo accesso a utenti o gruppi specifici.
Aggiorna o elimina una pipeline di distribuzione specifica
Puoi concedere questo accesso a utenti o gruppi specifici.
Crea una release per una pipeline di distribuzione specifica
Puoi concedere questo accesso a utenti o gruppi specifici.
Aggiorna o elimina una destinazione specifica
Puoi concedere questo accesso a utenti o gruppi specifici.
Crea o approva un'implementazione o promuovi una release
Puoi concedere questo accesso a utenti o gruppi specifici per una destinazione o una pipeline di distribuzione specifica.
Puoi anche impostare una condizione che limiti questo accesso a un intervallo di tempo specificato.
Passaggi successivi
- Scopri di più su IAM.
- Scopri di più sull'utilizzo delle condizioni in IAM.
- Scopri di più sui service account di Cloud Deploy.