Configurar políticas de proteção de artefatos

Neste documento, descrevemos como criar e gerenciar políticas de proteção de artefatos. Para uma visão geral do serviço, consulte a Visão geral do Artifact Guard.

Antes de começar

Antes de criar uma política do Artifact Guard, ative o Artifact Guard no Security Command Center e receba o papel necessário do Identity and Access Management (IAM).

Além disso, conheça os limites do Artifact Guard.

Se você planeja usar a CLI gcloud para gerenciar políticas ou conectores de CI/CD, confira os pré-requisitos da CLI gcloud.

Ativar o Artifact Guard

Siga as etapas em Configurar os serviços do Security Command Center para ativar o artifact guard.

Papel necessário

Para receber as permissões necessárias para usar o Artifact Guard, peça ao administrador para conceder a você o seguinte papel do Identity and Access Management (IAM) no projeto ou na organização:

  • Administrador de avaliação do Artifact Scan Guard (roles/artifactscanguard.policyEvaluator)

É possível conceder essa função usando o console Google Cloud ou executando o seguinte comando da CLI gcloud:

projeto

  gcloud projects add-iam-policy-binding PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/artifactscanguard.policyEvaluator"

Substitua:

  • PROJECT_ID: o ID do projeto.
  • SERVICE_ACCOUNT_EMAIL: o endereço de e-mail da sua conta de serviço.

organização

  gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/artifactscanguard.policyEvaluator"

Substitua:

  • ORGANIZATION_ID: o ID da organização.
  • SERVICE_ACCOUNT_EMAIL: o endereço de e-mail da sua conta de serviço.

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Para mais papéis de proteção de artefatos, consulte Papéis e permissões de proteção de artefatos.

Pré-requisitos da CLI gcloud

Para gerenciar políticas ou conectores de CI/CD usando a CLI gcloud, verifique se o ambiente atende aos seguintes requisitos:

  • A versão da CLI gcloud é 559.0.0 ou mais recente.
  • Seu projeto está definido como o projeto de configuração.

Para atualizar a CLI gcloud e definir seu projeto, execute os seguintes comandos:

gcloud components update --version=559.0.0
gcloud config set project PROJECT_ID

Substitua PROJECT_ID pela ID do seu projeto.

Criar uma política

Console

