Resolver problemas com ligações do serviço ARM

Serviços de DevOps do Azure | 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 ARM?

Se você não tiver uma conexão de serviço, poderá criar uma da seguinte maneira:

  1. No seu projeto, selecione Configurações do projeto e, em seguida, selecione Conexões de serviço.

    Captura de tela mostrando como acessar conexões de serviço a partir das configurações do projeto

  2. 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.

    Captura de tela mostrando os tipos de conexões de serviço.

  3. Selecione Entidade de serviço (automática) e, em seguida, selecione **Seguinte.

  4. Selecione Subscrição e, em seguida, selecione a sua subscrição na lista pendente. Preencha o formulário e selecione Salvar quando terminar.

    Captura de tela mostrando o novo formulário de conexão de serviço ARM.

Quando você salva sua nova conexão de serviço ARM, o Azure DevOps:

  1. Conecta-se ao locatário do Microsoft Entra para a assinatura selecionada.
  2. Cria uma aplicação no Microsoft Entra ID em nome do utilizador.
  3. Após a criação da aplicação com sucesso, atribua a aplicação como contribuinte à subscrição selecionada.
  4. 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, você deve ser 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

Abaixo estão alguns dos problemas que podem ocorrer ao criar conexões de serviço:

Privilégios insuficientes para concluir a operação

Isso normalmente ocorre quando o sistema tenta criar um aplicativo no Microsoft Entra ID em seu nome.

Este é um problema de permissão que pode ser devido às seguintes causas:

O usuário tem apenas permissão de convidado no diretório

A melhor abordagem para resolver esse problema, concedendo apenas as permissões adicionais mínimas ao usuário, é aumentar as permissões de usuário convidado da seguinte maneira.

  1. Entre no portal do Azure usando uma conta de administrador. A conta deve ser um proprietário, administrador global ou administrador de conta de usuário.

  2. Selecione Microsoft Entra ID na barra de navegação esquerda.

  3. Verifique se você está editando o diretório apropriado correspondente à assinatura do usuário. Caso contrário, selecione Alternar diretório e faça login usando as credenciais apropriadas, se necessário.

  4. Selecione Usuários na seção Gerenciar .

  5. Selecione Configurações do usuário.

  6. Selecione Gerenciar configurações de colaboração externa na seção Usuários externos.

  7. 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 adicionais ao usuário (nível de administrador), poderá torná-lo um membro da função de administrador global. Para fazer isso, siga as etapas abaixo:

Aviso

Os usuários atribuídos à função de administrador global podem ler e modificar todas as configurações administrativas em sua organização do Microsoft Entra. Como prática recomendada, recomendamos que você atribua essa função a menos de cinco pessoas em sua organização.

  1. Entre no portal do Azure usando uma conta de administrador. A conta deve ser um proprietário, administrador global ou administrador de conta de usuário.

  2. Selecione ID do Microsoft Entra no painel de navegação esquerdo.

  3. Verifique se você está editando o diretório apropriado correspondente à assinatura do usuário. Caso contrário, selecione Alternar diretório e faça login usando as credenciais apropriadas, se necessário.

  4. Selecione Usuários na seção Gerenciar .

  5. Use a caixa de pesquisa para procurar o usuário que você deseja gerenciar.

  6. Selecione Função de diretório na seção Gerenciar e altere a função para Administrador global. Selecione Salvar quando terminar.

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.

  1. Selecione Microsoft Entra ID no painel de navegação esquerdo.

  2. Verifique se você está editando o diretório apropriado correspondente à assinatura do usuário. Caso contrário, selecione Alternar diretório e faça login usando as credenciais apropriadas, se necessário.

  3. Selecione Usuários e, em seguida, selecione Configurações do usuário.

  4. 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. Consulte Criar uma conexão de serviço do Azure Resource Manager com uma entidade de serviço existente para obter mais informações.

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:

  1. Saia do Azure DevOps.
  2. Abra uma janela do navegador InPrivate ou anônimo e navegue até o Azure DevOps.
  3. Entre usando as credenciais apropriadas.
  4. Selecione sua organização e seu projeto.
  5. 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

Um máximo de 50 assinaturas do Azure são listadas nos vários menus suspensos de assinatura do Azure (cobrança, conexão de serviço, etc.). Se estiver a configurar uma ligação de serviço e tiver mais de 50 subscrições do Azure, algumas das suas subscrições não serão listadas. Nesse cenário, conclua as seguintes etapas:

  1. Crie um novo utilizador nativo do Microsoft Entra na instância do Microsoft Entra da sua subscrição do Azure.

  2. 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.

  3. 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.

  4. Faça logon no Azure DevOps com as novas credenciais de usuário e configure uma cobrança. Só vai ver uma subscrição do Azure na lista.

Algumas subscrições estão em falta na lista de subscrições

Esse problema pode ser corrigido alterando as configurações de tipos de conta suportados e definindo quem pode usar seu aplicativo. Para o fazer, siga os passos abaixo:

  1. Inicie sessão no portal do Azure.

  2. 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.

    Captura de ecrã a mostrar o diretório e o ícone de subscrições no Portal do Azure.

  3. Selecione Microsoft Entra ID no painel esquerdo.

  4. Selecione Registos de aplicações.

  5. Selecione a sua candidatura a partir da lista de candidaturas registadas.

  6. Em Autenticação, selecione Tipos de conta suportados.

  7. Em Tipos de conta suportados, Quem pode usar este aplicativo ou acessar esta API?, selecione Contas em qualquer diretório organizacional.

    Captura de ecrã a mostrar os tipos de conta suportados.

  8. Selecione Salvar quando terminar.

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.

Para renovar o token de acesso para uma entidade de serviço criada automaticamente:

  1. Vá para Configurações do>projeto Conexões de serviço e selecione a conexão de serviço que deseja modificar.

  2. Selecione Editarno canto superior direito e selecione Verificar.

  3. Selecione Guardar.

O token da entidade de serviço foi 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.

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:

  1. Vá para Configurações do>projeto Conexões de serviço e selecione a conexão de serviço que deseja modificar.

  2. 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.

  3. 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.

  4. Saia da janela de edição da conexão de serviço e atualize a página de conexões de serviço.

  5. Selecione Editar no canto superior direito e, agora, selecione Verificar.

  6. 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.