Administra recursos de funciones con restricciones personalizadas

En esta página, se proporciona información complementaria para establecer restricciones personalizadas en las funciones creadas con la API de Cloud Functions v2, por ejemplo, a través de los comandos de gcloud functions.

Limitaciones

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

  • Solo está 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 de Cloud Functions v2. Cloud Run Functions también se pueden modificar desde la API de Cloud Run. Para obtener protección adicional, es posible que también debas aplicar restricciones personalizadas en Cloud Run.

Ejemplos comunes de políticas de la organización

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

Descripción Sintaxis de la restricción
Evita que se creen funciones con un lenguaje 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
Cómo exigir 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
Reemplaza WORKER_POOL por el nombre de tu grupo de trabajadores de Cloud Build.
Exige 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
Reemplaza REPO_PATH por el URI de la URL del repositorio de imágenes en el que deseas que todas las funciones almacenen sus imágenes de contenedor.

¿Qué sigue?