Azure DevOps with GCP
ERROR: (gcloud.projects.describe) There was a problem refreshing your current auth tokens: ('Error code invalid_request: The size of mapped attribute google.subject exceeds the 127 bytes limit. Either modify your attribute mapping or the incoming assertion to produce a mapped attribute that is less than 127 bytes.', '{"error":"invalid_request","error_description":"The size of mapped attribute google.subject exceeds the 127 bytes limit. Either modify your attribute mapping or the incoming assertion to produce a mapped attribute that is less than 127 bytes."}')
Azure DevOps
3 respostas
Classificar por: Mais útil
-
-
Gilmar Vagner 0 Pontos de reputação
2025-12-11T15:17:15.24+00:00 Gostaria de solicitar auxílio para resolver um problema de integração entre o Azure DevOps e o Google Cloud (GCP). Estou utilizando Workload Identity Federation com OIDC, porém estou enfrentando falhas de autenticação: o token gerado não é aceito pelo GCP, impedindo a comunicação adequada entre os serviços. Mesmo seguindo toda a documentação oficial disponível — tanto da Microsoft quanto do Google — o processo de autenticação ainda não funciona como esperado. Preciso de suporte para identificar a causa da falha no token e ajustar corretamente a configuração de autenticação.
-
Siddhesh Desai 740 Pontos de reputação Equipe Externa da Microsoft Moderador
2025-12-22T13:25:05.5533333+00:00 Olá @Gilmar Vagner
Obrigado por contactar o Microsoft Q&A.
Este erro ocorre porque o novo emissor OIDC do Azure DevOps emite declarações de token fixas e amplas que não podem ser personalizadas ou truncadas, ao contrário do include_claim_keys do GitHub.
Com o novo emissor, o ADO não consegue definir o âmbito dos tokens na origem, pelo que o GCP impõe limites e o âmbito deve ser feito inteiramente do lado do consumidor (condições do emissor + assunto).
Identifique os campos do token
No pipeline do ADO, observe o emissor (iss), o público-alvo (aud) e o assunto (sub) do token OIDC.
Criar/Atualizar o fornecedor OIDC do GCP
Configure um fornecedor de identidade de carga de trabalho no GCP utilizando o novo emissor do ADO, o público-alvo permitido e mapeie o google.subject.
Ligue a conta de serviço do GCP
Conceda roles/iam.workloadIdentityUser ao fornecedor, com âmbito definido pelo assunto (ligação pipeline/serviço).
Utilize a federação no pipeline
Troque o token OIDC do Azure DevOps pelas credenciais GCP e execute comandos gcloud/SDK em segurança.
Pode ligar o Azure DevOps ao GCP de uma forma alternativa:
https://docs.cloud.google.com/dotnet/docs/creating-cicd-pipeline-vsts-kubernetes-engine
Chave da conta de serviço (JSON)
Armazene a chave da conta de serviço do GCP nos segredos do Azure DevOps e autentique-se através de GOOGLE_APPLICATION_CREDENTIALS.
Broker do Vault/Terraform
O Azure DevOps autentica-se no Vault/TFC, que depois acede ao GCP.
Desencadear uma ação do GitHub a partir do Azure DevOps; o GitHub utiliza o OIDC nativo do GCP
Chame diretamente as APIs do GCP STS a partir do pipeline.