Compartilhar via


Sobre funções de segurança de pipeline

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

O Azure DevOps gerencia a segurança para pipelines de build e lançamento e grupos de tarefas usando permissões baseadas em tarefas. Vários recursos de pipeline usam permissões baseadas em função, que você pode atribuir a usuários ou grupos. Cada função define as operações que um usuário pode executar dentro do contexto de recursos de pipeline específicos.

As permissões baseadas em função se aplicam a todos os recursos de um tipo específico em um projeto, organização ou coleção. Recursos individuais herdam permissões de configurações no nível do projeto, mas você pode desabilitar a herança para artefatos específicos quando precisar de um controle mais granular.

Noções básicas sobre funções de segurança versus permissões

O Azure DevOps usa dois modelos de segurança primários:

  • Segurança baseada em função: funções predefinidas com conjuntos específicos de permissões para recursos de pipeline
  • Segurança baseada em permissão: permissões granulares que você pode atribuir individualmente

As funções de segurança fornecem uma maneira simplificada de gerenciar cenários de permissão comuns, enquanto as permissões individuais oferecem controle mais detalhado quando necessário.

Atribuições de função padrão

Por padrão, todos os colaboradores do projeto se tornam membros da função Usuário para cada fila hospedada. Essa função permite que eles criem e executem pipelines de build e lançamento usando filas hospedadas, fornecendo produtividade imediata para os membros da equipe.

O sistema atribui automaticamente essas funções padrão quando:

  • Você cria um novo projeto
  • Usuários ingressam no grupo Colaboradores do projeto
  • Você adiciona novos recursos de pipeline

Direitos de acesso do pool de agentes, nível de projeto

Você pode adicionar usuários a direitos de acesso no contexto de administrador no nível do projeto na página Pools de Agentes . Para obter informações sobre como adicionar e gerenciar pools de agentes, consulte Pools de agentes.

Navegação: Configurações do Projeto → Pipelines → Pools de Agente

Função (nível do projeto) Descrição
Leitor Vista a piscina. Normalmente, adicione operadores a essa função para monitorar trabalhos de build e implantação no pool.
Usuário Exiba e use o pool ao criar pipelines de build ou lançamento.
Criador Crie e use o pool ao criar pipelines de build ou lançamento.
Administrador Gerencie a associação para todas as funções do pool e exiba e use os pools. O usuário que criou um pool é adicionado automaticamente à função Administrador desse pool.

Gerencie a segurança de todos os pools de agentes de projeto na guia Segurança . As associações de função para pools de agentes de projeto individuais herdam automaticamente dessas funções.

Por padrão, os seguintes grupos são adicionados à função Administrador de 'Todos os pools de agentes':

  • Administradores de Compilação
  • Administradores de versão
  • Administradores de Projeto.

Gerencie as configurações de função de um pool de agentes do projeto na página Pools>projeto.

  • Para definir permissões para todos os pools dentro do projeto, selecione Segurança, adicione um usuário e escolha sua função.
  • Para definir permissões para um pool específico, selecione o pool e, em seguida , Segurança. Em Permissões de pipeline, exiba quais pipelines têm acesso ao pool. Permitir explicitamente um pipeline usando o + botão ou permitir todos os pipelines usando o botão. Em Permissões de usuário, adicione um usuário ou grupo e escolha sua função.

Cenários comuns para funções de pool de agentes no nível do projeto

  • Função de usuário: desenvolvedores que precisam executar builds e versões
  • Função de leitor: Partes interessadas que precisam de visibilidade sobre a situação da fila
  • Função de administrador: engenheiros de DevOps que gerenciam a configuração do pool

Direitos de acesso do pool de agentes, nível de organização ou coleção

Adicione usuários aos seguintes direitos de acesso na página Pools>organização. Para obter informações sobre como adicionar e gerenciar pools de agentes, consulte Pools de agentes.

Navegação: Configurações da organização → Pipelines → pools de agentes

