identity Pacote

Credenciais para clientes do SDK do Azure.

Pacotes

aio

Credenciais para clientes assíncronos do SDK do Azure.

Classes

AuthenticationRecord

Informações de conta não secreta para um usuário autenticado

Essa classe habilita e InteractiveBrowserCredential acessa dados de autenticação armazenados DeviceCodeCredential em cache anteriormente. Os aplicativos não devem construir instâncias dessa classe. Em vez disso, eles devem adquirir um do método de autenticação de uma credencial, como authenticate. Consulte o exemplo de user_authentication para obter mais detalhes.

AuthenticationRequiredError

A autenticação interativa é necessária para adquirir um token.

Esse erro é gerado apenas por credenciais interativas do usuário configuradas para não solicitar automaticamente a interação do usuário conforme necessário. Suas propriedades fornecem informações adicionais que podem ser necessárias para autenticação. O exemplo de control_interactive_prompts demonstra como lidar com esse erro chamando o método de "autenticação" de uma credencial.

AuthorizationCodeCredential

Autentica-se resgatando um código de autorização obtido anteriormente do Azure Active Directory.

Confira a documentação do Azure Active Directory para obter mais informações sobre o fluxo de autenticação.

AzureAuthorityHosts

Credenciais para clientes do SDK do Azure.

AzureCliCredential

Autentica solicitando um token da CLI do Azure.

Isso requer logon anteriormente no Azure por meio de "az login" e usará a identidade conectada atualmente da CLI.

AzureDeveloperCliCredential

Autentica solicitando um token do Azure Developer CLI.

Azure Developer CLI é uma ferramenta de interface de linha de comando que permite que os desenvolvedores criem, gerenciem e implantem recursos no Azure. Ele é criado com base na CLI do Azure e fornece funcionalidade adicional específica para desenvolvedores do Azure. Ele permite que os usuários se autentiquem como um usuário e/ou uma entidade de serviço no Azure Active Directory (Azure AD). O AzureDeveloperCliCredential é autenticado em um ambiente de desenvolvimento e adquire um token em nome do usuário conectado ou da entidade de serviço no Azure Developer CLI. Ele atua como o Azure Developer CLI usuário conectado ou entidade de serviço e executa um comando da CLI do Azure abaixo para autenticar o aplicativo no Azure Active Directory.

Para usar essa credencial, o desenvolvedor precisa se autenticar localmente no Azure Developer CLI usando um dos comandos abaixo:

  • Execute "azd auth login" no Azure Developer CLI para autenticar interativamente como um usuário.

  • Execute "azd auth login –client-id 'client_id' –client-secret 'client_secret' –tenant-id 'tenant_id'" para se autenticar como uma entidade de serviço.

Talvez seja necessário repetir esse processo após um determinado período, dependendo da validade do token de atualização em sua organização. Em geral, o período de validade do token de atualização é de algumas semanas a alguns meses. AzureDeveloperCliCredential solicitará que você entre novamente.

AzurePowerShellCredential

Autentica solicitando um token de Azure PowerShell.

Isso requer o logon anterior no Azure por meio de "Connect-AzAccount" e usará a identidade conectada no momento.

CertificateCredential

Autentica como uma entidade de serviço usando um certificado.

O certificado deve ter uma chave privada RSA, pois essa credencial assina declarações usando RS256. Confira a documentação do Azure Active Directory para obter mais informações sobre como configurar a autenticação de certificado.

ChainedTokenCredential

Uma sequência de credenciais que é uma credencial.

Seu get_token método chama get_token em cada credencial na sequência, em ordem, retornando o primeiro token válido recebido.

ClientAssertionCredential

Autentica uma entidade de serviço com uma asserção JWT.

Essa credencial é para cenários avançados. CertificateCredential tem uma API mais conveniente para o cenário de declaração mais comum, autenticando uma entidade de serviço com um certificado.

ClientSecretCredential

Autentica como uma entidade de serviço usando um segredo do cliente.

CredentialUnavailableError

A credencial não tentou se autenticar porque os dados ou o estado necessários não estão disponíveis.

DefaultAzureCredential

Uma credencial padrão capaz de lidar com a maioria dos cenários de autenticação do SDK do Azure.