Para criar uma política de proteção de artefatos no console do Google Cloud , siga estas etapas:

  1. No console Google Cloud , acesse Segurança > Regras e clique em Criar política de proteção de artefato ou Criar política.
  2. Insira um ID e uma descrição para a política e clique em Continuar.
  3. Selecione escopos e ações da política:
    • Plataforma de CI/CD
      • Selecionar conectores: selecione os conectores que você quer associar a esta política. O scanner avalia essa política para cada build de CI/CD associado aos conectores selecionados.
      • Ação da política: selecione a ação a ser realizada quando a política for violada.
        • Bloquear builds que causam falhas na política: se a política falhar, o build será bloqueado.
        • Aprovar builds com alertas: os pipelines de build conectados mostram os resultados da avaliação da política do scanner de CI/CD.
    • Registro
      • Projetos do Container Analysis: essa configuração se aplica apenas a organizações, não a projetos. Adicione os projetos Google Cloud em que você quer aplicar essa política.
      • Repositórios do Artifact Registry: selecione os repositórios em que você quer aplicar essa política. Eles precisam ser repositórios válidos do Artifact Registry. Se deixado em branco, o Artifact Guard vai aplicar a política a todos os repositórios.
      • Ação da política: selecione a ação a ser realizada quando a política for violada.
        • Somente auditoria: o Artifact Guard avalia a política e registra violações para fins de auditoria sem bloquear o recurso.
        • Controle de admissão: se uma violação ocorrer durante a avaliação da política, o controle de admissão vai impedir a implantação do recurso.
          • Defina as políticas de autorização binária para o modo de teste: para mais informações sobre o modo de teste, consulte Ativar o modo de teste.
          • Projetos da autorização binária: essa configuração se aplica apenas a organizações, não a projetos. Adicione os projetos Google Cloud em que você quer aplicar o controle de admissão.
          • Clusters do GKE: se deixado em branco, o controle de admissão será aplicado a todos os clusters do GKE.
          • Substituir políticas de autorização binária: marque esta caixa de seleção para atualizar a política de autorização binária para controle de admissão.
    • Ambiente de execução
      • Projetos de tempo de execução: essa configuração se aplica apenas a organizações, não a projetos. Adicione projetos de ambiente de execução que contenham clusters do GKE.
      • Clusters do GKE: selecione os clusters do GKE em que você quer aplicar essa política. Se deixado em branco, o Artifact Guard vai aplicar a política a todos os clusters do GKE nos projetos selecionados.
  4. Defina a regra da política. Uma regra de política é um conjunto de critérios que determina quais vulnerabilidades e pacotes são permitidos no seu ambiente. Uma regra de política inclui o seguinte:
    • Limite de gravidade: defina o nível mínimo de gravidade para que uma vulnerabilidade seja incluída na avaliação da política. As vulnerabilidades precisam atender ou exceder esse limite para serem incluídas.

      Por exemplo, configurar a regra como Média inclui todas as vulnerabilidades Média, Alta e Crítica na avaliação.

    • Limite de contagem de vulnerabilidades: define o número máximo de vulnerabilidades permitidas após a aplicação de outros filtros de política. A política só será violada se a contagem dessas vulnerabilidades específicas e filtradas exceder o limite.

      Por exemplo, se você definir um limite de gravidade Alta, excluir vulnerabilidades com correções indisponíveis e definir um limite de contagem de cinco, uma build vai falhar se contiver mais de cinco vulnerabilidades corrigíveis classificadas como Alta ou Crítica.

    • Status da vulnerabilidade: especifique se você quer incluir apenas vulnerabilidades para as quais uma correção está disponível. Isso permite a correção priorizada ao segmentar todas as vulnerabilidades ou apenas aquelas que podem ser corrigidas.
    • Exceções e restrições: nessas seções, é possível criar permissões ou bloqueios específicos que substituem a política geral.
      • CVEs isentos: especifique os CVEs considerados aceitáveis no seu ambiente por um período determinado. Isso é útil para implementar soluções alternativas temporárias. É possível definir uma data de validade para essas exceções. Depois dessa data, a vulnerabilidade não será mais permitida e vai causar falha na política.
      • CVEs restritos: especifique CVEs para sempre bloquear, independente da classificação de gravidade. Isso é especialmente útil para indicar vulnerabilidades que apresentam um risco exclusivo para seu aplicativo ou infraestrutura específica.
      • Pacotes permitidos: lista os pacotes considerados seguros. A versão do pacote pode ser definida. Caso contrário, todas as versões serão permitidas.
      • Pacotes restritos: liste os pacotes que serão restritos. Pacotes restritos causam falha na política. A versão do pacote pode ser definida. Caso contrário, todas as versões serão restritas.
  5. Clique em Criar.

As políticas de proteção de artefatos disponíveis estão listadas na tabela da página Regras.

CLI da gcloud

Para criar uma política usando a CLI gcloud, execute o seguinte comando:

gcloud alpha scc artifact-guard policies create \
    (POLICY_ID --location=LOCATION (--organization=ORGANIZATION_ID | --project=PROJECT_NUMBER)) \
    --policy-file-path=PATH_TO_FILE

Substitua:

  • POLICY_ID: um identificador da política (por exemplo, my-policy).
  • LOCATION: o local do Security Command Center onde seus dados são armazenados. Somente global é aceito.
  • ORGANIZATION_ID: o ID da organização.
  • PROJECT_NUMBER: o número numérico do projeto.
  • PATH_TO_FILE: o caminho local para o documento YAML que contém a definição da política. Consulte a seção "Arquivo YAML" deste documento para mais detalhes sobre a estrutura do arquivo YAML.

Atualizar uma política

Console

Para atualizar uma política de proteção de artefatos no console do Google Cloud , siga estas etapas:

  1. No console Google Cloud , acesse Segurança > Regras.
  2. Na tabela de regras, clique no nome da política que você quer editar.
  3. Na página de detalhes da política, clique em Editar ou modifique os campos que você quer atualizar, como escopo, regras de vulnerabilidade ou estado de ativação.
  4. Clique em Salvar ou Atualizar.