Função (nível da organização) Descrição
Leitor Visualize o pool e os agentes. Normalmente, adicione operadores a essa função para monitorar os agentes e sua integridade.
Conta de Serviço Use o pool para criar um agente em um projeto. Seguir as diretrizes para criar novos pools geralmente significa que você não precisa adicionar membros a essa função.
Administrador Registre ou cancele o registro de agentes do pool, gerencie a associação de todos os pools e visualize e crie pools. Use o pool de agentes ao criar um agente em um projeto. O sistema adiciona automaticamente o usuário que criou o pool à função Administrador desse pool.

Gerencie as configurações de função para pools de agentes no nível da organização ou da coleção na página Pools>da organização.

  • Para definir permissões para todos os pools dentro da organização ou coleção, selecione Segurança, adicione um usuário ou grupo e escolha sua função.
  • Para definir permissões para um pool específico, selecione o pool e, em seguida , Segurança. Adicione um usuário ou grupo e escolha sua função.

Permissões no nível da organização versus no nível do projeto

Controle de funções no nível da organização:

  • Criação e exclusão do pool
  • Instalação e configuração do agente
  • Compartilhamento de pool entre projetos

Controle de funções no nível do projeto:

  • Uso do pool em projetos específicos
  • Permissões de execução de pipeline
  • Acesso para monitoramento de filas

Direitos de acesso do grupo de implantação

Adicione usuários às seguintes funções na página Pipelines ou Build and Release . Para obter informações sobre como adicionar e gerenciar grupos de implantação, consulte Grupos de implantação.

Navegação: Configurações do projeto → Pipelines → Grupos de implantação

Função Descrição
Leitor Exibir grupos de implantação.
Criador Exibir e criar grupos de implantação.
Usuário Exibir e usar grupos de implantação, mas não pode gerenciá-los ou criá-los.
Administrador Administre funções, gerencie, exiba e use grupos de implantação.

Casos de uso de funções do grupo de implantação

  • Administrador: configurar destinos de implantação e gerenciar configurações de grupo
  • Usuário: Implantar aplicativos em ambientes de destino
  • Leitor: Monitorar o status da implantação e exibir o histórico de implantação

Funções de segurança do pool de implantação

Adicione usuários às seguintes funções na página Pools de Implantação . Para obter informações sobre como criar e gerenciar pools de implantação, consulte Grupos de implantação.

Navegação: Configurações da Organização → Pipelines → Pools de Implantação

Função Descrição
Leitor Exibir pools de implantação.
Conta de Serviço Visualize agentes, crie sessões e ouça trabalhos do pool de agentes.
Usuário Exibir e usar o pool de implantação para criar grupos de implantação.
Administrador Administre, gerencie, exiba e use pools de implantação.

Pools de implantação versus grupos de implantação

  • Pools de implantação: recurso no nível da organização que você pode compartilhar entre projetos
  • Grupos de implantação: coleção específica do projeto de destinos de implantação

Direitos de acesso de ativos de biblioteca: grupos de variáveis e arquivos seguros

Adicione usuários a uma função de biblioteca de Pipelines ou Build and Release. Para obter mais informações sobre como usar esses ativos de biblioteca, consulte Grupos de variáveis e arquivos seguros.

Navegação: Configurações do projeto → Pipelines → Biblioteca

Função Descrição
Administrador Edite, exclua e gerencie a segurança para ativos de biblioteca. O criador de um ativo recebe automaticamente essa função para o ativo.
Criador Crie ativos de biblioteca.
Leitor Leia os ativos da biblioteca.
Usuário Consuma ativos de biblioteca em pipelines.

Práticas recomendadas de segurança de biblioteca

  • Limitar o acesso do administrador: conceda apenas a função de Administrador aos usuários que precisam gerenciar ativos de biblioteca
  • Usar a função Leitor para visibilidade: atribuir a função leitor a usuários que precisam ver ativos disponíveis
  • Proteger dados confidenciais: usar funções apropriadas para grupos de variáveis que contêm segredos
  • Auditorias regulares: revise periodicamente as permissões de acesso à biblioteca

