Partilhar via


WorkloadIdentityCredential Classe

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.

Herança
azure.identity._credentials.client_assertion.ClientAssertionCredential
WorkloadIdentityCredential
azure.identity._credentials.workload_identity.TokenFileMixin
WorkloadIdentityCredential

Construtor

WorkloadIdentityCredential(*, tenant_id: str | None = None, client_id: str | None = None, token_file_path: str | None = None, **kwargs: Any)

Parâmetros

tenant_id
str

ID do inquilino do Azure Active Directory da aplicação. Também denominado ID de "diretório".

client_id
str

O ID de cliente de um Azure AD registo de aplicações.

token_file_path
str

O caminho para um ficheiro que contém um token de conta de serviço do Kubernetes que autentica a identidade.

Exemplos

Crie uma WorkloadIdentityCredential.


   from azure.identity import WorkloadIdentityCredential

   credential = WorkloadIdentityCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       token_file_path="<token_file_path>",
   )

   # Parameters can be omitted if the following environment variables are set:
   #   - AZURE_TENANT_ID
   #   - AZURE_CLIENT_ID
   #   - AZURE_FEDERATED_TOKEN_FILE
   credential = WorkloadIdentityCredential()

Métodos

close
get_token

Pedir um token de acesso para âmbitos.

Este método é chamado automaticamente pelos clientes do SDK do Azure.

close

close() -> None

get_token

Pedir um token de acesso para âmbitos.

Este método é chamado automaticamente pelos clientes do SDK do Azure.

get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Parâmetros

scopes
str
Necessário

âmbitos pretendidos para o token de acesso. Este método requer, pelo menos, um âmbito. Para obter mais informações sobre âmbitos, consulte https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

afirmações adicionais necessárias no token, como as devolvidas no desafio de afirmações de um fornecedor de recursos após uma falha de autorização.

tenant_id
str

inquilino opcional a incluir no pedido de token.

enable_cae
bool

indica se pretende ativar a Avaliação de Acesso Contínuo (CAE) para o token pedido. A predefinição é Falso.

Devoluções

Um token de acesso com os âmbitos pretendidos.

Tipo de retorno

Exceções

a credencial não consegue tentar autenticação porque não tem os dados necessários, o estado ou o suporte da plataforma

falha na autenticação. O atributo do message erro dá um motivo.