Definir permissões do repositório Git

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

Gerencie o acesso a repositórios para limitar quem pode contribuir com o código-fonte e gerenciar outros recursos. É possível definir permissões em todos os repositórios Git fazendo alterações na entrada Repositórios Git de nível superior. Repositórios individuais herdam permissões da entrada Repositórios Git de nível superior.

Observação

Os branches herdam um subconjunto de permissões de atribuições feitas no nível do repositório. Em relação às permissões e políticas de branch, consulte Definir permissões de branch e Melhorar a qualidade do código com políticas de branch.

Para obter orientação sobre a quem fornecer níveis de permissão maiores, consulte Gerenciar o acesso usando permissões.

Pré-requisitos

Para contribuir com o código-fonte, você deve ter o nível de acesso Básico ou superior. Os usuários com acesso de Stakeholder em projetos privados não possuem acesso ao código-fonte. Os usuários com acesso de Stakeholder em projetos públicos possuem o mesmo acesso que os Colaboradores e os usuários com acesso Básico. Saiba mais em Sobre nível de acesso.

Para contribuir com o código-fonte, você deve ter o nível de acesso Básico ou superior. Os usuários com acesso de Stakeholder não têm acesso ao código-fonte. Saiba mais em Sobre nível de acesso.

Permissões de repositório padrão

Por padrão, os membros do grupo Colaboradores do projeto têm permissões para contribuir com um repositório. Isso inclui a capacidade de criar branches, criar marcas e gerenciar anotações. Para obter uma descrição de cada grupo de segurança e nível de permissão, consulte Permissões e referência de grupo.

Permissão

Leitores

Colaboradores

Administradores de Build

Administradores de projeto


Ler (clonar, buscar e explorar o conteúdo de um repositório); também pode criar, comentar, votar e Contribuir em solicitações de pull

✔️

✔️

✔️

✔️

Contribuir, Criar branches, Criar marcas e Gerenciar anotações

✔️

✔️

✔️

Criar repositório, Excluir repositório e Renomear repositório

✔️

Editar políticas, Gerenciar permissões, Remover bloqueios de outras pessoas

✔️

Ignorar políticas ao concluir solicitações de pull, Ignorar políticas ao enviar por push, Forçar push (histórico de reescrita, excluir branches e marcas)
(não definido para nenhum grupo de segurança)


A partir do Azure DevOps sprint 224 (Azure DevOps Services e Azure DevOps Server 2022.1 e versões superiores), a permissão Editar políticas não é mais concedida automaticamente aos criadores do branch. Anteriormente, quando você criava um novo branch, recebia permissão para editar as políticas dele. Com essa atualização, alteramos o comportamento padrão para não conceder essa permissão, mesmo se a configuração Gerenciamento de permissões estiver ativada no repositório. Você precisará ter a permissão Editar políticas concedida explicitamente (de modo manual ou por meio da API REST) por herança de permissão de segurança ou por meio da associação a um grupo.

Abrir a Segurança para um repositório

Você define as permissões dos repositórios Git em Configurações do projeto>Repositórios.

  1. Abra o portal da Web e escolha o projeto no qual você deseja adicionar usuários ou grupos. Para escolher outro projeto, consulte Alternar projeto, repositório, equipe.

  2. Abra Configurações do projeto>Repositórios.

    Para definir as permissões para todos os repositórios Git, selecione Segurança.

    Por exemplo, aqui escolhemos (1) Configurações do projeto, (2) Repositórios e depois (3) Segurança.

    Captura de tela mostrando a escolha das Configurações do projeto>Repositórios>Segurança.

  3. Além disso, para definir as permissões para um repositório específico, escolha (1) o repositório e, em seguida, selecione (2) Segurança.

    Captura de tela mostrando a escolha das Configurações do projeto>Escolher um repositório>Segurança.

Definir permissões para um repositório

