Nesta página, mostramos como resolver problemas com o Secure Source Manager.
Mensagem de erro ao criar um repositório
O seguinte erro aparece quando você tenta criar um repositório:
There was an error while loading /repo/create. Try refreshing the page.
Esse problema ocorre quando:
- A API Secure Source Manager não está ativada no seu projeto.
- Você não tem o papel de administrador de repositório no projeto ou permissões para criar repositórios na instância do Secure Source Manager.
Para resolver o problema:
- Ative a API Secure Source Manager no seu projeto.
- Peça ao administrador para conceder a você os seguintes papéis:
- Papel de administrador do repositório (
roles/securesourcemanager.repoAdmin) no projeto. - Acessador de instâncias (
roles/securesourcemanager.instanceAccessor) na instância do Secure Source Manager. - Criador de repositórios de instâncias
(
roles/securesourcemanager.instanceRepositoryCreator) na instância do Secure Source Manager.
- Papel de administrador do repositório (
Veja mais detalhes em Controle de acesso com o IAM.
Mensagem de erro ao clonar um repositório em um Mac
O seguinte erro aparece quando você tenta clonar um repositório:
git: 'credential-gcloud.sh' is not a git command. See 'git --help'. fatal: Authentication failed for [repo-url]
Esse problema ocorre quando:
- A CLI gcloud é instalada usando o Homebrew ou outra instalação não padrão.
git-credential-gcloud.shnão foi adicionado ao PATH.
Para resolver o problema:
- Executar
source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc Verifique se
git-credential-gcloud.shestá no seu caminho executando o seguinte comando:which git-credential-gcloud.sh
A conexão SSH falha com o erro "no matching"
Ao tentar realizar operações do Git por SSH, você pode receber uma das seguintes mensagens de erro:
Unable to negotiate with <host> port <port>: no matching key exchange method found.Unable to negotiate with <host> port <port>: no matching cipher found.Unable to negotiate with <host> port <port>: no matching MAC found.
Esse problema ocorre quando o cliente SSH não é compatível com os algoritmos criptográficos exigidos pelo Secure Source Manager. Isso pode acontecer se você estiver usando um cliente SSH mais antigo ou se o cliente não estiver configurado para usar algoritmos compatíveis.
O Secure Source Manager requer um dos seguintes algoritmos:
- Algoritmos de troca de chaves:
curve25519-sha256,diffie-hellman-group14-sha256 - Cifras:
chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com - MACs:
hmac-sha2-256-etm@openssh.com,hmac-sha2-256
Para resolver esse problema, atualize o cliente SSH para uma versão recente que seja compatível com esses algoritmos.
As solicitações HTTPS do Git falham com um erro de permissão negada ou não autorizada
Quando os comandos do Git são tentados por HTTPS, uma mensagem de erro de permissão negada ou não autorizada é exibida.
Esse problema ocorre quando:
- O arquivo de configuração global do Git não tem o assistente de autenticação do Secure Source Manager.
- O armazenamento de credenciais integrado do Git está sendo usado em vez de chamar o auxiliar de autenticação do Secure Source Manager para receber uma nova credencial.
- Um assistente de credenciais do sistema está sendo usado em vez de chamar o assistente de autenticação do Secure Source Manager para receber uma nova credencial.
- Uma versão mais antiga da Google Cloud CLI é usada ao interagir com repositórios do Secure Source Manager usando HTTPS. O Secure Source Manager requer a versão 395.0.0 ou mais recente da Google Cloud CLI.
Para resolver o problema:
Execute o comando a seguir para determinar o conteúdo da configuração global do Git.
git config --list | grep credentialSe você encontrar uma linha semelhante a
*credential*.helper=storeno macOS oucredential.helper = managerno Windows, remova essas linhas e faça a autenticação novamente usandogcloud auth loginantes de tentar o comando Git de novo.Se a resposta não incluir
credential.https://*.*.sourcemanager.dev.helper=gcloud.shno macOS ou Linux, oucredential.https://*.*.sourcemanager.dev.helper=gcloud.cmdno Windows, adicione o auxiliar de autenticação do Secure Source Manager à configuração global do Git:Linux
Para adicionar o auxiliar de autenticação do Secure Source Manager à configuração global do Git, execute o seguinte comando:
git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.shPara validar se a linha do auxiliar de autenticação foi adicionada à configuração global do Git, execute o seguinte comando:
git config --list | grep credentialA saída deve incluir
credential.https://*.*.sourcemanager.dev.helper=gcloud.sh.Execute
gcloud auth loginpara autenticar.Execute um comando do Git para testar a autenticação.
Windows
- Verifique a versão da CLI gcloud seguindo as instruções em Instalar o Git e a Google Cloud CLI.
Para adicionar o auxiliar de autenticação do Secure Source Manager à configuração global do Git, execute o seguinte comando:
git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmdPara validar se a linha do auxiliar de autenticação foi adicionada à configuração global do Git, execute o seguinte comando:
git config --list | grep credentialA saída deve incluir
credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd.Execute
gcloud auth loginpara autenticar.Execute um comando do Git para testar a autenticação.
Se você definiu a credencial do host do Git como
gcloud.sh, mas recebeu um erro como'credential-gcloud.sh' is not a git command, isso indica que o Git não consegue encontrar o scriptgit-credential-gcloud.shnoPATHda sua máquina. Atualize oPATHou substitua ogcloud.shno arquivo gitconfig pelo caminho absoluto.
As solicitações HTTPS do Git falham com um token inválido
Um token OAuth válido é necessário como senha para operações HTTPS do Git. Isso normalmente é feito pelo auxiliar de credenciais do Git, mas também pode funcionar com tokens OAuth gerados usando outras abordagens (por exemplo, Application Default Credentials).
Se uma solicitação do Git for rejeitada devido a um token inválido, isso normalmente significa que as informações do usuário não puderam ser extraídas do token recebido. Há várias causas possíveis para esse erro:
Seu login da CLI gcloud pode ter expirado.
Faça login novamente usando o
gcloud auth login.Seu token não tem escopo suficiente. Os tokens OAuth precisam ter os seguintes escopos:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/userinfo.email
Para verificar o escopo do token, chame
curl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}.Você está usando um token gerado pela identidade da carga de trabalho da frota do GKE:
- Os tokens brutos gerados pela identidade da carga de trabalho da frota do GKE não são compatíveis. Para mais informações, consulte O SSM retorna um erro ao usar tokens KSA com a identidade da carga de trabalho da frota do GKE.
Você tem políticas da organização que impedem o uso de tokens fora de determinados perímetros, como o acesso baseado no contexto.
Para resolver esse problema, defina a propriedade de configuração
git_helper_use_adcda CLI gcloud comotruee atualize o Application Default Credentials (ADC):Faça login usando o padrão do aplicativo:
gcloud auth application-default loginDefina a propriedade
git_helper_use_adc:gcloud config set auth/git_helper_use_adc true
As solicitações HTTPS do Git falham no macOS com o erro 403 devido a credenciais desatualizadas
Ao realizar operações do Git por HTTPS no macOS, talvez você receba um erro 403.
Esse problema pode ocorrer no macOS se você usar as Chaves do iCloud, que podem interferir
nos tokens de autenticação da CLI gcloud ao armazenar e sincronizar tokens
desatualizados. Esses tokens desatualizados podem fazer com que a autenticação falhe com o Secure Source Manager, mesmo depois de você se autenticar novamente usando gcloud auth login.
Para resolver esse problema, exclua manualmente as credenciais desatualizadas do Acesso às Chaves:
- Abra o aplicativo Acesso às Chaves no Mac
(localizado em
/Applications/Utilities/). - Pesquisar por
sourcemanager.dev. - Exclua todas as entradas do tipo "senha da Internet" que correspondam a
*.*.sourcemanager.devou ao URL da instância do Secure Source Manager. Para isso, clique com o botão direito do mouse na entrada e selecione Excluir. - Depois de excluir as entradas, tente novamente a operação do Git. Talvez seja necessário autenticar novamente com a CLI gcloud. Se as operações do Git continuarem
falhando, execute
gcloud auth loginantes de tentar novamente.
O SSM retorna um erro ao usar tokens de conta de serviço do Kubernetes (KSA) com a identidade da carga de trabalho da frota do GKE
Ao usar a identidade da carga de trabalho da frota do GKE, os tokens KSA brutos não são compatíveis com o Secure Source Manager. O uso desses tokens resulta em um erro.
Para resolver esse problema, é preciso representar uma conta de serviço e vincular a carga de trabalho a uma conta de serviço do Google. Você também precisa adicionar a seguinte anotação à configuração da KSA:
iam.gke.io/gcp-service-account: SERVICE_ACCOUNT@PROJECT_ID.
O projeto não aparece no seletor de produtos da interface da Web
Ao usar o seletor de produtos da interface da Web do Secure Source Manager, seu projeto não aparece.
Esse problema ocorre quando você tem várias credenciais de login para o Secure Source Manager.
Para resolver o problema:
Limpe os cookies anexando o seguinte ao URL da instância do Secure Source Manager:
/_oauth/consentPor exemplo, se o URL da instância for
https://my-instance-098765432123.us-central1.sourcemanager.dev/, digitehttps://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consentna barra de endereço do navegador e faça login com as credenciais corretas.
O arquivo de gatilhos não aciona builds
Se as versões não forem acionadas como esperado após o envio do arquivo de gatilhos, talvez você tenha um dos seguintes problemas:
- O arquivo de gatilhos não está na ramificação padrão. Para resolver isso, mova o arquivo de gatilhos para a ramificação padrão.
- O arquivo de acionadores tem um formato inválido. Esse erro é indicado por um banner
na página do repositório que diz
Build triggers configuration error: .... Para corrigir isso, leia o esquema do arquivo de acionadores. Quando a configuração do arquivo de gatilhos estiver correta, o banner na página do repositório vai mostrarValid build triggers configuration.
Erro de configuração dos gatilhos de build
Depois de enviar o arquivo triggers.yaml para o repositório do Secure Source Manager,
o seguinte erro é exibido em um banner:
Build cannot be created.
Esse problema ocorre pelos seguintes motivos:
- O arquivo de configuração do Cloud Build tem opções ou formato inválidos.
- O agente de serviço do Secure Source Manager não tem o papel de criador de token de conta de serviço na conta de serviço gerenciado pelo usuário do repositório.
- A conta de serviço gerenciado pelo usuário não tem o papel de Usuário da conta de serviço na conta de serviço do Cloud Build.
- A conta de serviço gerenciado pelo usuário não tem o papel de Editor do Cloud Build no projeto em que os builds são executados.
- A política da organização
iam.disableCrossProjectServiceAccountUsageestá bloqueando o uso da conta de serviço gerenciado pelo usuário (se a conta de serviço estiver em um projeto diferente).
Para corrigir esse problema:
- Siga o esquema de arquivo de acionadores correto.
- Verifique se todos os papéis necessários foram concedidos. Consulte Papéis de conta de serviço necessários.
- Se você estiver usando uma conta serviço gerenciado pelo usuário em um projeto diferente, verifique se a política da organização
iam.disableCrossProjectServiceAccountUsageestá desativada no projeto que hospeda a conta de serviço.
Falha no build durante a execução
Se um build for acionado, mas falhar durante a execução, o commit associado terá um status de commit de falha.
Para resolver problemas de uma build com falha, na página do repositório, ao lado do status de commit com falha, clique em Detalhes.
O registro de execução do Cloud Build é aberto. Para mais informações sobre como resolver problemas de builds no Cloud Build, consulte Como resolver erros de build.
Push do Git rejeitado devido à detecção de dados sensíveis
Ao enviar commits para um repositório com a verificação de secrets ativada, o envio falha com uma mensagem de erro semelhante a esta:
remote: Push rejected: Sensitive data detected.
Esse problema ocorre quando a verificação de secrets ou um modelo de inspeção personalizado identifica informações sensíveis no histórico de commits.
Para resolver o problema:
- Reverta o commit problemático usando
git reset --softe remova as informações sensíveis antes de fazer o commit novamente. Se as informações detectadas forem aceitáveis e você tiver as permissões adequadas, ignore a verificação usando a opção de push
-o dlpskip=true:git push -o dlpskip=true origin BRANCH_NAME
A cota diária não é redefinida após a recriação
Depois de excluir uma instância do Secure Source Manager e recriá-la com o mesmo ID no mesmo dia, talvez você receba um erro de cota esgotada ou limite atingido para a verificação de secrets.
Esse problema ocorre porque a cota de verificação de secrets é uma cota de taxa diária vinculada ao ID da instância. Se você excluir e recriar uma instância com o mesmo ID no mesmo dia, o uso da cota não será redefinido.
Para resolver esse problema, siga um destes procedimentos:
- Aguarde até o segundo dia para que o uso da cota diária seja redefinido automaticamente para 0.
- Recrie a instância usando um ID de instância diferente e exclusivo.
- Pule a verificação de secrets temporariamente ou solicite um aumento de cota. Para mais informações, consulte Aumentar a cota disponível.
Erro ao configurar a conta de serviço do repositório
O erro a seguir aparece quando você tenta criar ou atualizar um repositório com uma conta serviço gerenciado pelo usuário:
Permission denied on resource ...
Esse problema ocorre quando você não tem o papel de Usuário da conta de serviço
(roles/iam.serviceAccountUser) na conta de serviço que está tentando
associar ao repositório. O Secure Source Manager verifica se você
tem permissão para atuar como a conta de serviço antes de permitir que você
a associe ao repositório.
Para resolver esse problema, peça ao administrador para conceder a você o papel de usuário da conta de serviço na conta de serviço.