Limitare i nuovi deployment in base alla versione del prodotto

.

Le funzioni Cloud Run offrono due versioni del prodotto: funzioni Cloud Run (1ª gen.) e funzioni Cloud Run create tramite le Google Cloud API Functions v2. Se la tua organizzazione vuole applicare una limitazione che specifica che solo una delle versioni può essere utilizzata per il deployment di nuove funzioni, puoi definire un nuovo criterio dell'organizzazione con il vincolo constraints/cloudfunctions.restrictAllowedGenerations. Utilizza questo vincolo per specificare la generazione (versione) che vuoi consentire o negare nella cartella o nel progetto a cui viene applicato il criterio.

La limitazione verrà applicata solo alle nuove funzioni di cui viene eseguito il deployment per la prima volta. Potrai comunque eseguire il redeployment delle funzioni esistenti anche se non sono conformi alle norme.

Prima di iniziare

Per creare o modificare le norme dell'organizzazione, il tuo account deve avere il ruolo roles/orgpolicy.policyAdmin.

Utilizzare un criterio per impostare e applicare le restrizioni

Puoi utilizzare Google Cloud CLI per creare un criterio che impedisca il deployment per la prima volta all'interno di una determinata organizzazione delle nuove funzioni Cloud Run nell'ambiente specificato.

Tieni presente che l'impostazione di un criterio non si applica alle funzioni esistenti. Tutte le funzioni messe in produzione prima del criterio possono essere riimplementate, aggiornate o eliminate senza limitazioni.

Per creare un criterio che limiti le nuove funzioni Cloud Run, esegui il seguente comando:

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

dove ORGANIZATION_NUMBER è il numero dell'organizzazione a cui vuoi applicare il criterio e VERSION è la versione delle funzioni Cloud Run da utilizzare per i nuovi deployment. VERSION può essere uno dei seguenti:

  • 1stGen: consenti l'utilizzo solo delle funzioni Cloud Run (1ª gen.).
  • 2ndGen: consenti solo l'utilizzo di Cloud Run Functions (2ª gen.).
  • Per consentire esplicitamente entrambi gli ambienti, specifica 1stGen e 2ndGen insieme. Per impostazione predefinita, entrambi gli ambienti sono consentiti quando non è impostato alcun criterio.