identity Pacote

Credenciais para clientes do SDK do Azure.

Pacote

aio

Credenciais para clientes SDK do Azure assíncronos.

Classes

AuthenticationRecord

Informações de conta não secretas de um utilizador autenticado

Esta classe permite e InteractiveBrowserCredential aceder a dados de autenticação anteriormente colocados DeviceCodeCredential em cache. As aplicações não devem construir instâncias desta classe. Em vez disso, devem adquirir uma a partir do método de autenticação de uma credencial, como authenticate. Veja o exemplo de user_authentication para obter mais detalhes.

AuthenticationRequiredError

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

Este erro é gerado apenas por credenciais de utilizador interativas configuradas para não pedir automaticamente a interação do utilizador, conforme necessário. As respetivas propriedades fornecem informações adicionais que podem ser necessárias para autenticar. O exemplo de control_interactive_prompts demonstra como lidar com este erro ao chamar o método de "autenticação" de uma credencial.

AuthorizationCodeCredential

Autentica ao resgatar um código de autorização obtido anteriormente a partir do Azure Active Directory.

Veja 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 ao pedir um token da CLI do Azure.

Isto requer que inicie sessão anteriormente no Azure através de "az login" e utilizará a identidade com sessão iniciada atualmente da CLI.

AzureDeveloperCliCredential

Autentica ao pedir um token do Azure Developer CLI.

Azure Developer CLI é uma ferramenta de interface de linha de comandos que permite aos programadores criar, gerir e implementar recursos no Azure. Baseia-se na CLI do Azure e fornece funcionalidades adicionais específicas aos programadores do Azure. Permite que os utilizadores se autentiquem como utilizador e/ou principal de serviço no Azure Active Directory (Azure AD). O AzureDeveloperCliCredential autentica-se num ambiente de desenvolvimento e adquire um token em nome do utilizador ou principal de serviço com sessão iniciada no Azure Developer CLI. Atua como o Azure Developer CLI utilizador ou principal de serviço com sessão iniciada e executa um comando da CLI do Azure por baixo para autenticar a aplicação no Azure Active Directory.

Para utilizar esta credencial, o programador tem de se autenticar localmente no Azure Developer CLI através de um dos comandos abaixo:

  • Execute "azd auth login" no Azure Developer CLI para se autenticar interativamente como utilizador.

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

Poderá ter de repetir este processo após um determinado período de tempo, dependendo da validade do token de atualização na sua organização. Geralmente, o período de validade do token de atualização é de algumas semanas a alguns meses. O AzureDeveloperCliCredential irá pedir-lhe para iniciar sessão novamente.

AzurePowerShellCredential

Autentica ao pedir um token de Azure PowerShell.

Isto requer que inicie sessão anteriormente no Azure através de "Connect-AzAccount" e utilizará a identidade atualmente registada.

CertificateCredential

Autentica-se como um principal de serviço com um certificado.

O certificado tem de ter uma chave privada RSA, porque esta credencial assina asserções com RS256. Veja a documentação do Azure Active Directory para obter mais informações sobre como configurar a autenticação de certificados.

ChainedTokenCredential

Uma sequência de credenciais que é, por si só, uma credencial.

O get_token método chama get_token cada credencial na sequência, por ordem, devolvendo o primeiro token válido recebido.

ClientAssertionCredential

Autentica um principal de serviço com uma asserção JWT.

Esta credencial destina-se a cenários avançados. CertificateCredential tem uma API mais conveniente para o cenário de asserção mais comum, autenticando um principal de serviço com um certificado.

ClientSecretCredential

Autentica-se como um principal de serviço com um segredo do cliente.

CredentialUnavailableError

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

DefaultAzureCredential

Uma credencial predefinida capaz de processar a maioria dos cenários de autenticação do SDK do Azure.

