Gestionar recursos de funciones con restricciones personalizadas

En esta página se proporciona información adicional para definir restricciones personalizadas en funciones creadas con la API Cloud Functions v2, como las que se crean con los comandos gcloud functions.

Limitaciones

Se aplican las siguientes limitaciones al usar políticas de organización personalizadas para las funciones de la API Cloud Functions v2:

  • Solo disponible en la API de Cloud Functions v2.
  • No se aplicarán a las funciones de Cloud Run (1.ª gen.).
  • Solo protege las funciones cuando se usa la API Cloud Functions v2. Las funciones de Cloud Run también se pueden modificar desde la API Cloud Run. Para obtener más protección, es posible que también tengas que aplicar restricciones personalizadas en Cloud Run.

Ejemplos de políticas de organización habituales

En la siguiente tabla se muestra la sintaxis de algunas políticas de organización personalizadas que pueden resultarte útiles:

Descripción Sintaxis de las restricciones
Impedir que se creen funciones con un idioma específico
    name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionRuntimeBlock
    resource_types: cloudfunctions.googleapis.com/Function
    method_types:
      - CREATE
      - UPDATE
    condition: resource.buildConfig.runtime == "python312"
    action_type: DENY
    display_name: Deny functions using Python 3.12
    description: Functions cannot be created with Python 3.12 as the language runtime
Requerir que las funciones usen un grupo de trabajadores específico
    name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionsWorkerPool
    resource_types: cloudfunctions.googleapis.com/Function
    method_types:
      - CREATE
      - UPDATE
    condition: resource.buildConfig.workerPool == "WORKER_POOL"
    action_type: DENY
    display_name: Require worker pool
    description: Functions must use a worker pool
Sustituye WORKER_POOL por el nombre de tu grupo de trabajadores de Cloud Build.
Requerir que las funciones almacenen todas las imágenes de contenedor en un repositorio de imágenes específico
    name: organizations/ORGANIZATION_ID/customConstraints/custom.cloudFunctionsRepository
    resource_types: cloudfunctions.googleapis.com/Function
    method_types:
      - CREATE
      - UPDATE
    condition: resource.buildConfig.dockerRepository.startsWith("REPO_PATH")
    action_type: DENY
    display_name: Image repository constraint
    description: Functions must push images to a central image repository under REPO_PATH
Sustituye REPO_PATH por el URI de la URL del repositorio de imágenes en el que quieres que todas las funciones almacenen sus imágenes de contenedor.

Siguientes pasos