Compartilhar via


WorkloadIdentityCredential Classe

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.

Herança
azure.identity.aio._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 locatário do Azure Active Directory do aplicativo. Também chamou sua ID de "diretório".

client_id
str

A ID do cliente de um registro de aplicativo Azure AD.

token_file_path
str

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

Exemplos

Crie uma WorkloadIdentityCredential.


   from azure.identity.aio 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

Feche a sessão de transporte da credencial.

get_token

Solicite um token de acesso para escopos.

Esse método é chamado automaticamente por clientes do SDK do Azure.

close

Feche a sessão de transporte da credencial.

async close() -> None

get_token

Solicite um token de acesso para escopos.

Esse método é chamado automaticamente por clientes do SDK do Azure.

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

Parâmetros

scopes
str
Obrigatório

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

claims
str

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

tenant_id
str

locatário opcional a ser incluído na solicitação de token.

enable_cae
bool

indica se a CAE (Avaliação contínua de acesso) deve ser habilitada para o token solicitado. Usa False como padrão.

Retornos

Um token de acesso com os escopos desejados.

Tipo de retorno

Exceções

a credencial não pode tentar a autenticação porque não tem dados, estado ou suporte à plataforma necessários

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