CLI da gcloud

Para conferir e atualizar as políticas usando a CLI gcloud, use os seguintes comandos:

Políticas de lista

gcloud alpha scc artifact-guard policies list PARENT

Substitua:

PARENT: uma organização ou um projeto. Os formatos aceitos para o recurso parent incluem:
  • organizations/ORGANIZATION_ID/locations/LOCATION
  • projects/PROJECT_NUMBER/locations/LOCATION

Descrever uma política

gcloud alpha scc artifact-guard policies describe \
    (POLICY --location=LOCATION (--organization=ORGANIZATION_ID | --project=PROJECT_NUMBER))

Substitua:

POLICY: o identificador completo da política em um dos seguintes formatos:
  • organizations/ORGANIZATION_ID/locations/LOCATION/policies/POLICY_ID
  • projects/PROJECT_NUMBER/locations/LOCATION/policies/POLICY_ID
  • POLICY_ID --location=LOCATION (--organization=ORGANIZATION_ID | --project=PROJECT_NUMBER)

Atualizar uma política

gcloud alpha scc artifact-guard policies update \
    (POLICY --location=LOCATION (--organization=ORGANIZATION_ID | --project=PROJECT_NUMBER)) \
    --policy-file-path=PATH_TO_FILE [--allow-missing] \
    [--update-mask=UPDATE_MASK]

--allow_missing é uma flag opcional. Quando essa flag é incluída, uma nova política é criada se a especificada não existir.

Substitua:

UPDATE-MASK: uma lista separada por vírgulas de campos a serem atualizados. Uma string vazia ou * significa uma atualização completa da política. Os campos válidos para a máscara de atualização incluem:
  • display_name
  • description
  • scope
  • enablement_state
  • vulnerability_policy
  • annotations

Validação da política

O Artifact Guard valida as definições de política quando você cria ou atualiza políticas. Se a validação falhar, o Artifact Guard vai rejeitar a solicitação e fornecer uma mensagem de erro detalhada.

Excluir uma política

Console

Para excluir uma política de proteção de artefatos no console do Google Cloud , siga estas etapas:

  1. No console Google Cloud , acesse Segurança > Regras.
  2. Na tabela de regras, clique em ao lado da política que você quer excluir e selecione Excluir.
  3. Siga as instruções de confirmação para excluir a política. Clique em Cancelar para interromper.

CLI da gcloud

Para excluir uma política usando a CLI gcloud, execute o seguinte comando:

gcloud alpha scc artifact-guard policies delete \
    (POLICY --location=LOCATION (--organization=ORGANIZATION_ID | --project=PROJECT_NUMBER)) \
    [--etag=ETAG]

Substitua:

ETAG: uma tag de entidade opcional usada para controle de simultaneidade. Se você fornecer um valor, a solicitação só vai prosseguir se o etag do recurso corresponder.

Arquivo YAML

Quando você usa a CLI gcloud para criar ou gerenciar uma política de proteção de artefatos, o arquivo YAML precisa seguir este modelo:

  displayName: <Human-readable display name for the policy>
  description: <Description of the policy>

  vulnerabilityPolicy: # (at least one of these rules must be defined)
    exemptedCves:
      - id: <cve-id-1>
        gracePeriodExpirationTime: <optional-grace-period-expiration-time>
      - id: <cve-id-2>
        gracePeriodExpirationTime: <optional-grace-period-expiration-time>

    maxAllowedSeverity: <The maximum severity allowed in the detected
    vulnerabilities. The severity values can be LOW, MEDIUM, HIGH, CRITICAL>

    maximumAllowedVulnerabilities: <The maximum number of vulnerabilities that
    can be detected>

    excludeUnfixable: <Whether to exclude the vulnerabilities without an
    available fix from the purview of the policy evaluation>

    restrictedCves:
      - <restricted-cve-id-1>
      - <restricted-cve-id-2>

    allowedPackages:
      - name: <allowed_package_name_1>
        version: <optional_version_of_allowed_package_1. If unspecified, all the
        versions of the package are allowed>
      - name: <allowed_package_name_2>
        version: <optional_version_of_allowed_package_2>

    restrictedPackages:
      - name: <restricted_package_name_1>
        version: <optional_version_of_restricted_package_1. If unspecified, all
        the versions of the package are restricted>
      - name: <restricted_package_name_2>
        version: <optional_version_of_restricted_package_2>

  scope:
    pipeline:
      connectorIds:
        - <connector_id_1>
        - <connector_id_2>
      enforcementAction: <action to take in case the policy evaluation fails.
      The supported values are AUDIT_ONLY or BLOCK_BUILD>

    registry:
      projectIds:
        - <project_id_1>
      garRepositoryNamePatterns:
        - <repository_name_pattern_1>
      imageNamePatterns:
        - <image_name_pattern_1>
      enforcementAction: <AUDIT_ONLY or ADMISSION_CONTROL>
      admissionControl:
        deploymentProjectIds:
          - <project_id_1>
        gkeClusterNames:
          - <cluster_name_1>
        dryRun: <bool>
        overrideBinauthzPolicy: <bool>

    runtime:
        deploymentProjectIds:
          - <project_id_1>
        gkeClusterNames:
          - <cluster_name_1>
        dryRun: <bool>
        overrideBinauthzPolicy: <bool>
        enforcementAction: <AUDIT_ONLY or BLOCK_DEPLOYMENT>

  enablementState: <The enablement state of the policy. The supported values are
  ACTIVE, INACTIVE>

