Compartilhar via


Definir configurações de segurança de Pools de DevOps Gerenciados

Saiba como definir as configurações de segurança para pools de DevOps gerenciados. Há duas maneiras de definir as configurações de segurança:

  • Quando você cria um pool usando a guia Segurança
  • Depois de criar um pool usando o painel configurações de segurança

Configurar o acesso da organização

Por padrão, os pools criados com Pools de DevOps Gerenciados são configurados para todos os projetos em uma única organização. Opcionalmente, você pode limitar o acesso a projetos específicos na organização e também conceder acesso a outras organizações.

Se você configurar o pool e conceder acesso a todos os projetos, o pool será adicionado aos projetos para os quais você tem as permissões apropriadas. Se você configurar o pool e conceder acesso a projetos específicos, deverá ter permissão para adicionar o pool em todos os projetos designados ou a criação do pool falhará.

Para ver as permissões necessárias para configurar pools de DevOps gerenciados em sua organização e projetos, consulte Pré-requisitos: verificar as permissões do Azure DevOps.

Usar um pool com uma única organização

Por padrão, os Pools de DevOps Gerenciados são configurados com uma única organização do Azure DevOps que você especifica ao criar o pool. Quando o pool é configurado para uma única organização, o nome da organização é exibido e configurado nas configurações do Pool .

Por padrão, a configuração Adicionar pool a todos os projetos é definida como Sim e o acesso ao Pool de DevOps Gerenciado é concedido a todos os projetos da organização. Para limitar quais projetos em sua organização podem usar o pool, selecione Não e especifique quais projetos devem ter acesso.

Captura de tela que mostra como configurar projetos para uma única organização.

Usar um pool em múltiplas organizações

Para usar seu pool com várias organizações do Azure DevOps, habilite Usar pool em várias organizações. Para cada organização, especifique os projetos que têm permissão para usar o pool ou deixe esse campo em branco para permitir todos os projetos. Configure o Paralelismo para cada organização especificando quais partes da simultaneidade, conforme especificado pelo valor máximo de agentes para o pool, serão alocadas para cada organização. A soma do paralelismo para todas as organizações deve ser igual à simultaneidade máxima do pool. Por exemplo, se o máximo de agentes for definido como cinco, a soma do paralelismo para as organizações especificadas deverá ser cinco. Se o valor máximo de agentes for definido como um, você poderá usar o pool com apenas uma organização.

No exemplo a seguir, o pool está configurado para estar disponível para os projetos FabrikamResearch e FabrikamTest na organização fabrikam-tailspin e para todos os projetos na organização fabrikam-blue .

Captura de tela que mostra como configurar várias organizações.

Se você receber um erro como The sum of parallelism for all organizations must equal the max concurrency, verifique se a contagem máxima de agentes para o pool corresponde à soma da coluna Paralelismo .

Configurar o acesso aberto para pipelines no pool

Para configurar o acesso aberto para pipelines, você deve ter as seguintes permissões além das permissões descritas em Pré-requisitos – verificar as permissões do Azure DevOps:

Por padrão, você deve autorizar explicitamente cada definição de pipeline a ser executada em um pool de agentes auto-hospedado (como um pool criado usando Pools de DevOps Gerenciados) antes de ser executado pela primeira vez nesse pool.

O Azure DevOps fornece os seguintes modos para autorizar pipelines a serem executados em um pool de agentes.

  • Autorizar pipelines específicos (padrão): autorize individualmente pipelines específicos de um projeto do Azure DevOps a serem executados no pool.
  • Acesso aberto: configure um pool de agentes no nível do projeto para estar disponível para todos os pipelines nesse projeto.

Habilite Permitir que todos os pipelines são executados no pool sem aprovação (acesso aberto) para definir a configuração do pool de agentes de acesso aberto no Azure DevOps ao criar o pool.

Você pode configurar a opção Permitir que todos os pipelines sejam executados no pool sem aprovação (acesso aberto) nos Pools de DevOps Gerenciados somente quando você cria o pool. Depois que o pool for criado, você poderá exibir e configurar o Acesso Aberto no pool de agentes correspondente no Azure DevOps para cada projeto que usa o pool.

