Erro 403 ao executar push/pull request no Azure DevOps

Wellington Carlos Lopes Siqueira 0 Pontos de reputação
2026-07-14T17:49:51.84+00:00

Um usuário está recebendo erro 403 (Forbidden) sempre que tenta executar operações de push ou pull request no Azure DevOps.

Ações já realizadas:

  • Remoção e reinclusão do usuário nos grupos de permissão do projeto/organização;
  • Exclusão e regeneração dos Personal Access Tokens (PAT) do usuário;
  • Nenhuma das ações acima resolveu o problema.

Investigação adicional:

  • Identificamos indícios de que o problema pode estar relacionado ao ObjectID do usuário no Azure AD/Entra ID;
  • Não foi encontrado nenhum outro usuário com o mesmo UPN (User Principal Name) que pudesse estar causando conflito.

Dúvidas

  1. O erro 403 pode ser causado por divergência entre o ObjectID do usuário no Entra ID e o registrado no Azure DevOps (ex: usuário recriado, migrado de tenant, ou reprovisionado)?
  2. Existe algum procedimento para sincronizar ou corrigir o ObjectID do usuário no Azure DevOps sem precisar recriar a conta/licença?
  3. Há algum log ou trace (ex: correlation ID do erro 403) que possamos fornecer para acelerar o diagnóstico?

Impacto: Usuário impossibilitado de realizar push/pull request, bloqueando o fluxo de desenvolvimento. Um usuário está recebendo erro 403 (Forbidden) sempre que tenta executar operações de push ou pull request no Azure DevOps.

Azure DevOps

2 respostas

Classificar por: Mais útil
  1. Pravallika KV 18,855 Pontos de reputação Equipe Externa da Microsoft Moderador
    2026-07-16T03:21:19.96+00:00

    Olá @Wellington Carlos Lopes Siqueira ,

    O usuário recebe HTTP 403 (Forbidden) ao tentar executar operações de push/pull request no Azure DevOps, mesmo após remover/reincluir o usuário em grupos e gerar um novo PAT.

    1. Verifique se o 403 está relacionado ao contexto de “pipeline/identidade” (não apenas ao usuário)
    • Quando o acesso a determinadas ações no Azure DevOps falha com erro 403, o problema geralmente não está no PAT em si, mas na identidade que está executando a ação (usuário, conta de serviço de build ou identidade da pipeline).
    • Certifique-se de que as permissões sejam concedidas às Project/Collection Build Service Accounts e, em seguida, em Repository → Security, habilite Contribute to pull requests → Allow para a identidade que executa a pipeline.
    • O exemplo mencionado envolve a API POST /pullRequests/{id}/threads, que retorna 403 ao tentar criar “threads” de Pull Request.

    Portanto, se a operação de push/pull request estiver sendo realizada por um processo de automação/pipeline (ou uma conta de build), é importante validar se essa identidade possui as permissões Git necessárias, especialmente as permissões relacionadas a Pull Requests.

    1. Se o 403 estiver vindo do acesso a recursos usados pela automação (por exemplo, Azure Storage)

    Se a falha no push/pull request for causada por uma etapa da pipeline/Terraform que acessa o Azure Blob Storage (artefatos, backend, etc.), o erro 403 pode ocorrer devido a:

    Restrições de rede/firewall do Storage:

    • Listas de IPs permitidos
    • Configurações de “Public network access”
    • Private endpoints

    Permissões RBAC insuficientes:

    Funções como:

    • Storage Blob Data Contributor
    • Storage Blob Data Owner
    • Storage Blob Data Reader (dependendo do requisito) O material fornecido explica como verificar:

    Storage account → Networking → Firewall and virtual networks

    Storage account → IAM → Verificar atribuições de funções

    Também destaca que uma função genérica de Contributor pode não fornecer as permissões necessárias no data plane (acesso aos dados do blob).

    Para confirmar a causa, é necessário identificar a origem exata do erro 403:

    • Azure DevOps Git/Pull Request API
    • Ou um recurso externo acessado pela pipeline, como o Azure Storage

    Respostas às suas perguntas:

    1. Um ObjectID divergente entre Entra ID e Azure DevOps pode causar um 403?

    Sim. Se o ObjectID do usuário no Entra ID não corresponder à identidade armazenada no Azure DevOps (por exemplo, após recriação do usuário ou migração de tenant), as validações de autorização do Azure DevOps podem falhar e retornar 403 Forbidden.

    A geração de um novo PAT não resolve um problema de mapeamento de identidade, pois o PAT apenas autentica o usuário; ele não corrige a associação da identidade.

    1. Existe um procedimento para “sincronizar/corrigir o ObjectID” sem recriar a conta/licença?

    Sim, na maioria dos casos o usuário não precisa ser recriado.

    • A correção normalmente envolve atualizar o mapeamento de identidade:
    • Remover permissões ou associações antigas do usuário no Azure DevOps.
    • Remover referências de grupos/permissões desatualizadas.
    • Adicionar novamente o usuário atual do Entra ID aos grupos e permissões necessários no Azure DevOps.

    Se o usuário foi excluído e recriado no Entra ID, o novo ObjectID não poderá ser reutilizado. Nesse caso, as permissões devem ser atribuídas novamente à nova identidade.

    1. Existem logs/traces/IDs de correlação que podem ajudar na investigação?

    Sim. Coletar as informações abaixo ajuda a acelerar a análise:

    • Logs de auditoria do Azure DevOps
    • Data e hora exata da falha em UTC
    • Informações da organização/projeto/repositório
    • UPN do usuário afetado
    • Operação que falhou (push, pull, ação de PR, chamada de API)

    Qualquer Activity ID, Correlation ID ou identificador retornado na mensagem de erro ou nos traces do cliente

    Essas informações ajudam a determinar se o problema está relacionado a:

    • Mapeamento de identidade entre Entra ID e Azure DevOps
    • Permissões do Azure DevOps
    • Identidade da pipeline/conta de serviço
    • Outra camada de autorização

    Espero que isso ajude!


    Se a solução foi útil, por gentileza, reserve um momento para clicar em User's imagee selecionar "Sim" na pergunta "Esta resposta foi útil?". Caso tenha qualquer outra dúvida, estamos à disposição para ajudar.

    Esta resposta foi útil?

    0 comentários Sem comentários

  2. Dio Xavier 296.7K Pontos de reputação Moderador Voluntário
    2026-07-14T23:14:04.0266667+00:00

    Olá

    Bem-vindo à Comunidade Microsoft Azure.

    Boa noite, Wellingon. Obrigado por entrar em contato conosco e detalhar seu cenário. Baseado em suas informações e como as permissões PATs já foram devidam,ente validades, o erro pode estar associado a inconsistências da identidade do usuário no Entra ID e Azure DevOps, após recriação da conta, migração de tenant ou provisionamento

    Recomendo verificar estes itens em especial.:

    • Se o usuário existe apenas uma vez na organização do Azure DevOps.
    • Se há permissões Deny no repositório.
    • Se a licença e o acesso à organização estão corretos.

    Como não um procedimento público para sincronização manual do Object Id no Azure Dev Ops, se ainda houver divergência de identidade será necessario abrir um ticket de suporte para uma analisa mais aprofundada.

    Documentação de referência técnica recomendada.:

    Esta resposta foi útil?

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como ‘Aceitas’ pelo autor da pergunta e ‘Recomendadas’ pelos moderadores, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.