Resolver problemas de ligações do serviço do Azure Resource Manager
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Este artigo apresenta os 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. Consulte Gerenciar conexões de serviço para saber como criar, editar e proteger conexões de serviço.
O que acontece quando você cria uma conexão de serviço do Azure Resource Manager?
Se você não tiver uma conexão de serviço, poderá criar uma da seguinte maneira:
No seu projeto, selecione Configurações do projeto e, em seguida, selecione Conexões de serviço.
Selecione Nova conexão de serviço para adicionar uma nova conexão de serviço e selecione Gerenciador de Recursos do Azure. Selecione Avançar quando terminar.
Selecione Registro de aplicativo (automático) e Federação de identidade de carga de trabalho como a credencial.
Selecione Subscrição e, em seguida, selecione a sua subscrição na lista pendente. Preencha o restante do formulário e selecione Salvar quando terminar.
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 locatário do Microsoft Entra para a assinatura selecionada.
- Cria uma aplicação no Microsoft Entra ID em nome do utilizador.
- Atribui o aplicativo como um contribuidor para a assinatura selecionada.
- Cria uma ligação de serviço do Azure Resource Manager utilizando os detalhes desta aplicação.
Nota
Para criar conexões de serviço, seja adicionado ao grupo Endpoint Creator nas configurações do projeto: Configurações>do projeto Conexões>de serviço Segurança. Os colaboradores são adicionados a este grupo por padrão.
Cenários de resolução de problemas
Os seguintes problemas podem ocorrer quando você cria conexões de serviço:
- Resolver problemas de ligações do serviço do Azure Resource Manager
- O que acontece quando você cria uma conexão de serviço do Azure Resource Manager?
- Solução de problemas de cenários
- O usuário tem apenas permissão de convidado no diretório
- O usuário não está autorizado a adicionar aplicativos no diretório
- Falha ao obter um token de acesso ou um token de atualização válido não foi encontrado
- Falha ao atribuir a função de Colaborador
- A assinatura não está listada ao criar uma conexão de serviço
- Algumas subscrições estão em falta na lista de subscrições
- O token da entidade de serviço expirou
- Falha ao obter o JWT usando a ID do cliente da entidade de serviço
- A assinatura do Azure não é passada da saída da tarefa anterior
- Que mecanismos de autenticação são suportados? Como funcionam as identidades gerenciadas?
- Artigos relacionados
O usuário tem apenas permissão de convidado no diretório
Entre no portal do Azure usando 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 correspondente à assinatura do usuário. Caso contrário, selecione Alternar diretório e entre usando 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 preparado para conceder permissões de nível de administrador ao usuário, poderá torná-lo membro de uma função de Administrador. Efetue os seguintes passos:
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 usando 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 correspondente à assinatura do usuário. Caso contrário, selecione Alternar diretório e entre usando as credenciais apropriadas, se necessário.
Selecione Usuários na seção Gerenciar .
Use a caixa de pesquisa para procurar 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. Em seguida, o usuário pode tentar recriar a conexão de serviço.
O usuário não está autorizado a adicionar aplicativos no diretório
Você deve ter permissões para adicionar aplicativos integrados no diretório. O administrador de diretório tem permissões para alterar essa configuração.
Selecione Microsoft Entra ID no painel de navegação esquerdo.
Verifique se você está editando o diretório apropriado correspondente à assinatura do usuário. Caso contrário, selecione Alternar diretório e entre usando as credenciais apropriadas, se necessário.
Selecione Usuários e, em seguida, selecione Configurações do usuário.
Em Registos de aplicações e, em seguida, altere a opção Os utilizadores podem registar aplicações para Sim.
Você também pode criar a entidade de serviço com um usuário existente que já tenha as permissões necessárias no Microsoft 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 expirou. Para resolver esses problemas:
- Saia do Azure DevOps.
- Abra uma janela do navegador InPrivate ou anônimo e navegue até o Azure DevOps.
- Entre usando as credenciais apropriadas.
- Selecione sua organização e seu projeto.
- Crie sua conexão de serviço.
Falha ao atribuir a função de Colaborador
Esse erro normalmente ocorre 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
Máximo de 50 assinaturas do Azure listadas nos vários menus suspensos de assinatura do Azure (cobrança, conexão de serviço e assim por diante): se você estiver configurando uma conexão de serviço e tiver mais de 50 assinaturas do Azure, algumas de suas assinaturas não serão 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 estiver listada quando você criar uma conexão de serviço do Azure Resource Manager (ARM), isso 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.
Algumas subscrições estão em falta na lista de subscrições
Alterar configurações de tipos de conta de suporte: esse problema pode ser corrigido alterando as configurações de tipos de conta suportados e definindo quem pode usar seu aplicativo. Efetue os seguintes 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.
Token de usuário antigo armazenado em cache nos Serviços de DevOps do Azure: se sua assinatura do Azure não estiver listada quando você criar uma conexão de serviço do Azure Resource Manager (ARM), isso 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.
O token da entidade de serviço expirou
Um problema que geralmente surge com entidades de serviço que são criadas automaticamente é que o token da entidade de serviço expira e precisa ser renovado. No entanto, se você tiver um problema com a atualização do token, consulte token de atualização válido não foi encontrado.
Se o seu token expirou, poderá ver uma das mensagens de erro:
AADSTS7000215: Invalid client secret is provided
AADSTS7000222: The provided client secret keys for app '***' are expired
Invalid client id or client secret
Para renovar o token de acesso para uma entidade de serviço criada automaticamente:
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 selecione Verificar.
Selecione Guardar.
O token da entidade de serviço agora é renovado por mais três meses.
Nota
Esta operação está disponível mesmo que o token da entidade 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 atualizará o segredo do aplicativo registrado para a entidade de serviço. Para obter mais informações, consulte Criar uma conexão de serviço do Azure Resource Manager usando segurança automatizada e O que acontece quando você cria uma conexão de serviço do Resource Manager?
Falha ao obter o JWT usando a ID do cliente da entidade de serviço
Esse problema ocorre quando você tenta verificar uma conexão de serviço que tem um segredo expirado.
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
Selecione Guardar. Não tente verificar a conexão de serviço nesta etapa.
Saia da janela de edição da conexão de serviço e atualize a página de conexões de serviço.
Selecione Editar no canto superior direito e, agora, selecione Verificar.
Selecione Salvar para salvar sua conexão de serviço.
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 uma autenticação de entidade de serviço (SPA) ou autenticação de identidade gerenciada. As identidades geridas para os recursos do Azure proporcionam aos recursos do Azure uma identidade gerida automaticamente no Microsoft Entra ID. Você pode usar essa identidade para autenticar em qualquer serviço que ofereça suporte à autenticação do Microsoft Entra sem persistir as credenciais no código ou na conexão de serviço.
Para saber mais sobre identidades gerenciadas para máquinas virtuais, consulte Atribuição de funções.
Nota
Não há suporte para identidades gerenciadas em agentes hospedados pela Microsoft. Nesse cenário, você deve configurar um agente auto-hospedado em uma VM do Azure e configurar uma identidade gerenciada para essa VM.