A identidade que utiliza depende do ambiente. Quando é necessário um token de acesso, solicita um que utilize estas identidades por sua vez, parando quando um fornece um token:

  1. Um principal de serviço configurado por variáveis de ambiente. Veja EnvironmentCredential para obter mais detalhes.

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

  3. Uma identidade gerida do Azure. Veja ManagedIdentityCredential para obter mais detalhes.

  4. Apenas no Windows: um utilizador que tenha iniciado sessão com uma aplicação Microsoft, como o Visual Studio. Se existirem múltiplas identidades na cache, o valor da variável AZURE_USERNAME de ambiente é utilizado para selecionar a identidade a utilizar. Veja SharedTokenCacheCredential para obter mais detalhes.

  5. A identidade atualmente com sessão iniciada na CLI do Azure.

  6. A identidade atualmente iniciada no Azure PowerShell.

  7. A identidade atualmente com sessão iniciada no Azure Developer CLI.

Este comportamento predefinido é configurável com argumentos de palavra-chave.

DeviceCodeCredential

Autentica os utilizadores através do fluxo de código do dispositivo.

Quando get_token é chamada, esta credencial adquire um URL de verificação e código do Azure Active Directory. Um utilizador tem de navegar para o URL, introduzir o código e autenticar com o Azure Active Directory. Se o utilizador se autenticar com êxito, a credencial recebe um token de acesso.

Esta credencial é essencialmente útil para autenticar um utilizador num ambiente sem um browser, como uma sessão SSH. Se um browser estiver disponível, InteractiveBrowserCredential é mais conveniente porque abre automaticamente um browser para a página de início de sessão.

EnvironmentCredential

Uma credencial configurada por variáveis de ambiente.

Esta credencial é capaz de autenticar como um principal de serviço através de um segredo do cliente ou de um certificado, ou como um utilizador com um nome de utilizador e palavra-passe. A configuração é tentada por esta ordem, utilizando estas variáveis de ambiente:

Principal de serviço com segredo:

  • AZURE_TENANT_ID: ID do inquilino do principal de serviço. Também denominado ID de "diretório".

  • AZURE_CLIENT_ID: o ID de cliente do principal de serviço

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

  • AZURE_AUTHORITY_HOST: autoridade de um ponto final do Azure Active Directory, por exemplo "login.microsoftonline.com", a autoridade para a Cloud Pública do Azure, que é a predefinição quando não é atribuído nenhum valor.

Principal de serviço com certificado:

  • AZURE_TENANT_ID: ID do inquilino do principal de serviço. Também denominado ID de "diretório".

  • AZURE_CLIENT_ID: o ID de cliente do principal de serviço

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

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: (opcional) palavra-passe do ficheiro de certificado, se existir.

  • AZURE_AUTHORITY_HOST: autoridade de um ponto final do Azure Active Directory, por exemplo "login.microsoftonline.com", a autoridade para a Cloud Pública do Azure, que é a predefinição quando não é atribuído nenhum valor.

Utilizador com nome de utilizador e palavra-passe:

  • AZURE_CLIENT_ID: o ID de cliente da aplicação

  • AZURE_USERNAME: um nome de utilizador (normalmente um endereço de e-mail)

  • AZURE_PASSWORD: a palavra-passe desse utilizador

  • AZURE_TENANT_ID: ID (opcional) do inquilino do principal de serviço. Também denominado ID de "diretório". Se não for fornecido, a predefinição é o inquilino "organizações", que suporta apenas contas escolares ou profissionais do Azure Active Directory.

  • AZURE_AUTHORITY_HOST: autoridade de um ponto final do Azure Active Directory, por exemplo "login.microsoftonline.com", a autoridade para a Cloud Pública do Azure, que é a predefinição quando não é atribuído nenhum valor.

InteractiveBrowserCredential

Abre um browser para autenticar interativamente um utilizador.

get_token abre um browser para um URL de início de sessão fornecido pelo Azure Active Directory e autentica um utilizador no mesmo com o fluxo de código de autorização, utilizando o PKCE (Chave de Prova para o Code Exchange) internamente para proteger o código.

KnownAuthorities

Alias de AzureAuthorityHosts

ManagedIdentityCredential

