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:
- No console Google Cloud , acesse Segurança > Regras e clique em Criar política de proteção de artefato ou Criar política.
- Insira um ID e uma descrição para a política e clique em Continuar.
- 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.
- Plataforma de CI/CD
- 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.
- 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.
- 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:
- No console Google Cloud , acesse Segurança > Regras.
- Na tabela de regras, clique no nome da política que você quer editar.
- 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.
- 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/LOCATIONprojects/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_IDprojects/PROJECT_NUMBER/locations/LOCATION/policies/POLICY_IDPOLICY_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_namedescriptionscopeenablement_statevulnerability_policyannotations
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:
- No console Google Cloud , acesse Segurança > Regras.
- Na tabela de regras, clique em ao lado da política que você quer excluir e selecione Excluir.
- 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 oetag 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. |
|
| 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-12345gracePeriodExpirationTime: 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: nginxversion: 1.0- name: pythonversion: 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: npmversion: 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. |
|
| 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:
|
| 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:
|
| 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 . |