Confira abaixo um exemplo de arquivo de política de proteção de artefatos:

  displayName: 'A sample policy'
  description: Vulnerability Policy
  vulnerabilityPolicy:
    exemptedCves:
      - id: CVE-2022-40897
        gracePeriodExpirationTime: '2026-09-10T18:58:08Z'
      - id: CVE-2024-6345
    maxAllowedSeverity: MEDIUM
    maximumAllowedVulnerabilities: 5
    excludeUnfixable: true
    restrictedCves:
      - CVE-2013-4392
      - CVE-2024-4143
    allowedPackages:
      - name: systemd
        version: '257.7'
      - name: util-linux
    restrictedPackages:
      - name: ncurses
        version: 6.5+20250216
      - name: setuptools
  scope:
    pipeline:
      connectorIds:
        - organizations/123/locations/global/connectors/demoConnector
      enforcementAction: BLOCK_BUILD
    registry:
      projectIds:
        - projects/my-registry-project-id
        - projects/another-registry-project
      garRepositoryNamePatterns:
        - us-west1-docker.pkg.dev/my-registry-project-id/my-repo
        - gcr.io/team-a/internal-artifacts
      imageNamePatterns:
        - my-repo/service-a:.*
        - my-repo/service-b:v1\..*
      enforcementAction: ADMISSION_CONTROL
      admissionControl:
        deploymentProjectIds:
          - projects/my-deployment-project
        gkeClusterNames:
          - //container.googleapis.com/projects/my-deployment-project/locations/us-central1/clusters/gke-cluster-a
          - //container.googleapis.com/projects/my-deployment-project/locations/us-central1/clusters/gke-cluster-b
        dryRun: true
        overrideBinauthzPolicy: true
    runtime:
      deploymentProjectIds:
        - projects/my-deployment-project
      gkeClusterNames:
        - //container.googleapis.com/projects/my-deployment-project/locations/us-central1/clusters/gke-cluster-a
        - //container.googleapis.com/projects/my-deployment-project/locations/us-central1/clusters/gke-cluster-b
      dryRun: false
      overrideBinauthzPolicy: false
      enforcementAction: BLOCK_DEPLOYMENT
  enablementState: ACTIVE

Solução de problemas

Esta seção descreve os campos da política de proteção de artefatos e erros comuns com as respectivas resoluções.

Campos gerais da política

Nome Descrição Obrigatório Restrições Exemplo de valores
Pai Define o escopo de aplicação da política. Sim Somente políticas no local global são compatíveis.
  • organizations/123/locations/global
  • projects/123/locations/global
