Limiter les nouveaux déploiements par version de produit

Les fonctions Cloud Run proposent deux versions de produit : les fonctions Cloud Run (1re génération) et les fonctions Cloud Run créées via les API Google Cloud Functions V2. Si votre organisation souhaite appliquer une limitation 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 limitation 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 limitations

Vous pouvez utiliser la Google Cloud CLI ou la console Google Cloud 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 la définition d'une règle ne s'applique pas aux fonctions existantes. Toutes les fonctions qui ont été déployées avant la règle peuvent être redéployées, mises à jour ou supprimées sans limitation.

Console

  1. Accédez à la page "Règles d'administration" dans Google Cloud Console.
    Accéder à la page "Règles d'administration"

  2. Sélectionnez le projet, le dossier ou l'organisation auquel vous souhaitez ajouter la nouvelle règle.

    La page "Règles d'administration" affiche la liste des contraintes de règles d'administration disponibles.

  3. Recherchez la règle Générations de fonctions Cloud Functions autorisées dans la liste. Vous pouvez utiliser le champ Filtre en haut de la liste.

  4. Cliquez sur le nom de la règle. Vous pouvez également sélectionner Modifier la règle dans le menu contextuel.

  5. Cliquez sur Gérer la règle.

  6. Sélectionnez Personnaliser sous S'applique à.

  7. Sélectionnez Remplacer sous Application des règles.

  8. Cliquez sur Ajouter une règle sous Règles.

  9. Sélectionnez Personnalisé pour Valeurs de règlement.

  10. Sélectionnez Autoriser pour Type de règle.

  11. Dans Valeur personnalisée, spécifiez l'environnement que vous souhaitez appliquer au sein de l'organisation. Valeurs autorisées :

    • 1stGen : autorise seulement l'utilisation de Cloud Run Functions (1re génération).
    • 2ndGen : autorise seulement l'utilisation de Cloud Run Functions (2nd gen).
    • 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.
  12. Cliquez sur OK.

  13. Cliquez sur Enregistrer.

Les modifications prendront effet rapidement et la règle va empêcher le déploiement de Cloud Run Functions dans l'environnement spécifié.

gcloud

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. La valeur attendue pour VERSION peut être l'une des suivantes :

  • 1stGen : autorise seulement l'utilisation de Cloud Run Functions (1re génération).
  • 2ndGen : autorise seulement l'utilisation de Cloud Run Functions (2nd gen).
  • 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.