Direitos de acesso de conexão de serviço

Adicione usuários às seguintes funções na página Serviços . Para obter informações sobre como criar e gerenciar esses recursos, consulte Conexões de serviço para build e versão.

Navegação: configurações do projeto → conexões de serviço

Função Descrição
Usuário Use o ponto de extremidade ao criar pipelines de build ou lançamento.
Administrador Gerencie a associação de todas as outras funções para a conexão de serviço e use o ponto de extremidade para criar pipelines de build ou lançamento. O sistema atribui automaticamente o usuário que criou a conexão de serviço à função de Administrador para esse pool.

Considerações de segurança de conexão de serviço

As conexões de serviço geralmente contêm credenciais confidenciais e exigem um gerenciamento cuidadoso de permissões:

  • Função de administrador: para engenheiros do DevOps que configuram integrações de serviços externos
  • Função de usuário: para autores de pipeline que precisam usar conexões existentes
  • Função de leitor: Para membros da equipe que precisam de visibilidade das conexões disponíveis
  • Função de criador: para usuários autorizados que podem estabelecer novas conexões de serviço

Gerenciando atribuições de função

Práticas recomendadas para o gerenciamento de funções

  1. Princípio de privilégio mínimo: atribuir a função mínima necessária para que os usuários executem suas tarefas
  2. Usar grupos sobre indivíduos: atribuir funções a grupos do Microsoft Entra em vez de usuários individuais quando possível
  3. Revisão regular: auditar periodicamente as atribuições de função para garantir que elas permaneçam apropriadas
  4. Atribuições de documento: manter a documentação de quem tem quais funções e por quê

Padrões comuns de atribuição de função

Tipo de usuário Funções típicas Lógica
Desenvolvedores Funções de usuário em recursos de pipeline É necessário executar pipelines e acessar recursos
Engenheiros de DevOps Funções de administrador para recursos de infraestrutura Gerenciar e configurar a infraestrutura de pipeline
Gerentes de Projeto Funções de leitor para visibilidade Monitorar o progresso sem fazer alterações
Empreiteiros externos Funções de usuário limitadas com escopo específico Acesso restrito com base nas necessidades do projeto

Solução de problemas de permissões baseadas em função

Problemas comuns e soluções

Problema Causa possível Solução
O usuário não pode acessar o recurso de pipeline Ausência de atribuição de papel Verificar e atribuir a função apropriada
O usuário tem muito acesso Atribuição de função com privilégios excessivos Examinar e reduzir permissões de função
Permissões inconsistentes entre projetos Atribuições de função diferentes por projeto Padronizar atribuições de função em toda a organização
Problemas de conta de serviço Funções de conexão de serviço ausentes Verifique se as contas de serviço têm funções necessárias

Etapas de verificação

  1. Verificar herança: verificar se as permissões são herdadas de níveis mais altos
  2. Revisar a associação de grupo: confirmar as associações de grupo do usuário e as funções associadas
  3. Permissões de auditoria: usar relatórios de segurança do Azure DevOps para examinar as atribuições atuais
  4. Acesso de teste: fazer com que os usuários testem cenários específicos para verificar se as permissões funcionam corretamente

Integração com a ID do Microsoft Entra

Quando sua organização usa a integração do Microsoft Entra ID:

  • Atribuições baseadas em grupo: atribuir funções a grupos de ID do Microsoft Entra para facilitar o gerenciamento
  • Acesso condicional: as políticas de acesso condicional da ID do Microsoft Entra se aplicam ao acesso ao Azure DevOps
  • Governança de identidade: use as revisões de acesso do Microsoft Entra ID para auditar atribuições de função
  • Considerações do usuário convidado: os usuários externos podem precisar de atribuições de função específicas