Autentica com uma identidade gerida do Azure em qualquer ambiente de alojamento que suporte identidades geridas.

Esta credencial é predefinida para utilizar uma identidade atribuída pelo sistema. Para configurar uma identidade atribuída pelo utilizador, utilize um dos argumentos de palavra-chave. Veja a documentação do Azure Active Directory para obter mais informações sobre como configurar a identidade gerida para aplicações.

OnBehalfOfCredential

Autentica um principal de serviço através do fluxo em nome de.

Normalmente, este fluxo é utilizado por serviços de camada média que autorizam pedidos a outros serviços com uma identidade de utilizador delegada. Uma vez que este não é um fluxo de autenticação interativo, uma aplicação que o utiliza tem de ter consentimento do administrador para quaisquer permissões delegadas antes de pedir tokens para as mesmas. Veja a documentação do Azure Active Directory para obter uma descrição mais detalhada do fluxo em nome de.

SharedTokenCacheCredential

Autentica com tokens na cache local partilhada entre aplicações da Microsoft.

TokenCachePersistenceOptions

Opções para colocação em cache de tokens persistentes.

A maioria das credenciais aceita uma instância desta classe para configurar a colocação em cache de tokens persistentes. Os valores predefinidos configuram uma credencial para utilizar uma cache partilhada com as ferramentas de programador da Microsoft e SharedTokenCacheCredential. Para isolar os dados de uma credencial de outras aplicações, especifique um nome para a cache.

Por predefinição, a cache é encriptada com a API de proteção de dados do utilizador da plataforma atual e gerará um erro quando esta não estiver disponível. Para configurar a cache para reverter para um ficheiro não encriptado em vez de gerar um erro, especifique allow_unencrypted_storage=Verdadeiro.

Aviso

A cache contém segredos de autenticação. Se a cache não estiver encriptada, protegê-la é a

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

UsernamePasswordCredential

Autentica um utilizador com um nome de utilizador e palavra-passe.

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

A autenticação com esta credencial não é interativa, pelo que não é compatível com qualquer forma de autenticação multifator ou pedido de consentimento. A aplicação já tem de ter consentimento do utilizador ou de um administrador de diretórios.

Esta credencial só pode autenticar contas escolares e profissionais; As contas Microsoft não são suportadas. Veja a documentação do Azure Active Directory para obter mais informações sobre os tipos de conta.

VisualStudioCodeCredential

Autentica-se como o utilizador do Azure que iniciou sessão no Visual Studio Code através da extensão "Conta do Azure".

É um problema conhecido que esta credencial não funciona com as versões da extensão da Conta do Azure mais recentes do que a 0.9.11. Está em curso uma correção a longo prazo deste problema. Entretanto, considere autenticar com AzureCliCredential.

WorkloadIdentityCredential

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

A autenticação de identidade da carga de trabalho é uma funcionalidade no Azure que permite que as aplicações em execução em máquinas virtuais (VMs) acedam a outros recursos do Azure sem a necessidade de um principal de serviço ou identidade gerida. Com a autenticação de identidade da carga de trabalho, as aplicações autenticam-se com a sua própria identidade, em vez de utilizarem um principal de serviço partilhado ou uma identidade gerida. Nos bastidores, a autenticação da identidade da carga de trabalho utiliza o conceito de Credenciais da Conta de Serviço (SACs), que são criadas automaticamente pelo Azure e armazenadas de forma segura na VM. Ao utilizar a autenticação de identidade da carga de trabalho, pode evitar a necessidade de gerir e rodar principais de serviço ou identidades geridas para cada aplicação em cada VM. Além disso, como as SACs são criadas automaticamente e geridas pelo Azure, não precisa de se preocupar em armazenar e proteger as próprias credenciais confidenciais.

WorkloadIdentityCredential suporta a autenticação de identidade de carga de trabalho do Azure no Azure Kubernetes e adquire um token com as credenciais da conta de serviço disponíveis no ambiente do Azure Kubernetes. Veja esta descrição geral da identidade da carga de trabalho para obter mais informações.