Questa pagina descrive i service account, i ruoli e le autorizzazioni di Cloud Deploy.
L'accesso in Cloud Deploy è controllato tramite Identity and Access Management (IAM). IAM consente di creare e gestire le autorizzazioni per le risorse Google Cloud . Cloud Deploy fornisce un insieme specifico di ruoli IAM predefiniti, in cui ogni ruolo contiene un insieme di autorizzazioni. Puoi utilizzare questi ruoli per concedere un accesso più granulare a risorse Google Cloud specifiche e impedire l'accesso indesiderato ad altre risorse. IAM ti consente di adottare il principio di sicurezza del privilegio minimo, in modo da concedere solo il livello di accesso necessario per le tue risorse.
Consulta Utilizzo di IAM per limitare l'accesso a Cloud Deploy per scoprire di più sulle funzionalità di sicurezza avanzate per il controllo dell'accesso.
Service account in Cloud Deploy
Per impostazione predefinita, Cloud Deploy viene eseguito utilizzando il account di servizio di Compute Engine predefinito. 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 Cloud Deploy predefiniti
Con IAM, ogni metodo API nell'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 tuo progetto. Puoi concedere più ruoli a un'entità nella stessa risorsa.
La documentazione IAM include un riferimento consultabile di tutti i ruoli predefiniti.
La tabella seguente elenca i ruoli IAM Cloud Deploy e le autorizzazioni che includono:
Role | Permissions |
---|---|
Cloud Deploy Admin( Full control of 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. |
|
Cloud Deploy Service Agent( Gives Cloud Deploy Service Account access to managed resources. |
|
Cloud Deploy Viewer( Can view Cloud Deploy resources. |
|
Oltre ai ruoli predefiniti di Cloud Deploy, anche i ruoli di base Visualizzatore, Editor e Proprietario includono autorizzazioni relative a Cloud Deploy. Tuttavia, ti consigliamo di concedere ruoli predefiniti, ove possibile, per rispettare il principio di sicurezza del privilegio minimo.
Autorizzazioni
La tabella seguente elenca le autorizzazioni che il chiamante deve avere per chiamare ogni 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 dell'automazione. |
automationRuns.list() |
clouddeploy.automationRuns.list |
Elenca le esecuzioni dell'automazione e i relativi metadati. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Crea una risorsa di tipo target personalizzato. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Elimina una risorsa di tipo target personalizzato. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Recupera i dettagli di un tipo di target personalizzato. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
Recupera il criterio IAM per una risorsa di tipo target personalizzato. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Elenca i tipi di destinazione personalizzati disponibili e i relativi metadati. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Aggiorna un tipo di target personalizzato esistente. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Imposta il criterio IAM per una risorsa di tipo target personalizzato. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Crea una nuova risorsa pipeline di distribuzione. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Elimina una risorsa pipeline di distribuzione esistente. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Recupera i dettagli di una singola pipeline di distribuzione. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Recupera il criterio IAM per una risorsa 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 il criterio IAM per una risorsa pipeline di distribuzione. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Aggiorna una risorsa pipeline di distribuzione esistente. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
Crea una risorsa policy di deployment. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
Elimina una risorsa 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 del 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 le operazioni a lunga esecuzione. |
releases.abandon() |
clouddeploy.releases.abandon |
Abbandona una release e impedisci ulteriori implementazioni. |
releases.create() |
clouddeploy.releases.create |
Crea una nuova risorsa di release. Il chiamante richiede anche l'autorizzazione iam.serviceAccounts.actAs per l'account di servizio utilizzato per il rendering del manifest. |
releases.get() |
clouddeploy.releases.get |
Recupera i dettagli della singola uscita. |
releases.list() |
clouddeploy.releases.list |
Elenco delle uscite e dei metadati. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Passa alla fase successiva di un'implementazione. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Approva o rifiuta un'implementazione con stato di approvazione required . |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Annullare 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 per la singola implementazione. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignora un job non riuscito. |
rollouts.list() |
clouddeploy.rollouts.list |
Elenco dei rollout e dei 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 |
Esegui l'override di una risorsa della policy di deployment. |
deployPolicies.update() |
clouddeploy.deployPolicies.update |
Aggiorna una risorsa 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 |
Recuperare i dettagli di un singolo target. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
Recupera il criterio IAM per una risorsa di destinazione. |
targets.list() |
clouddeploy.targets.list |
Elenco dei target e dei relativi metadati. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Imposta il criterio IAM per una risorsa di destinazione. |
targets.update() |
clouddeploy.targets.update |
Aggiorna una risorsa di destinazione esistente. |
Utilizzo di IAM per limitare le azioni sulle risorse Cloud Deploy
Puoi proteggere le risorse Cloud Deploy utilizzando IAM nei seguenti modi:
API meta IAM
Utilizza
setIamPolicy
sulle risorse Cloud Deploy per limitare le azioni su queste risorse.IAM condizionale
Applica in modo programmatico policy di accesso, incluse le condizioni in base alle quali concedere o negare l'accesso.
Puoi utilizzare queste norme e condizioni per limitare le seguenti azioni sulle tue risorse Cloud Deploy:
Crea una pipeline di distribuzione o un target
Puoi concedere questo accesso a utenti o gruppi specifici.
Aggiornare o eliminare 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.
Aggiornare o eliminare un target specifico
Puoi concedere questo accesso a utenti o gruppi specifici.
Creare o approvare un'implementazione o promuovere una release
Puoi concedere questo accesso a utenti o gruppi specifici per una pipeline di targeting o di pubblicazione 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 Cloud Deploy.