Definir permissões de repositório Git

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server | 2019 TFS 2018

Você concede ou restringe o acesso a repositórios para bloquear quem pode contribuir com seu código-fonte e gerenciar outros recursos. Você pode definir permissões em todos os repositórios Git fazendo alterações na entrada de repositórios Git de nível superior. Repositórios individuais herdam permissões da entrada de 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. Para obter 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 diretrizes sobre quem fornecer níveis de permissão maiores, consulte Conceder ou restringir o acesso usando permissões.

Pré-requisitos

Para contribuir com o código-fonte, você deve receber o nível de acesso básico ou superior. Os usuários que concederam acesso ao Stakeholder para projetos privados não têm acesso ao código-fonte. Os usuários que concederam acesso ao Stakeholder para projetos públicos têm o mesmo acesso que Colaboradores e aqueles que receberam acesso básico . Para saber mais, confira Sobre os níveis de acesso.

Para contribuir com o código-fonte, você deve receber o nível de acesso básico ou superior. Os usuários que receberam acesso ao Stakeholder não têm acesso ao código-fonte. Para saber mais, confira Sobre os níveis 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

Criar Administradores

administradores do Project


Ler (clonar, buscar e explorar o conteúdo de um repositório); também pode criar, comentar, votar e contribuir para 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

✔️

Forçar push (reescrever histórico, excluir branches e marcas)

✔️

Ignorar políticas ao concluir solicitações de pull
(não definido para nenhum grupo de segurança)

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


Abrir Segurança para um repositório

Defina permissões de repositório Git de Project Configurações> Repositories.

  1. Abra o portal da Web e escolha o projeto no qual você deseja adicionar usuários ou grupos. Para escolher outro projeto, consulte Switch project, repository, team.

  2. Abra Project settingsRepositories>.

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

    Por exemplo, aqui escolhemos (1) Project configurações, (2) Repositórios e, em seguida, (3) Segurança.

    Screenshot showing choosing Project settings>Repositories>Security.

  3. Caso contrário, para definir permissões para um repositório específico, escolha (1) o repositório e escolha (2) Segurança.

    Screenshot showing choosing Project settings>Choose a repository>Security.

Definir permissões para um repositório

Você pode conceder ou restringir o acesso a um repositório definindo o estado de permissão para 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 Switch project, repository, team.

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

    Por exemplo, aqui escolhemos (1) Project Configurações, (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 expandir. Escolha o close icon ícone fechar para fechar.

    Project Settings>Code>Repositories>Git repositories>Security

    Observação

    Talvez você não consiga encontrar um usuário de uma 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 Azure Active Directory ou ao Active Directory, pode haver um atraso entre o tempo em que ele é adicionado ao projeto e quando ele é pesquisável em um campo de identidade. O atraso pode ser entre 5 minutos e 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, depois de atualizar a página de permissões, o usuário ou grupo adicionado não será mais exibido.

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

  1. Abra o portal da Web e escolha o projeto no qual você deseja adicionar usuários ou grupos. Para escolher outro projeto, consulte Switch project, repository, team.

  2. Escolha o ícone de engrenagem para abrir o contexto administrativo.

    Open Project Settings, horizontal nav

  3. Escolha Controle de Versão.

  4. Para definir o conjunto de permissões para todos os repositórios Git para um projeto, (1) escolha Repositórios Git e, em seguida, (2) escolha o grupo de segurança cujas permissões você deseja gerenciar.

    Observação

    Talvez você não consiga encontrar um usuário de uma 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 Azure Active Directory ou ao Active Directory, pode haver um atraso entre o tempo em que ele é adicionado ao projeto e quando ele é pesquisável em um campo de identidade. O atraso pode ser entre 5 minutos e 7 dias.

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

  5. Escolha a configuração para a permissão que você deseja alterar.

    Aqui, concedemos permissões ao grupo Colaboradores para (3) Criar repositório.

    Security dialog for all Git repositories, Contributors group

  6. 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, você deve ter 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.

    Screenshot showing choosing Contributors group.

  2. Altere uma ou mais permissões. Para conceder permissões, altere Não Definir para Permitir. Para restringir permissões, altere Permitirnegar.

    Screenshot showing three permissions changed for the Contributors group.

  3. Quando terminar, navegue para longe 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, insira o nome do usuário no filtro de pesquisa e selecione entre as identidades que aparecem.

    Add user or group

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

    Observação

    Talvez você não consiga encontrar um usuário de uma 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 Azure Active Directory ou ao Active Directory, pode haver um atraso entre o tempo em que ele é adicionado ao projeto e quando ele é pesquisável a partir de um campo de identidade. O atraso pode ser entre 5 minutos e 7 dias.

  2. Quando terminar, navegue para longe 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 será mais exibido.

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

Isento de imposição de políticas e ignorar permissões de política

Há muitos cenários em que você tem a necessidade ocasional de ignorar uma política de branch. Por exemplo, ao reverter uma alteração que causou uma quebra de build ou a aplicação de um hotfix no meio da noite. Anteriormente, a permissão Isenta de imposição de políticas ajudava as equipes a gerenciar quais usuários receberam a capacidade de ignorar as 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 isenta de imposição de política para oferecer mais controle às equipes que estão concedendo permissões de bypass. 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 "Substituir" para solicitações de pull.
  • Ignorar políticas ao enviar push. Os usuários com essa permissão poderão enviar por push diretamente para branches que tenham as políticas necessárias configuradas.

Ao conceder a primeira permissão e negar a segunda, um usuário pode usar a opção de bypass quando necessário, mas ainda terá a proteção de enviar por push acidentalmente para um branch com políticas.

Observação

Essa alteração não introduz nenhuma alteração de comportamento. Os usuários que anteriormente receberam Permissão para Isenção da imposição de política recebem permissões para ambas as novas permissões, portanto, eles poderão substituir a conclusão em PRs e enviar por push diretamente para branches com políticas.