Solucionar problemas de conexões de serviço do ARM

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Este artigo apresenta os cenários comuns de solução de problemas para ajudar você a resolver problemas ao criar uma conexão de serviço do Azure Resource Manager. Confira Gerenciar conexões de serviço para saber como criar, editar e proteger as conexões de serviço.

O que acontece quando você cria uma conexão de serviço do ARM?

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

  1. Em seu projeto, selecione Configurações do projeto e escolha Conexões de serviço.

    Captura de tela mostrando como acessar as conexões de serviço nas configurações de projeto

  2. Selecione Nova conexão de serviço para adicionar uma conexão de serviço e escolha Azure Resource Manager. Selecione Próximo quando terminar.

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

  3. Selecione Entidade de serviço (automático) e **Avançar.

  4. Selecione Assinatura e escolha sua assinatura na lista suspensa. Preencha o formulário e selecione Salvar quando terminar.

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

Ao salvar sua nova conexão de serviço do ARM, o Azure DevOps:

  1. Conecta ao locatário do Microsoft Entra para a assinatura selecionada.
  2. Cria um aplicativo no Microsoft Entra ID em nome do usuário.
  3. Depois que o aplicativo tiver sido criado com êxito, atribua o aplicativo como um colaborador à assinatura selecionada.
  4. Cria uma conexão de serviço do Azure Resource Manager usando os detalhes deste aplicativo.

Observação

Para criar conexões de serviço, você deve ser adicionado ao grupo Criador de Ponto de Extremidade nas configurações do projeto: Configurações do projeto>Conexões de serviço>Segurança. Os colaboradores são adicionados a esse grupo por padrão.

Cenários de soluçã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.

Esse problema de permissão pode ser devido às seguintes causas:

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

A melhor abordagem para resolve esse problema, e ao mesmo tempo conceder 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 de proprietário, administrador global ou administrador de conta de usuário.

  2. Selecione Microsoft Entra ID na barra de navegação do lado 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 logon usando as credenciais apropriadas, se necessário.

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

  5. Selecione Configurações de 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á tornar o usuário um membro da função Administrador global. Para isso, siga as etapas abaixo:

Aviso

Os usuários que foram atribuídos à função de administrador Global podem ler e modificar todas as configurações administrativas em sua organização do Microsoft Entra. Como uma melhor prática, 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 de proprietário, administrador global ou administrador de conta de usuário.

  2. Selecione Microsoft Entra ID 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 logon usando as credenciais apropriadas, se necessário.

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

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

  6. Selecione Função de diretório na seção Gerenciar e altere a função para Administrador global. Selecione Save 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 ao diretório. O administrador do 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 logon usando as credenciais apropriadas, se necessário.

  3. Selecione Usuários e escolha Configurações do usuário.

  4. Em Registros de aplicativo, altere a opção Usuários podem registrar aplicativos 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. Confira 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

Normalmente, esses erros ocorrem quando a sessão expirou. Para resolver esses problemas:

  1. Saia do Azure DevOps.
  2. Abra uma janela anônima do navegador ou em modo 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 na assinatura do Azure selecionada.

Para resolve esse problema, peça ao administrador da assinatura para atribuir a você a função apropriada no Microsoft Entra ID.

A assinatura não está listada ao criar uma conexão de serviço

No máximo 50 assinaturas do Azure são listadas nos menus suspensos da assinatura do Azure (cobrança, conexão de serviço, etc.). Se você estiver configurando uma conexão de serviço e tiver mais de 50 assinaturas do Azure, algumas das assinaturas não serão listadas. Nesse cenário, conclua as seguintes etapas:

  1. Crie um novo usuário nativo do Microsoft Entra na instância do Microsoft Entra da sua assinatura do Azure.

  2. Configure o usuário do Microsoft Entra para que ele tenha as permissões adequadas para configurar a cobrança ou criar conexões de serviço. Para obter mais informações, confira Configurar cobrança para sua organização do Azure DevOps.

  3. Adicione o usuário do Microsoft Entra à organização do Azure DevOps com um nível de acesso de Stakeholder e, a seguir, o adicione ao grupo de Administradores de Coleção de Projetos (para cobrança), ou certifique-se de que o usuário tenha 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. Você verá apenas uma assinatura do Azure na lista.

Algumas assinaturas estão ausentes na lista de assinaturas

Esse problema pode ser corrigido alterando as configurações de tipos de conta com suporte e definindo quem pode usar seu aplicativo. Para isso, siga as etapas abaixo:

  1. Entre no portal do Azure.

  2. Se você tem acesso a vários locatários, use o filtro Diretório + assinatura no menu superior para selecionar o locatário no qual você deseja registrar um aplicativo.

    Captura de tela mostrando o ícone de diretório e assinaturas no Portal do Azure.

  3. Selecione Microsoft Entra ID no painel esquerdo.

  4. Selecione Registros do Aplicativo.

  5. Selecione seu aplicativo na lista de aplicativos registrados.

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

  7. Em Tipos de conta com suporte, Quem pode usar esse aplicativo ou acessar essa API? selecione Contas em qualquer diretório organizacional.

    Captura de tela mostrando os tipos de conta com suporte.

  8. Selecione Save quando terminar.

Token da entidade de serviço expirado

Um problema que geralmente surge com entidades de serviç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, confira O 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. Acesse Configurações do projeto>Conexões de serviço e selecione a conexão de serviço que você deseja modificar.

  2. Selecione Editar no canto superior direito e selecione Verificar.

  3. Selecione Salvar.

O token da entidade de serviço foi renovado por mais três meses.

Observação

Essa operação estará disponível mesmo se o token da entidade de serviço não tiver 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 o problema:

  1. Acesse Configurações do projeto>Conexões de serviço e selecione a conexão de serviço que você deseja modificar.

  2. Selecione Editar no canto superior direito e faça a alteração na 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.

    Observação

    Selecione Salvar. Não tente verificar a conexão de serviço nesta etapa.

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

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

  6. Selecione Salvar para salvar a conexão de serviço.

A assinatura do Azure não é passada na saída da tarefa anterior

Você pode enfrentar esse problema caso defina a assinatura do Azure dinamicamente para o pipeline de lançamento e deseje consumir a variável de saída de uma tarefa anterior.

Para resolve o problema, verifique se os valores estão definidos na seção variáveis do pipeline. Em seguida, você pode passar essa variável entre as tarefas do pipeline.

Quais mecanismos de autenticação têm suporte? 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 SPA (Autenticação de Entidade de Serviço) ou autenticação de 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ê pode usar essa identidade para autenticar qualquer serviço que dê suporte à autenticação do Microsoft Entra, sem credenciais persistentes no código ou na conexão do serviço.

Para saber mais sobre identidades gerenciadas para máquinas virtuais, confira Atribuindo funções.

Observação

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 a identidade gerenciada para essa VM.