Cette page décrit les comptes de service, les rôles et les autorisations de Google Cloud Deploy.
L'accès dans Google Cloud Deploy 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. Google Cloud Deploy fournit un ensemble spécifique de rôles IAM prédéfinis, où chaque rôle contient un ensemble d'autorisations. Vous pouvez utiliser ces rôles pour accorder un accès plus précis à des ressources Google Cloud spécifiques et empêcher tout accès indésirable à 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.
Pour en savoir plus sur les fonctionnalités de sécurité avancées du contrôle des accès, consultez la page Utiliser IAM pour restreindre l'accès à Google Cloud Deploy.
Comptes de service dans Google Cloud Deploy
Par défaut, Google Cloud Deploy s'exécute à l'aide du compte de service Compute Engine par défaut. Ce compte de service dispose des autorisations suffisantes pour afficher les fichiers manifestes et les déployer sur vos cibles.
Découvrez comment Google Cloud Deploy utilise les comptes de service.
Rôles Google Cloud Deploy prédéfinis
Avec IAM, toutes les méthodes d'API de l'API Google Cloud Deploy nécessitent que l'identité effectuant 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.
Le tableau suivant répertorie les rôles IAM pour Google Cloud Deploy et les autorisations associées:
Rôle | Description | Autorisations |
---|---|---|
roles/clouddeploy.viewer
|
Peut consulter Google Cloud Deploy
. |
clouddeploy.*.get
|
roles/clouddeploy.admin |
Contrôle complet des ressources Google Cloud Deploy. | clouddeploy.* |
roles/clouddeploy.developer
|
Peut créer, récupérer, mettre à jour et
supprimer des ressources du pipeline de diffusion Google Cloud Deploy. |
clouddeploy.deliveryPipelines.get
|
roles/clouddeploy.operator
|
Peut créer, récupérer, mettre à jour et supprimer
Pipeline de livraison Google Cloud Deploy et ressources cibles Peut créer et récupérer des ressources de version, de déploiement et d'exécution de tâche. |
clouddeploy.deliveryPipelines.get
|
roles/clouddeploy.approver
|
Peut consulter et approuver les ressources de déploiement
Google Cloud Deploy uniquement. |
clouddeploy.rollouts.get
|
roles/clouddeploy.jobRunner
|
Peut exécuter Google Cloud Deploy sans
autorisation de déployer sur une cible. |
logging.logEntries.create
|
roles/clouddeploy.releaser
|
Peut créer et récupérer des versions et des déploiements | clouddeploy.deliveryPipelines.get
|
En plus des rôles prédéfinis de Google Cloud Deploy, les rôles de base de lecteur, d'éditeur et de propriétaire incluent également des autorisations liées à Google 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 |
---|---|---|
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.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
Définir 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épertorier les ressources JobRuns et leurs métadonnées. |
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 |
Obtenez 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 requiert également 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.approve() |
clouddeploy.rollouts.approve |
Approuve ou refuse un déploiement avec l'état d'approbation required . |
rollouts.create() |
clouddeploy.rollouts.create |
Créez une ressource de déploiement. L'appelant requiert é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.list() |
clouddeploy.rollouts.list |
Répertorie les déploiements et les métadonnées. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
Nouvelle tentative d'exécution d'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 associée à 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 |
Mettre à jour une ressource cible existante |
Utiliser IAM pour limiter les actions sur les ressources Google Cloud Deploy
Vous pouvez sécuriser vos ressources Google Cloud Deploy à l'aide d'IAM de différentes manières:
API méta IAM
Utilisez
setIamPolicy
sur les ressources Google Cloud Deploy pour limiter les actions sur ces ressources.IAM conditionnel
Appliquez des règles d'accès programmatiques, y compris les conditions pour accorder ou refuser l'accès.
Vous pouvez utiliser ces règles et conditions pour restreindre les actions suivantes sur vos ressources Google 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 release
Vous pouvez accorder cet accès à des utilisateurs ou des groupes spécifiques pour une cible ou un pipeline de livraison spécifiques.
Vous pouvez également définir une condition qui limite cet accès dans un délai spécifique.
Étapes suivantes
- Apprenez-en davantage sur IAM
- En savoir plus sur l'utilisation des conditions dans IAM
- En savoir plus sur les comptes de service Google Cloud Deploy