Para configurar o acesso ao pool a partir de todos os pipelines nos projetos designados, habilite Permitir que todos os pipelines sejam executados no pool sem aprovação (acesso aberto).

Captura de tela que mostra como configurar o acesso aberto.

  • Se Adicionar pool a todos os projetos estiver definido como Sim, os Pools de DevOps Gerenciados configurarão o Acesso Aberto para todos os pipelines em todos os projetos.
  • Se Adicionar pool a todos os projetos estiver definido como Não, os Pools de DevOps Gerenciados configurarão o Acesso Aberto para todos os pipelines somente nos projetos listados.

Se você habilitar o Pool de Uso em várias organizações, poderá especificar o acesso aberto individualmente para cada organização.

Captura de tela que mostra como configurar o acesso aberto para várias organizações.

Se você tentar executar um pipeline que não está autorizado a acessar o pool de agentes, receberá um erro como "Este pipeline precisa de permissão para acessar um recurso antes que essa execução possa continuar". Você pode resolver esse problema configurando o acesso aberto, conforme descrito na seção anterior, ou autorizando explicitamente o pipeline a ser executado no pool de agentes.

Configurar o modo interativo

Se os testes precisarem de um login interativo para teste de interface do usuário, ative o modo interativo habilitando a configuração EnableInteractiveMode.

Captura de tela que mostra como habilitar o modo interativo.

Configurar permissões de administração do pool

Como parte do processo de criação do Pool de DevOps Gerenciado, um pool de agentes é criado no nível da organização do Azure DevOps e um pool de agentes no nível do projeto é criado em cada projeto designado. A configuração de permissões de administração do Pool especifica quais usuários recebem a permissão de administrador nos pools de agentes recém-criados no Azure DevOps. Para exibir e gerenciar as permissões do pool de agentes do Azure DevOps após a criação do Pool de DevOps Gerenciado, consulte Criar e gerenciar pools de agentes: Segurança de pools de agentes.

Captura de tela que mostra como configurar permissões de administração do pool.

  • Somente para o criador: essa configuração adiciona o usuário que criou o Pool de DevOps Gerenciado como administrador do pool de agentes do Azure DevOps e define Herança como Desativado nas configurações de segurança do pool de agentes. Apenas criador é a configuração padrão.
  • Herdar permissões do projeto: essa configuração adiciona o usuário que criou o Pool de DevOps Gerenciado como administrador do pool de agentes do Azure DevOps e define Herança como Ativada nas configurações de segurança do pool de agentes.
  • Contas específicas: você pode usar essa configuração para especificar as contas que deseja adicionar como administradores do pool de agentes no Azure DevOps. Por padrão, o criador do pool está incluído.

Você pode definir a configuração de permissões de administração do Pool na guia Segurança ao criar o pool. Ele não é exibido nas configurações de segurança depois que o pool é criado. Para exibir e gerenciar as permissões do pool de agentes do Azure DevOps depois de criar o pool, consulte Criar e gerenciar pools de agentes – Segurança de pools de agentes.

Configurar um cofre de chaves

Os Pools de DevOps Gerenciados oferecem a capacidade de buscar certificados de um cofre de chaves do Azure durante o provisionamento. Os certificados já existem no computador quando ele executa seus pipelines.