Você pode gerenciar o acesso a um repositório definindo o estado de permissão como Permitir ou Negar para um único usuário ou um grupo de segurança.

  1. Abra o portal da Web e escolha o projeto no qual você deseja adicionar usuários ou grupos. Para escolher outro projeto, consulte Alternar projeto, repositório, equipe.

  2. Para definir as permissões para todos os repositórios Git de um projeto, escolha Repositórios Git e depois escolha o grupo de segurança cujas permissões você deseja gerenciar.

    Por exemplo, aqui escolhemos (1) Configurações do Projeto, (2) Repositórios, (3) repositórios Git, (4) o grupo Colaboradores e , em seguida, (5) a permissão para Criar repositório.

    Para ver a imagem completa, clique na imagem para expandi-la. Escolha o ícone de fechamento para fechar.

    Configurações doprojeto>Código>Repositórios>Repositórios Git>Segurança

    Observação

    Talvez você não consiga encontrar um usuário na página de permissões ou de um campo de identidade se o usuário não tiver sido adicionado ao projeto, seja adicionando-o a um grupo de segurança ou a uma equipe de projeto. Além disso, quando um usuário é adicionado ao Microsoft Entra ID ou ao Active Directory, pode haver um atraso entre o momento em que ele é adicionado ao projeto e quando ele se torna pesquisável em um campo de identidade. O atraso pode se estender de 5 minutos a 7 dias.

    Caso contrário, escolha um repositório específico e escolha o grupo de segurança cujas permissões você deseja gerenciar.

    Observação

    Se você adicionar um usuário ou grupo e não alterar nenhuma permissão para esse usuário ou grupo, após a atualização da página de permissões, o usuário ou grupo adicionado não aparecerá mais.

  3. Quando terminar, escolha Salvar alterações.

Alterar permissões para um grupo de segurança

Para definir permissões para um grupo de segurança personalizado, é obrigatório que você tenha definido esse grupo anteriormente. Consulte Definir permissões no nível do projeto.

  1. Para definir permissões para um grupo específico, escolha o grupo. Por exemplo, aqui, escolhemos o grupo Colaboradores.

    Captura de tela mostrando a escolha do grupo Colaboradores.

  2. Altere uma ou mais permissões. Para conceder permissões, substitua Não Definido por Permitir. Para restringir permissões, substitua Permitir por Negar.

    Captura de tela mostrando três permissões alteradas para o grupo Colaboradores.

  3. Quando terminar, saia da página. As alterações de permissão são salvas automaticamente para o grupo selecionado.

Definir permissões para um usuário específico

  1. Para definir permissões para um usuário específico, digite o nome dele no filtro de pesquisa e selecione uma das identidades exibidas.

    Adicionar Usuário ou Grupo

    Em seguida, faça as alterações no conjunto de permissões.

    Observação

    Talvez você não consiga encontrar um usuário na página de permissões ou de um campo de identidade se o usuário não tiver sido adicionado ao projeto, seja adicionando-o a um grupo de segurança ou a uma equipe de projeto. Além disso, quando um usuário é adicionado ao Microsoft Entra ID ou ao Active Directory, pode haver um atraso entre o momento em que ele é adicionado ao projeto e quando ele se torna pesquisável em um campo de identidade. O atraso pode se estender de 5 minutos a 7 dias.

  2. Quando terminar, saia da página. As alterações de permissão são salvas automaticamente para o grupo selecionado.

Observação

Se você adicionar um usuário ou grupo e não alterar nenhuma permissão para esse usuário ou grupo, após a atualização da página de permissões, o usuário ou grupo adicionado não aparecerá mais.

Habilitar ou desabilitar a herança de um repositório específico

Isentar do cumprimento de políticas e ignorar permissões de política

Há muitos cenários em que você ocasionalmente necessitará ignorar alguma política de branch. Por exemplo, ao reverter uma alteração que causou dano ao build ou aplicar um hotfix no meio da noite. Anteriormente, a permissão Isentar de cumprimento de política ajudava as equipes a gerenciar a quais usuários era concedida a capacidade de ignorar políticas de branch ao concluir uma solicitação de pull. No entanto, essa permissão também concedeu a capacidade de enviar por push diretamente para o branch, ignorando totalmente o processo de PR.

Para melhorar essa experiência, dividimos a permissão Isentar de cumprimento de política para oferecer mais controle às equipes que concedem permissões para contornar requisitos. As duas permissões a seguir substituem a permissão anterior:

  • Ignorar políticas ao concluir solicitações de pull. Os usuários com essa permissão poderão usar a experiência de "Substituição" nas solicitações de pull.
  • Ignorar políticas ao enviar por push. Os usuários com essa permissão poderão efetuar pushes diretamente para os branches que tenham as políticas necessárias configuradas.

Ao conceder a primeira permissão e negar a segunda, o usuário pode usar a opção de bypass quando necessário, mas ainda terá a proteção contra pushes acidentais nos branches com políticas.

Observação

Essa alteração não introduz nenhuma alteração de comportamento. Os usuários que anteriormente receberam a opção Permitir em relação a Isentar de cumprimento de política recebem a opção Permitir em relação a ambas as novas permissões, para que eles possam substituir a conclusão nas PRs e efetuar push diretamente nos branches com políticas.