ID da política Um identificador exclusivo da política. Sim com até 100 caracteres. Precisa começar com uma letra, terminar com um caractere alfanumérico e conter apenas letras, números, hífens ou sublinhados. my-policy-1
Nome de exibição Um nome legível para a política. Não Até 63 caracteres. Recomendado para ser exclusivo. My vulnerability policy
Descrição Uma descrição da política. Não Até 2.048 caracteres. Checks for critical vulnerabilities.
Tipo de política O tipo de política que está sendo definida. Sim Somente vulnerability_policy é aceito. vulnerability_policy
Estado de ativação O estado de ativação da política. Sim Precisa ser ACTIVE ou INACTIVE. ACTIVE

Política de vulnerabilidades

Nome Descrição Vários valores Restrições Exemplo de valores
maximumAllowedVulnerabilities Número máximo de vulnerabilidades permitidas antes que a política seja violada. Não Não pode ser um número negativo, se definido. 10
maxAllowedSeverity Gravidade máxima das vulnerabilidades permitidas pela política. Não Precisa ser LOW, MEDIUM, HIGH ou CRITICAL.
exemptedCves Lista de CVEs isentas desta política. Sim Até 100 entradas. Cada ID precisa estar no formato CVE-YYYY-NNNN. Se fornecida, a data de expiração do período de carência precisa ser um carimbo de data/hora válido. Não pode se sobrepor a restrictedCves. - id: CVE-2024-12345
gracePeriodExpirationTime: 2027-01-01T00:00:00Z
- id: CVE-2025-4000
restrictedCves Lista de CVEs explicitamente proibidos por esta política. Sim Até 100 entradas. Cada ID precisa estar no formato CVE-YYYY-NNNN. Não pode se sobrepor a exemptedCves. - CVE-2024-54321
- CVE-2025-5001
allowedPackages Lista de pacotes permitidos, que podem substituir outras regras. Sim Até 100 entradas. Os nomes de pacotes não podem ficar em branco. Não pode entrar em conflito com restrictedPackages. - name: nginx
version: 1.0
- name: python
version: 3.12.4
restrictedPackages Lista de pacotes explicitamente proibidos. Sim Até 100 entradas. Os nomes de pacotes não podem ficar em branco. Não pode entrar em conflito com allowedPackages. - name: npm
version: 9.0.0
excludeUnfixable Se as vulnerabilidades sem correção disponível devem ser excluídas. Não Booleano. O padrão é false. true
exemptionDaysPostDisclosure Número de dias para isentar vulnerabilidades após a data de divulgação. Não Não pode ser um número negativo, se definido. O padrão é 0. 30

Escopo da política

Escopo do pipeline

Nome Descrição Obrigatório Restrições Exemplo de valores
connectorIds Lista de IDs de conector a que a política se aplica durante a verificação do pipeline de CI/CD. Sim Mínimo de 1 entrada, máximo de 100 entradas. Sua organização ou projeto precisa estar integrado à verificação de CI/CD. Cada ID precisa seguir o formato correto, pertencer à sua organização ou projeto e apontar para um conector existente.
  • organizations/123/locations/global/connectors/connector-1
  • projects/123/locations/global/connectors/connector-1
enforcementAction Ação a ser tomada quando a política for violada. Sim Precisa ser AUDIT_ONLY ou BLOCK_BUILD. BLOCK_BUILD

Escopo do registro