Para usar esse recurso, você deve:

  • Configure uma identidade no seu pool. Você deve conceder a essa identidade a permissão Usuário de Segredos do Key Vault para buscar o segredo do cofre de chaves. Para atribuir sua identidade à função Usuário de Segredos do Key Vault, consulte Conceder acesso a chaves, certificados e segredos do Key Vault com controle de acesso baseado em função do Azure.

  • A entidade que configura as definições de integração do Key Vault (sua conta, caso você seja o responsável por configurar as definições) deve ter a atribuição de função Usuário de Certificado do Key Vault no cofre de chaves onde os certificados são armazenados.

  • Para impor o isolamento de rede para a instância do Azure Key Vault permitir apenas o acesso aos recursos autorizados, você deve adicionar os seguintes endereços IP à lista de permissões do Azure Key Vault. Os intervalos de endereços IP a seguir estão em uma marca de serviço do Azure chamada DevOpsInfrastructure.

    Localização Intervalo de endereços IP
    australiaeast 4.198.194.192/28
    Brasil Sul 74.163.143.32/28
    canadacentral 130.107.66.0/28
    centralindia 98.70.255.112/28
    centralus 72.152.33.16/28
    eastus2 72.153.21.192/28
    alemanhaoestecentral 131.189.121.128/28
    northeurope 72.145.24.48/28
    southeastasia 135.171.33.48/28
    switzerlandnorth 74.161.82.192/28
    uksouth 131.145.107.64/28
    westus3 57.154.125.208/28

Observação

A partir de api-version 2025-01-21, se você usar esse recurso, poderá usar apenas uma única identidade no pool.

Você pode usar apenas uma identidade para buscar segredos do cofre de chaves.

Você define as configurações de certificado do Managed DevOps Pools no nível do pool e algumas das configurações são específicas para Windows ou Linux. Se o fluxo de trabalho exigir imagens do Linux e do Windows, talvez seja necessário dividi-las em vários pools se não encontrar um conjunto comum de configurações de certificado que funcionem para Windows e Linux.

As seguintes configurações determinam os certificados obtidos do seu cofre de chaves:

  • Certificados (observedCertificates): essa configuração especifica os certificados a serem buscados do cofre de chaves e instalados em todos os computadores no pool.
  • Local do repositório de certificados (certificateStoreLocation): essa configuração especifica o local para instalar os certificados em seu agente.
    • Agentes do Windows: Especificar LocalMachine ou CurrentUser.
    • Agentes do Linux: a configuração do local do repositório de certificados só tem suporte em distribuições do Ubuntu. Especifique o caminho do disco para armazenar os certificados (por exemplo, /var/lib/waagent/Microsoft.Azure.KeyVault/app1). Para distribuições do Ubuntu, se você especificar o local de repositório confiável (por exemplo, /usr/local/share/ca-certificates), o certificado será adicionado a esse repositório de certificados como raiz. Para obter mais informações, consulte Instalar um certificado de AC raiz no repositório de confiança.
  • Nome do repositório de certificados (certificateStoreName)
    • Agentes do Windows: essa configuração especifica o nome do repositório de certificados. É o repositório My de certificados local, que é o padrão se nenhum nome for especificado, ou Root (localização raiz confiável).
    • Agentes do Linux: essa configuração não é usada em agentes do Linux.
  • Chaves privadas exportáveis (keyExportable): essa configuração especifica se a chave dos certificados é exportável. O padrão é false.

Você pode configurar a integração do cofre de chaves no Settings>Security.

Captura de tela que mostra como configurar certificados do cofre de chaves.

Você pode definir as configurações de integração do cofre de chaves somente depois de criar o pool. Você não pode definir as configurações de integração do cofre de chaves ao criar o pool. Eles não são exibidos na guia Segurança durante a criação do pool.

Configurar Configurações de Gerenciamento de Segredos

Certificados recuperados usando o SecretManagementSettings no seu pool sincronizam automaticamente com as versões mais recentes publicadas no cofre de chaves. Esses segredos estão na máquina quando ela executa seu primeiro pipeline, o que significa que você pode economizar tempo e eliminar tarefas de obtenção de certificados.

Importante

O provisionamento de máquinas virtuais do agente falhará se o segredo não puder ser recuperado do cofre de chaves devido a problemas de permissão ou de rede.

Para o Windows, você pode definir o valor do Local do Repositório de Certificados como LocalMachine ou CurrentUser. Essa configuração garante que o segredo esteja instalado nesse local no computador. Para obter um comportamento específico de como a recuperação de segredo funciona, consulte a extensão do Azure Key Vault para Windows.