A identidade que ele usa depende do ambiente. Quando um token de acesso é necessário, ele solicita um usando essas identidades, parando quando um fornece um token:

  1. Uma entidade de serviço configurada por variáveis de ambiente. Consulte EnvironmentCredential para obter mais detalhes.

  2. WorkloadIdentityCredential se a configuração da variável de ambiente for definida pelo webhook de identidade de carga de trabalho do Azure.

  3. Uma identidade gerenciada do Azure. Consulte ManagedIdentityCredential para obter mais detalhes.

  4. Somente no Windows: um usuário que entrou com um aplicativo da Microsoft, como o Visual Studio. Se várias identidades estiverem no cache, o valor da variável AZURE_USERNAME de ambiente será usado para selecionar qual identidade usar. Consulte SharedTokenCacheCredential para obter mais detalhes.

  5. Atualmente, a identidade está conectada à CLI do Azure.

  6. Atualmente, a identidade está conectada ao Azure PowerShell.

  7. Atualmente, a identidade está conectada ao Azure Developer CLI.

Esse comportamento padrão é configurável com argumentos palavra-chave.

DeviceCodeCredential

Autentica os usuários por meio do fluxo de código do dispositivo.

Quando get_token é chamada, essa credencial adquire uma URL de verificação e um código do Azure Active Directory. Um usuário deve navegar até a URL, inserir o código e autenticar-se com o Azure Active Directory. Se o usuário for autenticado com êxito, a credencial receberá um token de acesso.

Essa credencial é útil principalmente para autenticar um usuário em um ambiente sem um navegador da Web, como uma sessão SSH. Se um navegador da Web estiver disponível, InteractiveBrowserCredential será mais conveniente porque ele abre automaticamente um navegador para a página de logon.

EnvironmentCredential

Uma credencial configurada por variáveis de ambiente.

Essa credencial é capaz de se autenticar como uma entidade de serviço usando um segredo do cliente ou um certificado ou como um usuário com um nome de usuário e senha. A configuração é tentada nesta ordem, usando estas variáveis de ambiente:

Entidade de serviço com segredo:

  • AZURE_TENANT_ID: ID do locatário da entidade de serviço. Também chamou sua ID de "diretório".

  • AZURE_CLIENT_ID: a ID do cliente da entidade de serviço

  • AZURE_CLIENT_SECRET: um dos segredos do cliente da entidade de serviço

  • AZURE_AUTHORITY_HOST: autoridade de um ponto de extremidade do Azure Active Directory, por exemplo, "login.microsoftonline.com", a autoridade para a Nuvem Pública do Azure, que é o padrão quando nenhum valor é fornecido.

Entidade de serviço com certificado:

  • AZURE_TENANT_ID: ID do locatário da entidade de serviço. Também chamou sua ID de "diretório".

  • AZURE_CLIENT_ID: a ID do cliente da entidade de serviço

  • AZURE_CLIENT_CERTIFICATE_PATH: caminho para um arquivo de certificado PEM ou PKCS12, incluindo a chave privada.

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: senha (opcional) do arquivo de certificado, se houver.

  • AZURE_AUTHORITY_HOST: autoridade de um ponto de extremidade do Azure Active Directory, por exemplo, "login.microsoftonline.com", a autoridade para a Nuvem Pública do Azure, que é o padrão quando nenhum valor é fornecido.

Usuário com nome de usuário e senha:

  • AZURE_CLIENT_ID: a ID do cliente do aplicativo

  • AZURE_USERNAME: um nome de usuário (geralmente um endereço de email)

  • AZURE_PASSWORD: a senha desse usuário

  • AZURE_TENANT_ID: ID (opcional) do locatário da entidade de serviço. Também chamou sua ID de "diretório". Se não for fornecido, o padrão será o locatário de "organizações", que dá suporte apenas a contas corporativas ou de estudante do Azure Active Directory.

  • AZURE_AUTHORITY_HOST: autoridade de um ponto de extremidade do Azure Active Directory, por exemplo, "login.microsoftonline.com", a autoridade para a Nuvem Pública do Azure, que é o padrão quando nenhum valor é fornecido.

InteractiveBrowserCredential

Abre um navegador para autenticar interativamente um usuário.

get_token abre um navegador para uma URL de logon fornecida pelo Azure Active Directory e autentica um usuário lá com o fluxo de código de autorização, usando o PKCE (Chave de Prova para Troca de Código) internamente para proteger o código.

KnownAuthorities

Alias de AzureAuthorityHosts

ManagedIdentityCredential

