Condividi tramite


OnBehalfOfCredential Classe

Autentica un'entità servizio tramite il flusso on-behalf-of.

Questo flusso viene in genere usato dai servizi di livello intermedio che autorizzano le richieste ad altri servizi con un'identità utente delegata. Poiché non si tratta di un flusso di autenticazione interattivo, un'applicazione che lo usa deve avere il consenso amministratore per tutte le autorizzazioni delegate prima di richiedere i token. Per una descrizione più dettagliata del flusso on-behalf-of, vedere la documentazione di Azure Active Directory .

Ereditarietà
azure.identity.aio._internal.AsyncContextManager
OnBehalfOfCredential
azure.identity.aio._internal.get_token_mixin.GetTokenMixin
OnBehalfOfCredential

Costruttore

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

Parametri

tenant_id
str
Necessario

ID del tenant dell'entità servizio. Chiamato anche l'ID "directory".

client_id
str
Necessario

ID client dell'entità servizio

client_secret
str

Facoltativa. Segreto client per autenticare l'entità servizio. È necessario specificare client_secret o client_certificate .

client_certificate
bytes

Facoltativa. Byte di un certificato in formato PEM o PKCS12, inclusa la chiave privata per autenticare l'entità servizio. È necessario specificare client_secret o client_certificate .

user_assertion
str

Obbligatorio. Il token di accesso che la credenziale userà come asserzione utente quando si richiedono token on-behalf-of

authority
str

Autorità di un endpoint di Azure Active Directory, ad esempio "login.microsoftonline.com", l'autorità per il cloud pubblico di Azure ,ovvero l'impostazione predefinita. AzureAuthorityHosts definisce le autorità per altri cloud.

password
str oppure bytes

Password del certificato. Utilizzato solo quando viene fornito client_certificate . Se questo valore è una stringa Unicode, verrà codificato come UTF-8. Se il certificato richiede una codifica diversa, passare invece byte codificati in modo appropriato.

additionally_allowed_tenants
List[str]

Specifica i tenant oltre al "tenant_id" specificato per il quale le credenziali possono acquisire i token. Aggiungere il valore jolly "*" per consentire alle credenziali di acquisire i token per qualsiasi tenant a cui l'applicazione può accedere.

Esempio

Creare un oggetto 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>",
   )

Metodi

close
get_token

Richiedere un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

close

async close() -> None

get_token

Richiedere un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

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

Parametri

scopes
str
Necessario

ambiti desiderati per il token di accesso. Questo metodo richiede almeno un ambito. Per altre informazioni sugli ambiti, vedere https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

attestazioni aggiuntive richieste nel token, ad esempio quelle restituite nella richiesta di attestazioni di un provider di risorse in seguito a un errore di autorizzazione.

tenant_id
str

tenant facoltativo da includere nella richiesta di token.

enable_cae
bool

indica se abilitare la valutazione dell'accesso continuo (CAE) per il token richiesto. Il valore predefinito è False.

Restituisce

Token di accesso con gli ambiti desiderati.

Tipo restituito

Eccezioni

la credenziale non è in grado di tentare l'autenticazione perché non dispone dei dati, dello stato o del supporto della piattaforma necessari

autenticazione non riuscita. L'attributo dell'errore message indica un motivo.