OnBehalfOfCredential Classe

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.

Herança
azure.identity.aio._internal.AsyncContextManager
OnBehalfOfCredential
azure.identity.aio._internal.get_token_mixin.GetTokenMixin
OnBehalfOfCredential

Construtor

OnBehalfOfCredential(tenant_id: str, client_id: str, *, client_certificate: bytes | None = None, client_secret: str | None = None, user_assertion: str, **kwargs: Any)

Parâmetros

tenant_id
str
Obrigatório

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

client_id
str
Obrigatório

A ID do cliente da entidade de serviço

client_secret
str

Opcional. Um segredo do cliente para autenticar a entidade de serviço. Client_secret ouclient_certificate devem ser fornecidos.

client_certificate
bytes

Opcional. Os bytes de um certificado no formato PEM ou PKCS12, incluindo a chave privada para autenticar a entidade de serviço. Client_secret ouclient_certificate devem ser fornecidos.

user_assertion
str

Obrigatórios. O token de acesso que a credencial usará como declaração do usuário ao solicitar tokens em nome de tokens

authority
str

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). AzureAuthorityHosts define autoridades para outras nuvens.

password
str ou bytes

Uma senha de certificado. Usado somente quando client_certificate é fornecido. Se esse valor for uma cadeia de caracteres unicode, ele será codificado como UTF-8. Se o certificado exigir uma codificação diferente, passe bytes codificados adequadamente.

additionally_allowed_tenants
List[str]

Especifica locatários além do "tenant_id" especificado para o qual a credencial pode adquirir tokens. Adicione o valor curinga "*" para permitir que a credencial adquira tokens para qualquer locatário que o aplicativo possa acessar.

Exemplos

Crie um OnBehalfOfCredential.


   from azure.identity.aio import OnBehalfOfCredential

   credential = OnBehalfOfCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       client_secret="<client_secret>",
       user_assertion="<access_token>",
   )

Métodos

close
get_token

Solicite um token de acesso para escopos.

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

close

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.