Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
Este artigo apresenta cenários comuns de solução de problemas para ajudá-lo a resolver problemas que você pode encontrar ao criar uma conexão de serviço do Azure Resource Manager (ARM). Consulte Gerenciar conexões de serviço para saber como criar, editar e proteger conexões de serviço. Consulte Solucionar problemas de uma conexão de serviço de identidade de carga de trabalho do Azure Resource Manager para saber como corrigir problemas relacionados à identidade da carga de trabalho.
Este artigo usa os termos "locatário" e "diretório" de maneiras que podem se sobrepor. Um locatário é uma instância dedicada e isolada do Microsoft Entra ID que sua organização recebe e gerencia todas as identidades e controle de acesso para seus serviços de nuvem. Um diretório é um contêiner dentro desse locatário que contém objetos como usuários, grupos e aplicativos usados para gerenciar o acesso a recursos.
Sugestão
Você pode pedir ajuda ao Copilot para solucionar mensagens de erro. Para saber mais, consulte Usar IA para solucionar um erro de conexão de serviço do Azure DevOps.
O que acontece quando você cria uma conexão de serviço do Azure Resource Manager
Você tem várias opções de autenticação para se conectar ao Azure com uma conexão de serviço do Azure Resource Manager. Recomendamos o uso da federação de identidades de carga de trabalho com um registro de aplicativo ou identidade gerenciada.
Quando o processo de criação da conexão de serviço é bem-sucedido, o Azure DevOps executa automaticamente essas etapas em seu locatário do Microsoft Entra. Se você encontrar erros durante esse processo, consulte os cenários de solução de problemas abaixo.
Quando você salva sua nova conexão de serviço do Azure Resource Manager, o Azure DevOps executa as seguintes ações:
- Conecta-se ao inquilino do Microsoft Entra para a assinatura selecionada.
- Cria um aplicativo no Entra ID em nome do usuário.
- Atribui o aplicativo como um contribuidor para a assinatura selecionada.
- Cria uma conexão de serviço do Azure Resource Manager usando os detalhes deste aplicativo.
Nota
Para criar ligações de serviço, precisa de ter atribuído o papel de Criador ou Administrador para o grupo Criador de Ponto de Extremidade nas definições do projeto: Definições do projeto>Ligações de serviço>Mais ações>Segurança. Os Colaboradores do Projeto são adicionados a este grupo por padrão.
O usuário tem apenas permissão de convidado no diretório
Este erro ocorre durante o processo de criação automática de conexão de serviço quando o Azure DevOps tenta criar um aplicativo e atribuir permissões na ID do Microsoft Entra (etapas 2 a 3 em O que acontece quando você cria uma conexão de serviço do Azure Resource Manager). Isso acontece quando um usuário com apenas permissões de convidado em um diretório de ID do Microsoft Entra tenta criar uma conexão de serviço do Azure Resource Manager no Azure DevOps, mas tem permissões insuficientes.
Para resolver este problema:
Entre no portal do Azure com uma conta de administrador. A conta deve ser um proprietário ou administrador de conta de usuário.
Selecione Microsoft Entra ID na barra de navegação esquerda.
Verifique se você está editando o diretório apropriado que corresponde à assinatura do usuário. Caso contrário, selecione Alternar diretório e entre com as credenciais apropriadas, se necessário.
Selecione Usuários na seção Gerenciar .
Selecione Configurações do usuário.
Selecione Gerenciar configurações de colaboração externa na seção Usuários externos.
Altere a opção Permissões de usuário convidado são limitadas para Não.
Como alternativa, se você estiver pronto para conceder permissões de nível de administrador ao usuário, poderá torná-lo membro de uma função de administrador. Conclua as seguintes etapas:
Aviso
A atribuição de usuários à função de Administrador Global permite que eles leiam e modifiquem todas as configurações administrativas em sua organização do Microsoft Entra. Como prática recomendada, atribua essa função a menos de cinco pessoas em sua organização.
Entre no portal do Azure com uma conta de administrador. A conta deve ser um proprietário ou administrador de conta de usuário.
Selecione ID do Microsoft Entra no painel de navegação esquerdo.
Verifique se você está editando o diretório apropriado que corresponde à assinatura do usuário. Caso contrário, selecione Alternar diretório e entre com as credenciais apropriadas, se necessário.
Selecione Usuários na seção Gerenciar .
Use a caixa de pesquisa para encontrar o usuário que você deseja gerenciar.
Selecione Função de diretório na seção Gerenciar e altere a função. Quando terminar, selecione Guardar.
Normalmente, leva de 15 a 20 minutos para aplicar as alterações globalmente. O usuário pode então tentar recriar a conexão de serviço.
O usuário não está autorizado a adicionar aplicativos no diretório
Este erro ocorre durante o processo de criação de conexão de serviço automática quando o Azure DevOps tenta criar um aplicativo no Microsoft Entra ID em seu nome (etapa 2 em O que acontece quando você cria uma conexão de serviço do Azure Resource Manager). Você não tem permissão para adicionar aplicativos integrados no diretório. O administrador de diretório tem permissões para alterar essa configuração.
Para resolver este problema:
Selecione Microsoft Entra ID no painel de navegação esquerdo.
Verifique se você está editando o diretório apropriado que corresponde à assinatura do usuário. Caso contrário, selecione Alternar diretório e entre com as credenciais apropriadas, se necessário.
Selecione Utilizadores e, em seguida, selecione Definições de utilizador.
Em Registos de aplicações, altere a opção Os utilizadores podem registar aplicações para Sim.
Você também pode criar o principal de serviço com um utilizador existente que já possua as permissões necessárias no Entra ID. Para obter mais informações, consulte Criar uma conexão de serviço do Azure Resource Manager com uma entidade de serviço existente.
Falha ao obter um token de acesso ou um token de atualização válido não foi encontrado
Esses erros geralmente ocorrem quando a sessão expira.
Para resolver esses problemas:
Saia do Azure DevOps.
Abra uma janela do navegador InPrivate ou anônimo e vá para Azure DevOps.
Entre com as credenciais apropriadas.
Selecione sua organização e seu projeto.
Tente criar sua conexão de serviço novamente. Para obter etapas detalhadas, consulte Gerenciar conexões de serviço.
Você não parece ter uma assinatura ativa do Azure ao tentar editar ou criar uma nova conexão de serviço
Esse erro normalmente ocorre quando você faz parte de vários locatários do Entra ID.
Para resolver este problema:
Vá para perfil do VS.
Verifique se você tem vários locatários.
Selecione cada locatário e autentique-se novamente.
Tente criar uma conexão de serviço e verifique se a assinatura é carregada.
Falha ao atribuir a função de Colaborador
Este erro ocorre durante o processo de criação automática de conexão de serviço quando o Azure DevOps tenta atribuir o aplicativo como um contribuidor à sua assinatura (etapa 3 em O que acontece quando você cria uma conexão de serviço do Azure Resource Manager). Esse erro geralmente acontece quando você não tem permissão de Gravação para a assinatura do Azure selecionada.
Para resolver este problema, peça ao administrador da subscrição para lhe atribuir a função apropriada no Microsoft Entra ID.
A assinatura não está listada ao criar uma conexão de serviço
Existem várias causas possíveis para este problema.
Excedeu o máximo de 50 subscrições do Azure listadas nos vários menus suspensos de subscrição do Azure (cobrança, ligação de serviço e assim por diante): se estiver a configurar uma ligação de serviço e tiver mais de 50 subscrições do Azure, algumas das suas subscrições podem não aparecer listadas. Nesse cenário, conclua as seguintes etapas:
Crie um novo utilizador nativo do Microsoft Entra na instância do Microsoft Entra da sua subscrição do Azure.
Configure o utilizador do Microsoft Entra de modo a ter as permissões adequadas para configurar a faturação ou criar ligações de serviço. Para obter mais informações, veja Adicionar um utilizador que pode configurar a faturação do Azure DevOps.
Adicione o usuário do Microsoft Entra à organização do Azure DevOps com um nível de acesso de Partes Interessadas e adicione-o ao grupo Administradores de Coleção de Projetos (para cobrança) ou verifique se o usuário tem permissões suficientes no Projeto de Equipe para criar conexões de serviço.
Entre no Azure DevOps com as novas credenciais de usuário e configure a cobrança. Você só vê uma assinatura do Azure na lista.
Token de usuário antigo armazenado em cache nos Serviços de DevOps do Azure: Se sua assinatura do Azure não aparecer quando você criar uma conexão de serviço do Azure Resource Manager (ARM), ela pode ser devido a um token de usuário antigo armazenado em cache nos Serviços de DevOps do Azure. Esse cenário não é imediatamente óbvio, pois a tela de lista de assinaturas do Azure não exibe erros ou mensagens de aviso indicando que o token de usuário está desatualizado. Para resolver esse problema, atualize manualmente o token de usuário armazenado em cache nos Serviços de DevOps do Azure executando as seguintes etapas:
- Saia dos Serviços de DevOps do Azure e entre novamente. Esta ação pode atualizar o token de usuário.
- Limpe o cache e os cookies do navegador para garantir que todos os tokens antigos sejam removidos.
- No portal do Azure DevOps, vá para as conexões de serviço e reautorize a conexão com o Azure. Esta etapa solicita que o Azure DevOps use um novo token.
Configurações incorretas de tipos de conta de suporte: Corrija esse problema alterando as configurações de tipos de conta suportados e definindo quem pode usar seu aplicativo. Siga estes passos:
Inicie sessão no portal do Azure.
Se você tiver acesso a vários locatários, use o filtro Diretório + assinatura no menu superior para selecionar o locatário no qual deseja registrar um aplicativo.
Selecione Microsoft Entra ID no painel esquerdo.
Selecione Registos de aplicações.
Selecione a sua candidatura a partir da lista de candidaturas registadas.
Em Autenticação, selecione Tipos de conta suportados.
Em Tipos de conta suportados, Quem pode usar este aplicativo ou acessar esta API?, selecione Contas em qualquer diretório organizacional.
Quando terminar, selecione Guardar.
Principal de serviço ou senha secreta expirou
Os principais de serviço ou segredos que o Azure DevOps cria automaticamente expiram e exigem renovação. Se você encontrar problemas ao atualizar o token, consulte Falha ao obter um token de acesso ou um token de atualização válido não foi encontrado. Para evitar a necessidade de renovar segredos, use a federação de identidade de carga de trabalho com o Azure Resource Manager.
Se o token expirar, poderá ver uma destas mensagens de erro:
AADSTS7000215: Invalid client secret is providedAADSTS7000222: The provided client secret keys for app '***' are expiredInvalid client id or client secret
Para renovar o token de acesso de uma entidade de serviço ou um segredo criados automaticamente:
Vá para Configurações do Project Conexões>de serviço e selecione a conexão de serviço que deseja atualizar.
Selecione Rodar chave.
O token para o seu serviço principal ou segredo foi agora renovado por mais três meses.
Nota
Esta operação está disponível mesmo que o token do principal de serviço não tenha expirado. Verifique se o usuário que executa a operação tem as permissões adequadas na assinatura e no ID do Microsoft Entra, pois ele atualiza o segredo do aplicativo registrado para a entidade de serviço. Para obter mais informações, consulte Criar um registro de aplicativo com um segredo e O que acontece quando você cria uma conexão de serviço do Gerenciador de Recursos?
Falha ao obter o JWT usando a ID do cliente da entidade de serviço
Esse problema ocorre quando você tenta salvar uma conexão de serviço que tem um segredo expirado ou outros problemas no nível de ID do Microsoft Entra.
Para resolver este problema:
Vá para Configurações do>projeto Conexões de serviço e selecione a conexão de serviço que deseja modificar.
Selecione Editar no canto superior direito e faça qualquer alteração na sua conexão de serviço. A alteração mais fácil e recomendada é adicionar uma descrição.
Selecione Salvar para salvar a conexão de serviço.
Nota
Se receberes um erro como Failed to obtain the Json Web Token(JWT) using service principal client ID. Exception message: AADSTS7000112: Application is disabled., trabalha com a tua equipa do Microsoft Entra ID para confirmar que a opção Ativada para os utilizadores iniciarem sessão na aplicação empresarial associada ao respetivo administrador de serviço não está desativada.
A assinatura do Azure não é passada da saída da tarefa anterior
Quando você define sua assinatura do Azure dinamicamente para seu pipeline de lançamento e deseja consumir a variável de saída de uma tarefa anterior, você pode encontrar esse problema.
Para resolver o problema, certifique-se de que os valores estão definidos na seção de variáveis do seu pipeline. Em seguida, você pode passar essa variável entre as tarefas do seu pipeline.
Que mecanismos de autenticação são suportados? Como funcionam as identidades gerenciadas?
Uma conexão de serviço do Azure Resource Manager pode se conectar a uma assinatura do Azure usando a Autenticação da Entidade de Serviço (SPA) ou a autenticação de identidade gerenciada.
A conexão de serviço do Azure Resource Manager pode se conectar a uma assinatura do Azure, grupo de gerenciamento ou espaço de trabalho de aprendizado de máquina usando:
- Registro de aplicativo (recomendado): autentique a conexão usando uma federação de identidade de carga de trabalho ou um segredo.
- Identidade gerenciada: as identidades gerenciadas para recursos do Azure fornecem aos serviços do Azure uma identidade gerenciada automaticamente na ID do Microsoft Entra. Você também pode usar uma identidade gerenciada atribuída ao agente.
Quando você configura a conexão de serviço com uma identidade gerenciada como método de autenticação, o processo não cria uma nova identidade gerenciada. Ele simplesmente estabelece a conexão de serviço. Para que esse método de autenticação funcione corretamente, certas condições devem ser atendidas. Especificamente, como a identidade gerenciada é o método de autenticação escolhido, a máquina virtual que você está usando deve ter uma identidade atribuída ao sistema. Além disso, essa máquina virtual precisa atuar como um agente auto-hospedado dentro dos pipelines para que o fluxo de trabalho seja totalmente executado, permitindo que o pipeline implante alterações por meio da conexão de serviço. A identidade atribuída pelo sistema na VM identifica que a mesma VM está servindo como o agente no pipeline, habilitando a autenticação. Essa configuração permite que você aproveite a identidade gerenciada existente.
Para saber mais sobre identidades gerenciadas para máquinas virtuais, consulte Atribuição de funções.
Nota
Os agentes hospedados pela Microsoft não oferecem suporte a identidades gerenciadas. Nesse cenário, você deve configurar um agente auto-hospedado em uma VM do Azure e configurar uma identidade gerenciada para essa VM.
Usar a IA para solucionar um erro de conexão de serviço do Azure DevOps
Este prompt de exemplo para o Copilot Chat ajuda o Copilot a solucionar o código de erro e a mensagem. Copie e cole esse prompt no Copilot Chat, substituindo o espaço reservado pela sua mensagem de erro específica.
I'm getting this Azure DevOps service connection error: [PASTE YOUR ERROR MESSAGE HERE]
Can you help me troubleshoot this issue? Please provide step-by-step instructions to:
1. Identify the root cause
2. Fix the configuration in Azure or Entra ID
3. Verify the solution works
Context: This is for an Azure Resource Manager service connection in Azure DevOps.
Artigos relacionados
- Solucionar problemas de uma conexão de serviço de identidade de workload no Azure Resource Manager
- Resolver problemas de execuções de pipeline
- Rever registos para diagnosticar problemas do pipeline