Partilhar via


Autenticação com o Azure Repos

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

Selecionar o método de autenticação correto é crucial para o acesso seguro aos repositórios Git do Azure Repos e do Azure DevOps Server. Quer esteja a trabalhar a partir de uma linha de comandos ou a utilizar um cliente Git que suporte HTTPS ou SSH, é importante escolher credenciais que não só forneçam o acesso necessário, mas também limitem o âmbito ao que é necessário para as suas tarefas.

Sempre revogue as credenciais quando elas não forem mais necessárias para manter a segurança dos seus repositórios. Essa abordagem garante que você tenha a flexibilidade de trabalhar com seu código de forma segura e eficiente, ao mesmo tempo em que o protege contra acesso não autorizado.

Mecanismos de autenticação

Tokens Microsoft Entra OAuth

Use Microsoft Entra para gerar tokens para acessar APIs REST. Os tokens Microsoft Entra podem ser usados sempre que os tokens de acesso pessoal forem usados. Aqui está uma dica útil sobre como obter um token de acesso único da CLI do Azure para chamar git fetch:

$accessToken = az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query "accessToken" --output tsv
git -c http.extraheader="AUTHORIZATION: bearer $accessToken" clone https://dev.azure.com/{yourOrgName}/{yourProjectName}/_git/{yourRepoName}

Dica

Em vez disso, examine o do Git Credential Manager (GCM) para evitar inserir suas credenciais sempre. Use o GCM com o tipo de credencial padrão como Oauth para gerar tokens do Microsoft Entra.

Tokens de acesso pessoal

Tokens de acesso pessoal (PATs) fornecem acesso ao Azure DevOps sem usar o seu nome de usuário e senha diretamente. Esses tokens expiram e permitem que você restrinja o escopo dos dados que eles podem acessar.

Use PATs para autenticar se você não tiver chaves SSH configuradas em seu sistema ou precisar limitar as permissões concedidas pela credencial.

As interações do Git exigem um nome de usuário, que pode ser qualquer coisa, exceto uma cadeia de caracteres vazia. Para utilizar uma PAT com autenticação básica HTTP, Base64-encode o seu $MyPat conforme mostrado no bloco de código seguinte.

No PowerShell, insira o código a seguir.

$MyPat = 'yourPat'
$headerValue = "Authorization: Basic " + [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes(":" + $MyPat))
$env:GIT_AUTH_HEADER = $headerValue

git --config-env=http.extraheader=GIT_AUTH_HEADER clone https://dev.azure.com/yourOrgName/yourProjectName/_git/yourRepoName

Dica

Se você estiver usando PATs regularmente, verifique o Git Credential Manager (GCM) em vez disso para evitar inserir suas credenciais sempre. Melhor ainda, explore o uso do GCM com o tipo de credencial padrão como Oauth para gerar tokens do Microsoft Entra em vez de PATs sempre que possível.

Chaves SSH

A autenticação de chave com SSH funciona através de um par de chaves públicas e privadas que você cria no seu computador. Você associa a chave pública ao seu nome de usuário da Web. O Azure DevOps criptografará os dados enviados a você com essa chave quando você trabalhar com o Git. Desencripta os dados no seu computador com a chave privada, que nunca é partilhada ou enviada através da rede.

GIF animado mostrando a adição de uma chave pública SSH ao Azure DevOps

O SSH é uma ótima opção se você já o tiver configurado em seu sistema — basta adicionar uma chave pública ao Azure DevOps e clonar seus repositórios usando SSH. O SSH pode ser preferido por utilizadores de Linux, macOS, ou Windows que utilizam Git para Windows e que não conseguem usar gestores de credenciais Git ou tokens de acesso pessoal para autenticação HTTPS.

Para obter mais informações, consulte Configurar SSH com o Azure DevOps.

Use o Git Credential Manager para gerar tokens

Use o Git Credential Manager (GCM) para evitar inserir suas credenciais toda vez e manter seu token mais seguro ao acessar o Azure Repos. Entre no portal da Web, gere um token e use o token como sua senha quando estiver se conectando ao Azure Repos. Os tokens ou PATs do Microsoft Entra são gerados sob demanda quando você tem o gerenciador de credenciais instalado e salvo localmente para uso com a linha de comando do Git ou outro cliente.

Repositórios existentes

  • Remover origem existente: Se você adicionou anteriormente a origem usando um nome de usuário, remova-a executando o seguinte comando:

    git remote remove origin

  • Autenticar com um PAT: Se você encontrar problemas com a autenticação padrão, execute o seguinte comando para autenticar através da linha de comando:

    git remote add origin https://dev.azure.com/<PAT>@<company_machineName>:/<project-name>/_git/<repo_name>

    git push -u origin --all

    O path to git repo = /_git/do refere-se à estrutura de caminho de URL usada no Azure DevOps para repositórios Git. O segmento /_git/ indica que você está acessando um repositório Git e deve substituído pelo nome real do repositório. Por exemplo, se o repositório tiver o nome my-repo, o caminho será '/_git/my-repo'.

  • Repositório de clones: Se você estiver usando o Git e precisar autenticar, execute o seguinte comando:

    git clone https://{organization}@dev.azure.com/{organization}/_git/{repository}

    Substitua {organization} pelo nome da organização do Azure DevOps e {repository} pelo nome do repositório.