Definir configurações de segurança de Pools de DevOps Geridos
Artigo
Você pode definir a configuração de segurança para Pools de DevOps Gerenciados durante a criação do pool usando a guia Segurança e após a criação do pool usando o painel Configurações de segurança .
Configurar o acesso à organização
Por padrão, os Pools de DevOps Gerenciados são configurados para uma única organização, com acesso ao pool concedido a todos os projetos da organização. Opcionalmente, você pode limitar o acesso a projetos específicos na organização e conceder acesso a organizações adicionais, se desejar.
Por padrão, os Pools de DevOps Gerenciados são configurados para uso com uma única organização de DevOps do Azure 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, Adicionar pool a todos os projetos é definido como Sim e o acesso ao Pool de DevOps Gerenciado é concedido a todos os projetos na organização. Escolha Não para especificar uma lista de projetos para limitar quais projetos em sua organização podem usar o pool.
As organizações são configuradas na organizationProfile propriedade do recurso Managed DevOps Pools.
A organizationProfile seção tem as seguintes propriedades.
Property
Description
organizations
Uma lista das organizações que podem usar seu pool. url especifica a URL da organização, projects é uma lista de nomes de projetos que podem usar o pool (uma lista vazia suporta todos os projetos na organização) e parallelism especifica o número de agentes que podem ser usados por essa organização. A soma do paralelismo para as organizações deve corresponder à configuração máxima de agentes para o pool.
permissionProfile
Especifique a permissão concedida ao pool de DevOps do Azure quando ele for criado. Esse valor pode ser definido apenas durante a criação do pool. Os valores permitidos são Inherit, CreatorOnlye SpecificAccounts. Se specificAccounts for especificado, forneça um único endereço de e-mail ou uma lista de endereços de e-mail para a users propriedade, caso contrário, omita users. Para obter mais informações, consulte Permissões de administração do pool.
kind
Esse valor especifica o tipo de organização para o pool e deve ser definido como Azure DevOps.
As organizações são configuradas organization-profile no parâmetro ao criar ou atualizar um pool.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
O exemplo a fabrikam-tailspin seguir mostra um organization-profile objeto configurado para todos os projetos na organização com parallelism definido como 1.
A organizationProfile seção tem as seguintes propriedades.
Property
Description
AzureDevOps
Esse valor é o nome do objeto definido em organization-profile e deve ser definido como Azure DevOps.
organizations
Uma lista das organizações que podem usar seu pool. url especifica a URL da organização, projects é uma lista de nomes de projetos que podem usar o pool (uma lista vazia suporta todos os projetos na organização) e parallelism especifica o número de agentes que podem ser usados por essa organização. A soma do paralelismo para as organizações deve corresponder à configuração máxima de agentes para o pool.
permissionProfile
Especifique a permissão concedida ao pool de DevOps do Azure quando ele for criado. Esse valor pode ser definido apenas durante a criação do pool. Os valores permitidos são Inherit, CreatorOnlye SpecificAccounts. Se specificAccounts for especificado, forneça um único endereço de e-mail ou uma lista de endereços de e-mail para a users propriedade, caso contrário, omita users. Para obter mais informações, consulte Permissões de administração do pool.
Habilite Usar pool em várias organizações para usar seu pool com várias organizações do Azure DevOps. Para cada organização, especifique os projetos que têm permissão para usar o pool ou deixe em branco para permitir todos os projetos. Configure o paralelismo para cada organização especificando quais partes da simultaneidade, conforme especificado pelos agentes Máximo para o pool, devem ser 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 Máximo de agentes for definido como cinco, a soma do paralelismo para as organizações especificadas deverá ser cinco. Se Máximo de agentes estiver definido como um, você só poderá usar o pool com 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 .
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 .
Adicione outras organizações à lista de organizações para configurar seu pool para uso com várias organizações. O exemplo a seguir tem duas organizações configuradas. A primeira organização está configurada para usar Pools de DevOps Gerenciados para todos os projetos, e a segunda organização está limitada a dois projetos. Neste exemplo, a configuração máxima de agentes para o pool é quatro, e cada organização pode usar dois desses quatro agentes.
As organizações são configuradas organization-profile no parâmetro ao criar ou atualizar um pool.
az mdp pool create \
--organization-profile organization-profile.json
# other parameters omitted for space
Adicione outras organizações à lista de organizações para configurar seu pool para uso com várias organizações. O exemplo a seguir tem duas organizações configuradas. A primeira organização está configurada para usar Pools de DevOps Gerenciados para todos os projetos, e a segunda organização está limitada a dois projetos. Neste exemplo, a configuração máxima de agentes para o pool é quatro, e cada organização pode usar dois desses quatro agentes.
Se seus testes precisarem de um login interativo para testes de interface do usuário, habilite o login interativo habilitando a configuração EnableInteractiveMode.
O modo interativo é configurado na osProfile seção da fabricProfile propriedade. Defina logonType como Interactive para ativar o modo interativo ou Service para desativar o modo interativo.
Como parte do processo de criação do Pool de DevOps Gerenciado, um pool de agentes no nível da organização é criado no Azure DevOps. A configuração de permissões de administração do pool especifica quais usuários recebem a função de administrador do pool de DevOps do Azure recém-criado. 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.
Somente criador - O usuário que criou o Pool de DevOps Gerenciado é adicionado como administrador do pool de agentes do Azure DevOps e a Herança é definida como Desativado nas configurações de segurança do pool de agentes. Creator é apenas a configuração padrão.
Herdar permissões do projeto - O usuário que criou o Pool de DevOps Gerenciado é adicionado como administrador do pool de agentes do Azure DevOps e Herança é definido como Ativado nas configurações de segurança do pool de agentes.
Contas específicas - Especifique as contas a serem adicionadas como administradores do pool de agentes criado no Azure DevOps. Por padrão, o criador do Pool de DevOps Gerenciado é adicionado à lista.
Nota
A configuração de permissões de administração do pool é definida na guia Segurança quando o pool é criado e não é exibida nas configurações de segurança após a criação do pool. 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.
As permissões de administração do pool são configuradas na permissionsProfile propriedade da organizationProfile seção do recurso Managed DevOps Pools.
A propriedade pode ser definida apenas durante a permissionProfile criação da piscina. Os valores permitidos são Inherit, CreatorOnlye SpecificAccounts.
CreatorOnly - O usuário que criou o Pool de DevOps Gerenciado é adicionado como administrador do pool de agentes do Azure DevOps e Inheritance é definido como Desativado nas configurações de segurança do pool de agentes. Creator é apenas a configuração padrão.
Inherit - O usuário que criou o Pool de DevOps Gerenciado é adicionado como administrador do pool de agentes do Azure DevOps e Inheritance é definido como Ativado nas configurações de segurança do pool de agentes.
SpecificAccounts - Especifique as contas a serem adicionadas como administradores do pool de agentes criado no Azure DevOps. Por padrão, o criador do Pool de DevOps Gerenciado é adicionado à lista. Forneça um único endereço de e-mail ou uma lista de endereços de e-mail para a users propriedade, caso contrário, omita users.
A propriedade pode ser definida apenas durante a permissionProfile criação da piscina. Os valores permitidos são Inherit, CreatorOnlye SpecificAccounts.
CreatorOnly - O usuário que criou o Pool de DevOps Gerenciado é adicionado como administrador do pool de agentes do Azure DevOps e Inheritance é definido como Desativado nas configurações de segurança do pool de agentes. Creator é apenas a configuração padrão.
Inherit - O usuário que criou o Pool de DevOps Gerenciado é adicionado como administrador do pool de agentes do Azure DevOps e Inheritance é definido como Ativado nas configurações de segurança do pool de agentes.
SpecificAccounts - Especifique as contas a serem adicionadas como administradores do pool de agentes criado no Azure DevOps. Por padrão, o criador do Pool de DevOps Gerenciado é adicionado à lista. Forneça um único endereço de e-mail ou uma lista de endereços de e-mail para a users propriedade, caso contrário, omita users.
Os Pools de DevOps Gerenciados oferecem a capacidade de buscar certificados de um Cofre de Chaves do Azure durante o provisionamento, o que significa que os certificados já existirão na máquina quando ela executar seus pipelines de DevOps do Azure. Para usar esse recurso, você deve configurar uma identidade em seu pool, e essa identidade deve ter permissões de Usuário de Segredos do Cofre de Chaves para buscar o segredo do Cofre de Chaves. Para atribuir sua identidade à função Usuário de Segredos do Cofre de Chaves, consulte Fornecer acesso a chaves, certificados e segredos do Cofre de Chaves com um controle de acesso baseado em função do Azure.
Nota
A partir de api-version 2024-10-19, se você usar esse recurso, só poderá usar uma única identidade no pool. O suporte para múltiplas identidades será adicionado em breve.
Apenas uma identidade pode ser usada para buscar segredos do Cofre de Chaves.
A integração do Key Vault está configurada em Settings > Security.
Nota
As configurações de integração do Cofre da Chave podem ser definidas somente após a criação do pool. As configurações de integração do Cofre de Chaves não podem ser definidas durante a criação do pool e não são exibidas na guia Segurança durante a criação do pool.
O Azure Key Vault é configurado na osProfile seção da fabricProfile propriedade. Defina o secretManagementSettings para poder acessar o certificado desejado.
O Azure Key Vault é configurado na osProfile seção da fabricProfile propriedade ao criar ou atualizar um pool. Defina o secretManagementSettings para poder acessar o certificado desejado.
az mdp pool create \
--fabric-profile fabric-profile.json
# other parameters omitted for space
O exemplo a seguir mostra a osProfile seção do arquivo fabric-profile.jsoncom secretsManagementSettingsconfigured.
Os certificados recuperados usando o SecretManagementSettings no seu pool serão sincronizados automaticamente com as versões mais recentes publicadas no Cofre da Chave. Esses segredos estarão na máquina no momento em que ela executar qualquer pipeline do Azure DevOps, o que significa que você pode economizar tempo e remover tarefas para buscar certificados.
Importante
O provisionamento de suas máquinas virtuais de agente falhará se o segredo não puder ser buscado no Cofre da Chave devido a um problema de permissão ou rede.
Para Windows, o Local de Armazenamento de Certificados pode ser definido como LocalMachine ou CurrentUser. Essa configuração garantirá que o segredo esteja instalado nesse local na máquina. Para obter um comportamento específico de como funciona a recuperação secreta, consulte a documentação da extensão Azure VMSS Key Vault para Windows.
Para Linux, o Local de Armazenamento de Certificados pode ser qualquer diretório na máquina, e os certificados serão baixados e sincronizados com esse local. Para obter detalhes sobre configurações padrão e comportamento secreto, consulte a documentação da extensão Azure VMSS Key Vault para Linux.