Limiter les nouveaux déploiements par version de produit

Cloud Run Functions propose deux versions de produit : Cloud Run Functions (1re génération) et les fonctions Cloud Run créées à l'aide des APIGoogle Cloud Functions v2. Si votre organisation souhaite appliquer une restriction spécifiant qu'une seule des versions peut être utilisée pour déployer de nouvelles fonctions, vous pouvez définir une nouvelle règle d'administration avec la contrainte constraints/cloudfunctions.restrictAllowedGenerations. Vous utilisez cette contrainte pour spécifier la génération (version) que vous souhaitez autoriser ou refuser dans le dossier ou le projet auquel la règle est appliquée.

La restriction ne s'applique qu'aux nouvelles fonctions déployées pour la première fois. Vous pourrez toujours redéployer les fonctions existantes, même si elles ne sont pas conformes à la règle.

Avant de commencer

Pour créer ou modifier des règles d'administration, votre compte doit disposer du rôle roles/orgpolicy.policyAdmin.

Utiliser une règle pour définir et appliquer des restrictions

Vous pouvez utiliser la Google Cloud CLI pour créer une règle qui limite à l'environnement spécifié les nouvelles fonctions Cloud Run qui sont déployées pour la première fois dans une organisation donnée.

Notez que lorsque vous définissez une règle, elle ne s'applique pas aux fonctions existantes. Toutes les fonctions qui ont été déployées avant la création de la règle peuvent être redéployées, mises à jour ou supprimées sans restriction.

Pour créer une règle qui limite les nouvelles fonctions Cloud Run, exécutez la commande suivante :

gcloud resource-manager org-policies \
  allow cloudfunctions.restrictAllowedGenerations \
  --organization=ORGANIZATION_NUMBER VERSION

ORGANIZATION_NUMBER est le numéro de l'organisation à laquelle vous souhaitez appliquer la règle, et VERSION est la version de Cloud Run Functions à utiliser pour les nouveaux déploiements. VERSION peut être :

  • 1stGen : autorise seulement l'utilisation de Cloud Run Functions (1re génération).
  • 2ndGen : autorise seulement l'utilisation de Cloud Run Functions (2e génération).
  • Pour autoriser explicitement les deux environnements, spécifiez 1stGen et 2ndGen ensemble. Par défaut, les deux environnements sont autorisés lorsqu'aucune règle n'est définie.