Faça a gestão de recursos de funções através de restrições personalizadas

Esta página fornece informações suplementares para definir restrições personalizadas em funções criadas através da API Cloud Functions v2, como através dos comandos gcloud functions.

Limitações

As seguintes limitações aplicam-se à utilização de políticas de organização personalizadas para funções da API Cloud Functions v2:

  • Disponível apenas na API Cloud Functions v2.
  • Não são aplicadas a funções do Cloud Run (1.ª geração).
  • Só protege as funções quando usa a API Cloud Functions v2. As funções do Cloud Run também podem ser modificadas a partir da API Cloud Run. Para proteção adicional, também pode ter de aplicar restrições personalizadas no Cloud Run.

Exemplos comuns de políticas da organização

A tabela seguinte apresenta a sintaxe de algumas políticas de organização personalizadas que pode considerar úteis:

Descrição Sintaxe de restrição
Impeça a criação de funções com um 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
Exigir que as funções usem um conjunto de trabalhadores 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
Substitua WORKER_POOL pelo nome do seu worker pool do Cloud Build.
Exigir que as funções armazenem todas as imagens de contentores num repositório de imagens 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
Substitua REPO_PATH pelo URI do URL do repositório de imagens no qual quer que todas as funções armazenem as respetivas imagens de contentores.

O que se segue?