Nome Descrição Obrigatório Restrições Exemplo de valores
projectIds Lista de IDs de projetos em que a política é aplicada. Não Mínimo de uma entrada. Cada ID precisa ser um ID de projeto Google Cloud válido. projects/123, projects/456
garRepositoryNamePatterns Lista de padrões de nome do repositório do Artifact Registry Google Cloud . Não Máximo de 100 entradas. Precisa ser um padrão do repositório do Artifact Registry Google Cloud válido. us-west1-docker.pkg.dev/my-project/my-repo, gcr.io/team-a/*
imageNamePatterns Padrões de expressão regular para nomes de imagens totalmente qualificados. Não Máximo de 100 entradas. Precisa ser uma expressão regular válida. 'my-repo/service-a:.*', 'my-repo/service-b:v1..*'
enforcementAction A ação a ser tomada quando a política for violada. Sim Precisa ser AUDIT_ONLY ou ADMISSION_CONTROL. ADMISSION_CONTROL
admissionControl Detalhes da configuração para controle de admissão. Não Precisa estar presente se enforcementAction for ADMISSION_CONTROL.

Escopo de tempo de execução

O escopo de execução permite que o Artifact Guard monitore imagens de contêiner em execução no seu ambiente do GKE. Quando você aplica uma política a esse escopo, as descobertas de vulnerabilidade do Security Command Center incluem metadados de política para imagens implantadas nos projetos ou clusters especificados.

Nome Descrição Obrigatório Restrições Exemplo de valores
projectIds Lista de IDs de projetos em que os clusters do GKE são implantados e a avaliação de vulnerabilidades está ativada. Sim Precisa ser selecionada no nível da organização. projects/my-gke-deployment-123
gkeClusterNames Clusters específicos do GKE para os quais a política precisa ser avaliada. Não Podem ser selecionadas no nível da organização ou do projeto. projects/prod-env/locations/us-central1/clusters/main-cluster

Se uma imagem de contêiner em execução em um cluster do GKE monitorado violar uma política, os metadados ArtifactGuardPolicies serão adicionados à mensagem de descoberta de vulnerabilidade do Security Command Center da seguinte maneira:

```none // Added to the SCC 'message Finding' ArtifactGuardPolicies artifact_guard_policies = X;

message ArtifactGuardPolicies { string resource_id = 1; // e.g., //us-docker.pkg.dev/google-samples/containers/gke/security/... repeated Policy failing_policies = 2; }

message Policy { enum Type { TYPE_UNSPECIFIED = 0; VULNERABILITY = 1; } Type type = 1; string policy_id = 2; // e.g., organizations/3392779/locations/global/policies/prod-policy string failure_reason = 3; // e.g., severity=HIGH AND max_vuln_count=2 } ```

Ação de restrição

Para ações de BLOCK_BUILD e BLOCK_DEPLOYMENT, a avaliação da política retorna uma ação de aplicação recomendada. No entanto, você precisa configurar a aplicação real na configuração do pipeline usando essa recomendação.

Exclusão de política

Se você receber um erro FAILED_PRECONDITION, isso significa que está tentando excluir uma política ativa. Para excluir a política, primeiro mude o estado dela para Inactive.

Erros comuns

A tabela a seguir descreve alguns erros comuns e como resolvê-los.

Dica de mensagem de erro Causa Resolução
O campo "parent" é obrigatório O campo "parent" está faltando na solicitação. Forneça um elemento pai válido em um dos seguintes formatos:
  • organizations/{org_id}/locations/global
  • parents/{project_number}/locations/global
definição de política é obrigatória O objeto de política está ausente na solicitação. Forneça um objeto de política válido na solicitação.
O nome de exibição pode ter no máximo... O nome de exibição tem mais de 63 caracteres. Reduza o nome de exibição para 63 caracteres ou menos.
A descrição tem um tamanho máximo de... A descrição excede 2.048 caracteres. Reduza a descrição para 2.048 caracteres ou menos.
O tipo de política é obrigatório O tipo de política (por exemplo, vulnerabilityPolicy) está faltando na solicitação. Adicione uma política de vulnerabilityPolicy ou outro tipo à sua política.
O estado de ativação é inválido Um estado de ativação inválido ou descontinuado foi usado. Use ACTIVE ou INACTIVE.
O escopo é obrigatório Nenhum escopo (pipeline, registro ou ambiente de execução) foi definido. Adicione pelo menos um escopo válido à sua política.
O nome do CVE precisa estar no formato... Um ID de CVE em exemptedCves ou restrictedCves é inválido. Verifique se todos os IDs de CVE seguem o formato CVE-YYYY-NNNN.
O CVE ... não pode ser dispensado e restrito O mesmo ID de CVE existe em exemptedCves e restrictedCves. Remova a CVE de uma das listas.
O nome do pacote não pode ficar em branco Um pacote em allowedPackages ou restrictedPackages tem um nome vazio. Dê um nome a todos os pacotes.
package ... cannot be allowed and restricted O mesmo pacote está listado em allowedPackages e restrictedPackages. Remova o pacote de uma das listas.
IDs de conector são obrigatórios O campo connectorIds está ausente em um escopo de pipeline. Informe pelo menos um ID de conector.
O ID do conector precisa estar no formato... Um ID do conector está incorreto. Verifique se os IDs estão em um dos seguintes formatos:
  • organizations/{org_id}/locations/global/connectors/{connector_id}
  • projects/{project_number}/locations/{location}/connectors/{connector_id}
O ID do conector ... não existe Um ID de conector especificado não existe. Verifique se o conector existe ou remova-o da lista.
O padrão do nome do repositório do GAR precisa ser... Um padrão de repositório inválido foi fornecido em um escopo do registro. Verifique se os padrões correspondem a formatos válidos de repositório do Artifact Registry Google Cloud .
O ID do projeto precisa ser um ID do projeto do GCP válido... Um ID do projeto inválido foi fornecido em um escopo do registro ou do tempo de execução. Forneça IDs de projetos Google Cloud válidos.
uma ação de restrição precisa ser especificada O enforcementAction está ausente em um escopo de pipeline ou de ambiente de execução. Defina a ação de aplicação. Por exemplo, AUDIT_ONLY, BLOCK_BUILD (somente pipeline) ou BLOCK_DEPLOYMENT (somente ambiente de execução).
o número de políticas por organização excede o limite... Você atingiu o número máximo de políticas (1.000) para sua organização. Exclua as políticas não usadas antes de criar novas.
O número de políticas de vulnerabilidade excede o limite... Você atingiu o número máximo de políticas de vulnerabilidade (500). Exclua as políticas de vulnerabilidade não utilizadas antes de criar novas.
O número de políticas por pipeline excede o limite... Um conector está associado a mais de 100 políticas. Reduza o número de políticas associadas ao conector.
O número de revisões da política excede o limite... Você atualizou uma política mais de 100 vezes em 7 dias. Aguarde ou reduza a frequência de atualização.

Problemas operacionais comuns

Além das falhas de validação de conteúdo da política, podem surgir problemas com o plano de controleGoogle Cloud . Esses problemas podem afetar solicitações de API, operações de longa duração e estados de recursos, geralmente aparecendo como códigos de erro específicos ou comportamento incomum.

Problema Sintoma(s) Como resolver
Modificação simultânea UpdatePolicy ou DeletePolicy falha com um código de erro ABORTED e uma mensagem "Provided etag is out of date". Solução de problemas: isso acontece quando o etag na sua solicitação não corresponde à versão atual do servidor da política, indicando uma modificação por outra solicitação.

Resolução: leia a política novamente para receber a etag mais recente e tente fazer a solicitação de novo com a nova etag.
Solicitação validada, mas não executada Uma solicitação CreatePolicy, UpdatePolicy ou DeletePolicy é retornada com sucesso, mas você não observa nenhuma mudança no recurso. Solução de problemas: isso geralmente acontece quando validate_only: true é definido na solicitação. Essa flag instrui o serviço a realizar todas as validações sem confirmar nenhuma mudança.

Resolução: defina validate_only como false ou omita o campo na solicitação.
A atualização cria uma nova política Uma solicitação UpdatePolicy cria uma política em vez de retornar um erro "não encontrado" quando a política não existe. Solução de problemas: esse é o comportamento esperado quando allow_missing: true é incluído em um UpdatePolicyRequest.

Resolução: se você quiser atualizar uma política existente, defina allow_missing como false ou omita o campo.
Permissão negada ou API não ativada As solicitações falham com PERMISSION_DENIED ou uma mensagem de erro como "Artifact Guard API has not been used in the project before or it is disabled." Solução de problemas: a API pode estar desativada ou o chamador pode não ter permissões suficientes.

Resolução: no projeto Google Cloud , ative a API Artifact Guard (artifactscanguard.googleapis.com). Confirme se o usuário ou a conta de serviço que está realizando a operação tem os papéis necessários do IAM.
Tempo limite da operação Uma solicitação que retorna uma operação de longa duração (LRO) leva muito tempo para ser concluída ou falha com DEADLINE_EXCEEDED. Solução de problemas: isso pode indicar uma lentidão ou um problema temporário no serviço de back-end.

Resolução: consulte o status da LRO. Se ela falhar ou atingir o tempo limite, tente de novo após alguns instantes. Se o problema persistir, confira o Painel de status doGoogle Cloud para ver se há incidentes em andamento ou entre em contato com o suporte do Google Cloud .