Condividi tramite


CertificateCredential Classe

Autentica come entità servizio usando un certificato.

Il certificato deve avere una chiave privata RSA, perché questa credenziale firma asserzioni usando RS256. Per altre informazioni sulla configurazione dell'autenticazione del certificato, vedere la documentazione di Azure Active Directory .

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

Costruttore

CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **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

certificate_path
str
valore predefinito: None

Percorso di un file di certificato con codifica PEM, inclusa la chiave privata. Se non specificato, è necessario certificate_data .

authority
str

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

certificate_data
bytes

Byte di un certificato in formato PEM, inclusa la chiave privata

password
str oppure bytes

Password del certificato. Se una stringa unicode verrà codificata come UTF-8. Se il certificato richiede una codifica diversa, passare invece byte codificati in modo appropriato.

cache_persistence_options
TokenCachePersistenceOptions

Configurazione per la memorizzazione nella cache dei token persistenti. Se non specificato, le credenziali memorizzano nella cache i token in memoria.

additionally_allowed_tenants
List[str]

Specifica i tenant oltre alla "tenant_id" specificata per cui le credenziali possono acquisire 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 certificatoCredential.


   from azure.identity.aio import CertificateCredential

   credential = CertificateCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       certificate_path="<path to PEM/PKCS12 certificate>",
       password="<certificate password if necessary>",
   )

   # Certificate/private key byte data can also be passed directly
   credential = CertificateCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       certificate_data=b"<cert data>",
   )

Metodi

close

Chiudere la sessione di trasporto delle credenziali.

get_token

Richiedere un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

close

Chiudere la sessione di trasporto delle credenziali.

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 necessarie 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 di dati, stato o supporto della piattaforma necessari

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