Utilizar tokens de acesso pessoal
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Um Token de Acesso Pessoal (PAT) serve como uma senha alternativa para autenticação no Azure DevOps. Esta PAT identifica-o e determina a sua acessibilidade e âmbito de acesso. Portanto, trate os PATs com o mesmo nível de cuidado que as senhas.
Importante
Recomendamos o uso tokens do Microsoft Entra. Para mais informações sobre os nossos esforços para reduzir a utilização da PAT, consulte o nosso blogue . Reveja as nossas orientações de autenticação para escolher o mecanismo de autenticação adequado às suas necessidades.
Quando utiliza ferramentas Microsoft, a sua conta Microsoft (MSA) ou ID Microsoft Entra é reconhecida e suportada. Se você usa ferramentas que não suportam contas do Microsoft Entra ou não deseja compartilhar suas credenciais principais, os PATs podem ser uma alternativa adequada. No entanto, recomendamos o uso de tokens Microsoft Entra sobre PATs sempre que possível.
Você pode gerenciar PATs através dos seguintes métodos:
- Interface do usuário (UI): Através das configurações do usuário, conforme detalhado neste artigo.
- APIs de Gestão do Ciclo de Vida da PAT
- gerentes de credenciais do Git para operações do Git. Os gerentes de credenciais facilitam o gerenciamento de tokens. Sem um, os usuários devem inserir suas credenciais a cada vez.
Pré-requisitos
-
Permissões:
- Tenha permissão para acessar e modificar suas configurações de usuário onde os PATs são gerenciados.
-
Verificar permissões: para verificar suas permissões, execute um dos seguintes processos no Azure DevOps:
- Aceda ao seu perfil e selecione Definições de>utilizador Tokens de acesso pessoal. Se você pode ver e gerenciar seus PATs aqui, você tem as permissões necessárias.
- Vá para o seu projeto e selecione Configurações do projeto>Permissões. Encontre sua conta de usuário na lista e verifique as permissões atribuídas a você. Procure permissões relacionadas ao gerenciamento de tokens ou configurações do usuário.
-
Verificar permissões: para verificar suas permissões, execute um dos seguintes processos no Azure DevOps:
- Se a sua organização tiver políticas em vigor, um Administrador de DevOps do Azure poderá ter de lhe conceder permissões específicas ou adicioná-lo a uma lista de permissões para criar e gerir PATs.
- Os PATs estão ligados à conta do utilizador que criou o token. Dependendo das tarefas que a PAT executa, poderá precisar de mais permissões.
- Tenha permissão para acessar e modificar suas configurações de usuário onde os PATs são gerenciados.
- Níveis de acesso: Ter pelo menos acesso básico.
- Práticas recomendadas de segurança: Familiarize-se com práticas recomendadas de segurança para gerenciar PATs. Utilize-os apenas quando necessário e rode-os regularmente.
Criar uma PAT
Inicie sessão na sua organização (
https://dev.azure.com/{Your_Organization}
).Na sua página inicial, abra as configurações do usuário e selecione Tokens de acesso pessoal.
Selecione + Novo Token.
Nomeie seu token, selecione a organização onde você deseja usar o token e defina seu token para expirar automaticamente após um número definido de dias.
Selecione os escopos para este token a autorizar para suas tarefas específicas.
Por exemplo, para criar um token para que um agente de compilação e liberação se autentique no Azure DevOps, defina o escopo do token como Pools de Agentes (Ler & gerenciar). Para ler eventos de log de auditoria e gerenciar ou excluir fluxos, selecione Ler Log de Auditoria e selecione Criar.
Nota
Você pode ser impedido de criar PATs com escopo completo. Nesse caso, o Administrador do Azure DevOps no Microsoft Entra ID ativou uma política que limita o utilizador a um conjunto específico de âmbitos personalizados. Para obter mais informações, consulte Gerenciar PATs com políticas/Restringir a criação de PATs com escopo completo. Para um PAT personalizado, o escopo necessário para acessar a API de Governança de Componentes,
vso.governance
, não pode ser selecionado na interface do usuário.Quando terminar, copie o token e armazene-o em um local seguro. Para sua segurança, ele não é exibido novamente.
Use sua PAT em qualquer lugar em que suas credenciais de usuário sejam necessárias para autenticação no Azure DevOps.
Importante
- Trate uma PAT com o mesmo cuidado que a sua palavra-passe e mantenha-a confidencial.
- Inicie sessão com a sua nova PAT no prazo de 90 dias para organizações apoiadas pelo Microsoft Entra ID; caso contrário, a PAT fica inativa. Para obter mais informações, consulte Frequência de entrada do usuário para acesso condicional.
Notificações
Durante a vida útil de um PAT, os usuários recebem duas notificações: a primeira no momento da criação e a segunda sete dias antes de sua expiração.
Depois de criar um PAT, você recebe uma notificação semelhante ao exemplo a seguir. Esta notificação serve como confirmação de que a sua PAT foi adicionada com êxito à sua organização.
A imagem seguinte mostra um exemplo da notificação de sete dias antes de a PAT expirar.
Para obter mais informações, consulte Configurar um servidor SMTP e personalizar emails para alertas e solicitações de feedback.
Notificação inesperada
Se receber uma notificação PAT inesperada, isso pode significar que um administrador ou ferramenta criou uma PAT para si. Eis alguns exemplos:
- Um token chamado "git:
https://dev.azure.com/{Your_Organization}
on YourMachine" é criado quando você se conecta a um repositório Git do Azure DevOps via git.exe. - Um token chamado "Ganchos de Serviço: Serviço de Aplicativo do Azure: Implantar aplicativo Web" é criado quando você ou um administrador configura uma implantação de aplicativo Web do Serviço de Aplicativo do Azure.
- Um token chamado "WebAppLoadTestCDIntToken" é criado quando o teste de carga da Web é configurado como parte de um pipeline por você ou um administrador.
- Um token chamado "Integração do Microsoft Teams" é criado quando uma Extensão de Mensagens de Integração do Microsoft Teams é configurada.
Aviso
- Revogue o PAT (e altere a sua palavra-passe) se suspeitar que ele existe por engano.
- Verifique com o administrador se você é um usuário do Microsoft Entra para ver se uma fonte ou local desconhecido acessou sua organização.
- Consulte as Perguntas frequentes sobre check-ins acidentais da PAT em repositórios públicos do GitHub.
Utilizar uma PAT
O seu PAT serve como a sua identidade digital, tal como uma palavra-passe. Você pode usar PATs como uma maneira rápida de fazer solicitações pontuais ou prototipar um aplicativo localmente.
Importante
Quando seu código está funcionando, é um bom momento para mudar de autenticação básica para Microsoft Entra OAuth. Você pode usar tokens de ID do Microsoft Entra em qualquer lugar onde uma PAT seja usada, a menos que especificado mais detalhadamente neste artigo.
Pode utilizar uma PAT no seu código para autenticar APIs REST pedidos e automatizar fluxos de trabalho. Para tal, inclua a PAT no cabeçalho de autorização dos seus pedidos HTTP.
Para fornecer a PAT através de um cabeçalho HTTP, primeiro converta-a numa Base64
cadeia de caracteres. O exemplo a seguir mostra como converter para Base64
usar C#.
Authorization: Basic BASE64_USERNAME_PAT_STRING
A cadeia de caracteres resultante pode ser fornecida como um cabeçalho HTTP no seguinte formato.
O exemplo a seguir usa a classe HttpClient em C#.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Gorjeta
Quando você estiver usando variáveis, adicione um $
no início da cadeia de caracteres, como no exemplo a seguir.
public static async void GetBuilds()
{
try
{
var personalaccesstoken = "PATFROMWEB";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Add(
new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(
System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "", personalaccesstoken))));
using (HttpResponseMessage response = client.GetAsync(
$"https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=5.0").Result)
{
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Mais alguns exemplos de como usar PATs podem ser encontrados nos seguintes artigos:
- Autentique-se com seus repositórios Git
- Configurar gerenciadores de credenciais Git (GCM) para se conectar com repositórios Git
- Usar o NuGet em um Mac
- Autenticar clientes de relatórios
- Introdução à CLI do Azure DevOps
Modificar uma PAT
Siga os seguintes passos para:
- Regenere uma PAT para criar um novo token, que invalida o anterior.
- Prolongar um PAT para aumentar o seu período de validade.
- Alterar o âmbito de uma PAT para alterar as suas permissões.
Na página inicial, abra as configurações do usuário e selecione Perfil.
Em Segurança, selecione Tokens de acesso pessoal. Selecione o token que deseja modificar e, em seguida , Editar.
Edite o nome do token, a expiração do token ou o escopo de acesso associado ao token e selecione Salvar.
Revogar uma PAT
Pode revogar uma PAT a qualquer momento por estes e outros motivos:
- Revogue um Token de Acesso Pessoal (PAT) se suspeitar que está comprometido.
- Revogue uma PAT quando já não for necessária.
- Revogar uma PAT para aplicar políticas de segurança ou requisitos de conformidade.
Na página inicial, abra as configurações do usuário e selecione Perfil.
Em Segurança, selecione Tokens de acesso pessoal. Selecione o token para o qual pretende revogar o acesso e, em seguida, selecione Revogar.
Selecione Revogar na caixa de diálogo de confirmação.
Para obter mais informações, consulte Revogar PATs de usuário para administradores.
Alterações ao formato
A partir de julho de 2024, alteramos significativamente o formato dos PATs emitidos pelo Azure DevOps. Estas alterações proporcionam mais benefícios de segurança e melhoram as ferramentas de deteção de segredos disponíveis através das nossas ferramentas de deteção PAT vazadas ou ofertas de parceiros . Este novo formato PAT segue o formato recomendado em todos os produtos Microsoft. A inclusão de bits mais identificáveis melhora a taxa de deteção de falsos positivos dessas ferramentas de deteção secretas e nos permite mitigar vazamentos detetados mais rapidamente.
Principais alterações:
- Maior comprimento do token: Os novos tokens agora têm 84 caracteres, com 52 caracteres sendo dados aleatórios. Esse aumento de comprimento melhora a entropia geral, tornando os tokens mais resistentes a possíveis ataques de força bruta.
-
Assinatura fixa: Os tokens emitidos pelo nosso serviço incluem uma assinatura fixa
AZDO
nas posições 76-80.
Ação necessária:
- Regenerar PATs existentes: é altamente recomendável regenerar todos os PATs atualmente em uso para aproveitar esses aprimoramentos de segurança.
- Suporte ao integrador: os integradores devem atualizar seus sistemas para acomodar os comprimentos de token novos e existentes.
Importante
Ambos os formatos permanecem válidos no futuro próximo, mas encorajamos ativamente os clientes a fazer a transição para o novo formato de 84 caracteres. À medida que a adoção do novo formato aumenta, consideramos aposentar o formato antigo de 52 caracteres e todos os tokens emitidos nesse estilo.
Práticas recomendadas para o uso de PATs
Considere alternativas
- Adquira um token do Microsoft Entra através da CLI do Azure para solicitações ad-hoc que durem uma hora, em vez de gerar um PAT de duração mais longa.
- Use gerenciadores de credenciais como Git Credential Manager ou Azure Artifacts Credential Manager para simplificar o gerenciamento de credenciais. Essas ferramentas podem oferecer opções para usar tokens do Microsoft Entra como autenticação padrão em vez de usar PATs.
Criação de PATs
- Evite colocar dados pessoais no nome PAT. Não renomeie a cadeia de caracteres do token PAT como o nome do seu token.
- Selecione apenas a organização à qual a PAT precisa de aceder se não precisar de aceder a várias organizações. Para fluxos de trabalho que exigem acesso a várias organizações, crie uma PAT global separada para esse fluxo de trabalho.
- Escolha apenas os escopos necessários para cada PAT. Se possível, crie vários PATs para cada fluxo de trabalho com menos escopos em vez de um único PAT com escopo completo. Se a sua PAT só precisar de permissões de leitura, não lhe forneça permissões de escrita até que seja necessário.
- Mantenha a duração da PAT curta (semanalmente é o ideal, ainda mais curto é melhor) e alterne-as ou regenere-as regularmente através da interface do utilizador ou das APIs de Gestão do Ciclo de Vida da PAT.
Gestão de PATs
- Armazene sempre os seus PATs numa solução segura de gestão de chaves, como o Azure KeyVault.
- Revogue os PATs quando eles não forem mais necessários. Os administradores de locatários podem revogar os PATs para os utilizadores da sua organização caso o PAT esteja comprometido.
- Rode os seus PATs para utilizar o novo formato PAT para uma melhor deteção e revogação de segredos vazados pelas nossas ferramentas originais.
Para administradores
Os administradores de inquilinos podem definir políticas para restringir a criação global de Tokens de Acesso Pessoal (PAT), a criação de PAT com escopo completo e a duração de longo prazo dos PAT. Eles também podem permitir que as políticas revoguem automaticamente os PATs detetados como vazados em repositórios públicos. Utilize estas políticas para melhorar a segurança da sua empresa.
FAQs
P: Por que não consigo editar ou regenerar uma PAT com escopo para uma única organização?
Inicie sessão na organização onde o âmbito do seu PAT está definido. Você pode ver todos os seus PATs enquanto estiver ligado a qualquer organização na mesma identificação do Microsoft Entra, mas só pode editar tokens limitados ao âmbito da organização quando estiver ligado à organização específica.
P: O que acontece a uma PAT se uma conta de utilizador estiver desativada?
R: Quando um usuário é removido do Azure DevOps, a PAT é invalidada em 1 hora. Se a sua organização estiver ligada ao Microsoft Entra ID, a PAT também invalida no Microsoft Entra ID, uma vez que pertence ao utilizador. Recomendamos que a PAT seja transferida para outro utilizador ou conta de serviço para manter os serviços em execução.
P: Existe uma forma de renovar uma PAT através da API REST?
R: Sim, pode renovar, gerir e criar PATs utilizando as nossas APIs de Gestão do Ciclo de Vida PAT.
P: Posso usar PATs com todas as APIs REST do Azure DevOps?
R: Não. Você pode usar autenticação básica com a maioria das APIs REST do Azure DevOps, mas organizações e perfis e as APIs de ciclo de vida de gerenciamento da PAT oferecem suporte apenas Microsoft Entra OAuth. Para obter um exemplo sobre como configurar um aplicativo Microsoft Entra para chamar essas APIs, consulte Gerenciar PATs usando a API REST.
P: O que acontece se eu verificar acidentalmente a minha PAT num repositório público no GitHub?
R: O Azure DevOps verifica se há PATs verificados em repositórios públicos no GitHub. Quando encontramos um token vazado, enviamos imediatamente uma notificação por email detalhada para o proprietário do token e registramos um evento no log de auditoria da sua organização do Azure DevOps. A menos que você tenha desativado a política Revogar automaticamente tokens de acesso pessoal vazados, revogamos imediatamente o PAT vazado. Incentivamos os usuários afetados a mitigar o problema revogando o token vazado e substituindo-o por um novo token. Para obter mais informações, consulte Revogar PATs vazados automaticamente.
P: Posso usar um token de acesso pessoal como uma ApiKey para publicar pacotes NuGet em um feed de Artefatos do Azure usando a linha de comando dotnet/nuget.exe?
R: Não. Azure Artifacts não suporta a utilização de uma PAT como uma ApiKey. Ao usar um ambiente de desenvolvimento local, recomendamos instalar o Azure Artifacts Credential Provider para autenticar nos Azure Artifacts. Para obter mais informações, veja os seguintes exemplos: dotnet, NuGet.exe. Se quiser publicar os seus pacotes de software usando o Azure Pipelines, utilize a tarefa NuGet Authenticate para autenticar-se no seu feed. Veja exemplo.
P: Porque é que o meu PAT deixou de funcionar?
R: A autenticação PAT requer que inicie sessão regularmente no Azure DevOps utilizando o fluxo de autenticação completo. Entrar uma vez a cada 30 dias é suficiente para muitos usuários, mas talvez seja necessário entrar com mais frequência, dependendo da configuração do Microsoft Entra. Se a PAT deixar de funcionar, tente primeiro iniciar sessão na sua organização e conclua o pedido de autenticação completo. Se a sua PAT continuar a não funcionar, verifique se expirou.
Habilitar a Autenticação Básica do IIS invalida o uso de PATs para o Servidor de DevOps do Azure. Para obter mais informações, consulte Usando a autenticação básica do IIS com o Azure DevOps local.
P: Como faço para criar chaves de acesso que não estejam vinculadas a uma pessoa específica para fins de implantação?
R: No Azure DevOps, você pode criar chaves de acesso que não estão vinculadas a uma pessoa específica usando Entidades de Serviço ou Identidades Gerenciadas. Para obter mais informações, consulte Gerenciar conexões de serviço e Usar segredos do Cofre da Chave do Azure no Azure Pipelines.
Artigos relacionados
- Usar políticas para gerenciar tokens de acesso pessoais para usuários
- Revogar PATs de usuário (para administradores)
- Saiba mais sobre segurança, autenticação e autorização
- Revisar as permissões e o acesso padrão para o Azure DevOps
- Gerenciar tokens de acesso pessoal (PATs) usando a API REST
- Gerenciar entidades de serviço e identidades gerenciadas no Azure DevOps