Cette page décrit les comptes de service, les rôles et les autorisations.
Dans Cloud Deploy, l'accès est contrôlé à l'aide d'Identity and Access Management (IAM). IAM vous permet de créer et de gérer les autorisations pour les ressources Google Cloud. Cloud Deploy fournit une couche d'un ensemble de rôles IAM prédéfinis où chaque rôle contient un ensemble d'autorisations. Vous pouvez utiliser ces rôles un accès plus précis à des ressources Google Cloud spécifiques et empêchez l'accès à d'autres ressources. IAM vous permet d'adopter le principe de sécurité du moindre privilège afin de n'accorder que l'accès nécessaire à vos ressources.
Consultez la page Utiliser IAM pour restreindre l'accès à Cloud Deploy. pour en savoir plus sur les fonctionnalités avancées de sécurité du contrôle des accès.
Comptes de service dans Cloud Deploy
Par défaut, Cloud Deploy s'exécute à l'aide de l'instance Compute Engine de service géré. Ce compte de service dispose des autorisations nécessaires pour afficher et les déployer sur vos cibles.
En savoir plus Cloud Deploy utilise des comptes de service.
Rôles Cloud Deploy prédéfinis
Avec IAM, chaque méthode API de l'API Cloud Deploy nécessite que l'identité à l'origine de la requête API dispose des autorisations appropriées pour utiliser la ressource. Pour accorder des autorisations, vous devez définir des stratégies qui attribuent des rôles à un compte principal (utilisateur, groupe ou compte de service) du projet. Vous pouvez attribuer plusieurs rôles à une entité principale sur la même ressource.
La documentation IAM comprend un référence incluse dans l'index de recherche de tous les rôles prédéfinis.
Le tableau suivant répertorie les rôles IAM et les autorisations qu’ils incluent:
Rôles Cloud Deploy |
Autorisations |
Administrateur Cloud Deploy( Contrôle complet des ressources Cloud Deploy. |
|
Validateur Cloud Deploy( Permet d'approuver ou de refuser des déploiements. |
|
Administrateur CustomTargetType Cloud Deploy( Permet de gérer les ressources CustomTargetType |
|
Développeur Cloud Deploy( Permet de gérer la configuration du déploiement, mais pas d'accéder aux ressources opérationnelles telles que les cibles. |
|
Exécuteur Cloud Deploy( Autorisation d'exécuter des tâches Cloud Deploy sans l'autorisation de distribuer à une cible. |
|
Opérateur Cloud Deploy( Permet de gérer la configuration du déploiement. |
|
Administrateur des règles Cloud Deploy Version bêta( Autorisation permettant de gérer les règles Deploy. |
|
Utilisateur autorisé à contourner les règles Cloud Deploy Version bêta( Autorisation permettant de contourner les règles Deploy. |
|
Lanceur Cloud Deploy( Permet de créer des versions et des déploiements Cloud Deploy. |
|
Lecteur Cloud Deploy( Peut consulter les ressources Cloud Deploy. |
|
En plus des rôles prédéfinis Cloud Deploy, basic, Les rôles Éditeur et Propriétaire incluent également des autorisations associées à Cloud Deploy. Cependant, nous vous recommandons d'attribuer des rôles prédéfinis lorsque cela est possible afin de respecter le principe de sécurité du moindre privilège.
Autorisations
Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler chaque méthode :
Méthode API | Autorisation requise | Description |
---|---|---|
automations.create() |
clouddeploy.automations.create |
Créez une ressource d'automatisation. |
automations.delete() |
clouddeploy.automations.delete |
Supprimez une ressource d'automatisation existante. |
automations.get() |
clouddeploy.automations.get |
Récupérer les détails d'une ressource d'automatisation individuelle |
automations.list() |
clouddeploy.automations.list |
Répertorier les ressources d'automatisation et leurs métadonnées |
automations.update() |
clouddeploy.automations.update |
Mettez à jour une ressource d'automatisation existante. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
Annuler une automatisation en cours d'exécution. |
automationRuns.get() |
clouddeploy.automationRuns.get |
Récupérer les détails d'une exécution d'automatisation individuelle |
automationRuns.list() |
clouddeploy.automationRuns.list |
Répertorier les exécutions d'automatisation et leurs métadonnées |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
Créez une ressource de type cible personnalisé. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
Supprimez une ressource de type cible personnalisé. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
Récupérer les détails d'un type de cible personnalisée |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
Obtenez la stratégie IAM pour une ressource de type cible personnalisé. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
Listez les types de cibles personnalisées disponibles et leurs métadonnées. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
Mettez à jour un type de cible personnalisée existant. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
Définissez la stratégie IAM pour une ressource de type cible personnalisé. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
Crée une ressource de pipeline de diffusion. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
Supprime une ressource de pipeline de diffusion existante. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
Récupère les informations sur un pipeline de diffusion individuel. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
Obtient la stratégie IAM associée à une ressource de pipeline de diffusion. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
Répertorie les pipelines de diffusion et leurs métadonnées. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
Effectue un rollback vers une cible. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Définissez la stratégie IAM pour une ressource de pipeline de livraison. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
Met à jour une ressource de pipeline de diffusion existante. |
jobRuns.get() |
clouddeploy.jobRuns.get |
Récupérez une ressource JobRuns . |
jobRuns.list() |
clouddeploy.jobRuns.list |
Répertoriez les ressources JobRuns et leurs métadonnées. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
Arrêtez l'exécution d'un job en cours. |
operations.cancel() |
clouddeploy.operations.cancel |
Annule une opération de longue durée. |
operation.delete() |
clouddeploy.operations.delete |
Supprime une opération de longue durée. |
operations.get() |
clouddeploy.operations.get |
Obtenir une opération de longue durée spécifique (par exemple, pour renvoyer l'état de la création d'une version) |
operations.list() |
clouddeploy.operations.list |
Répertorie les opérations de longue durée. |
releases.abandon() |
clouddeploy.releases.abandon |
Abandonner une version et empêcher d'autres déploiements la concernant. |
releases.create() |
clouddeploy.releases.create |
Créez une ressource de version. L'appelant a également besoin de l'autorisation iam.serviceAccounts.actAs sur le compte de service utilisé pour afficher le fichier manifeste. |
releases.get() |
clouddeploy.releases.get |
Récupère les détails de la version individuelle. |
releases.list() |
clouddeploy.releases.list |
Répertorie les versions et les métadonnées. |
releases.promote() |
clouddeploy.rollouts.create |
Convertit la version en cible suivante. |
rollouts.advance() |
clouddeploy.rollouts.advance |
Avancer un déploiement à la phase suivante. |
rollouts.approve() |
clouddeploy.rollouts.approve |
Approuve ou refuse un déploiement avec l'état d'approbation required . |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
Annuler un déploiement |
rollouts.create() |
clouddeploy.rollouts.create |
Créer une ressource de déploiement L'appelant nécessite également l'autorisation iam.serviceAccounts.actAs sur le projet ou le compte de service utilisé pour le déploiement. |
rollouts.get() |
clouddeploy.rollouts.get |
Récupère les détails du déploiement individuel. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
Ignorer une tâche en échec. |
rollouts.list() |
clouddeploy.rollouts.list |
Répertorie les déploiements et les métadonnées. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Il relance une tâche ayant échoué. |
targets.create() |
clouddeploy.targets.create |
Crée une ressource cible. |
targets.delete() |
clouddeploy.targets.delete |
Supprime une ressource cible existante. |
targets.get() |
clouddeploy.targets.get |
Récupère les détails d'une cible individuelle. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
Récupère la stratégie IAM d'une ressource cible. |
targets.list() |
clouddeploy.targets.list |
Répertorie les cibles et leurs métadonnées. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
Définit la stratégie IAM d'une ressource cible. |
targets.update() |
clouddeploy.targets.update |
Mettez à jour une ressource cible existante. |
Utiliser IAM pour limiter les actions sur les ressources Cloud Deploy
Vous pouvez sécuriser vos ressources Cloud Deploy à l'aide d'IAM comme suit:
API méta IAM
Utiliser
setIamPolicy
sur Cloud Deploy afin de limiter les actions sur ces ressources.IAM conditionnelle
appliquer des règles d'accès par programmation ; y compris les conditions dans lesquelles accorder ou refuser l'accès.
Vous pouvez utiliser ces règles et conditions pour limiter les actions suivantes sur vos ressources Cloud Deploy:
Créer un pipeline de livraison ou une cible
Vous pouvez accorder cet accès à des utilisateurs ou à des groupes spécifiques.
Mettre à jour ou supprimer un pipeline de livraison spécifique
Vous pouvez accorder cet accès à des utilisateurs ou à des groupes spécifiques.
Créer une version pour un pipeline de diffusion spécifique
Vous pouvez accorder cet accès à des utilisateurs ou à des groupes spécifiques.
Mettre à jour ou supprimer une cible spécifique
Vous pouvez accorder cet accès à des utilisateurs ou à des groupes spécifiques.
Créer ou approuver un déploiement, ou promouvoir une version
Vous pouvez accorder cet accès à des utilisateurs ou à des groupes spécifiques pour une cible ou de livraison.
Vous pouvez également définir une condition qui limite cet accès pendant période.
Étape suivante
- Apprenez-en davantage sur IAM
- Découvrez comment utiliser des conditions dans IAM.
- Apprenez-en plus sur les comptes de service Cloud Deploy.