Autentica com uma identidade gerenciada do Azure em qualquer ambiente de hospedagem que dê suporte a identidades gerenciadas.

Essa credencial usa como padrão o uso de uma identidade atribuída pelo sistema. Para configurar uma identidade atribuída pelo usuário, use um dos argumentos palavra-chave. Consulte a documentação do Azure Active Directory para obter mais informações sobre como configurar a identidade gerenciada para aplicativos.

OnBehalfOfCredential

Autentica uma entidade de serviço por meio do fluxo em nome do .

Normalmente, esse fluxo é usado por serviços de camada intermediária que autorizam solicitações para outros serviços com uma identidade de usuário delegada. Como esse não é um fluxo de autenticação interativo, um aplicativo que o usa deve ter consentimento do administrador para quaisquer permissões delegadas antes de solicitar tokens para eles. Consulte a documentação do Azure Active Directory para obter uma descrição mais detalhada do fluxo em nome do fluxo.

SharedTokenCacheCredential

Executa uma autenticação usando tokens compartilhados entre aplicativos da Microsoft no cache local.

TokenCachePersistenceOptions

Opções para cache de token persistente.

A maioria das credenciais aceita uma instância dessa classe para configurar o cache de token persistente. Os valores padrão configuram uma credencial para usar um cache compartilhado com ferramentas de desenvolvedor da Microsoft e SharedTokenCacheCredential. Para isolar os dados de uma credencial de outros aplicativos, especifique um nome para o cache.

Por padrão, o cache é criptografado com a API de proteção de dados do usuário da plataforma atual e gerará um erro quando isso não estiver disponível. Para configurar o cache para fazer fallback para um arquivo não criptografado em vez de gerar um erro, especifique allow_unencrypted_storage=True.

Aviso

O cache contém segredos de autenticação. Se o cache não estiver criptografado, protegê-lo será o

responsabilidade do aplicativo. Uma violação de seu conteúdo comprometerá totalmente as contas.

UsernamePasswordCredential

Autentica um usuário com um nome de usuário e uma senha.

Em geral, a Microsoft não recomenda esse tipo de autenticação, pois ela é menos segura do que outros fluxos de autenticação.

A autenticação com essa credencial não é interativa, portanto , não é compatível com nenhuma forma de autenticação multifator ou solicitação de consentimento. O aplicativo já deve ter o consentimento do usuário ou de um administrador de diretório.

Essa credencial só pode autenticar contas corporativas e de estudante; Não há suporte para contas da Microsoft. Confira a documentação do Azure Active Directory para obter mais informações sobre tipos de conta.

VisualStudioCodeCredential

Autentica como o usuário do Azure entrou no Visual Studio Code por meio da extensão 'Conta do Azure'.

É um problema conhecido que essa credencial não funciona com versões de extensão da Conta do Azure mais recentes do que a 0.9.11. Uma correção de longo prazo para esse problema está em andamento. Enquanto isso, considere a autenticação com AzureCliCredential.

WorkloadIdentityCredential

Autentica usando uma identidade de carga de trabalho do Azure Active Directory.

A autenticação de identidade de carga de trabalho é um recurso no Azure que permite que aplicativos em execução em VMs (máquinas virtuais) acessem outros recursos do Azure sem a necessidade de uma entidade de serviço ou identidade gerenciada. Com a autenticação de identidade de carga de trabalho, os aplicativos se autenticam usando sua própria identidade, em vez de usar uma entidade de serviço compartilhada ou uma identidade gerenciada. Nos bastidores, a autenticação de identidade de carga de trabalho usa o conceito de SACs (Credenciais de Conta de Serviço), que são criados automaticamente pelo Azure e armazenados com segurança na VM. Usando a autenticação de identidade de carga de trabalho, você pode evitar a necessidade de gerenciar e girar entidades de serviço ou identidades gerenciadas para cada aplicativo em cada VM. Além disso, como os SACs são criados automaticamente e gerenciados pelo Azure, você não precisa se preocupar em armazenar e proteger credenciais confidenciais por conta própria.

O WorkloadIdentityCredential dá suporte à autenticação de identidade de carga de trabalho do Azure no Kubernetes do Azure e adquire um token usando as credenciais da conta de serviço disponíveis no ambiente do Kubernetes do Azure. Consulte esta visão geral da identidade da carga de trabalho para obter mais informações.