Condividi tramite


CertificateCredential Classe

Esegue l'autenticazione come entità servizio usando un certificato.

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

Ereditarietà
azure.identity._internal.client_credential_base.ClientCredentialBase
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 facoltativo di un file di certificato in formato PEM o PKCS12, 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 il cloud pubblico di Azure ,ovvero l'impostazione predefinita. AzureAuthorityHosts definisce le autorità per altri cloud.

certificate_data
bytes

Byte di un certificato in formato PEM o PKCS12, 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.

send_certificate_chain
bool

Se True, le credenziali invieranno la catena di certificati pubblici nell'intestazione x5c del token JWT di ogni richiesta di token. Questa operazione è necessaria per l'autenticazione SNI (Subject Name/Issuer). Il valore predefinito è False.

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.

disable_instance_discovery
bool

Determina se l'individuazione dell'istanza viene eseguita durante il tentativo di autenticazione. L'impostazione di questa opzione su true disabilita completamente sia l'individuazione dell'istanza che la convalida dell'autorità. Questa funzionalità è destinata all'uso in scenari in cui non è possibile raggiungere l'endpoint dei metadati, ad esempio nei cloud privati o in Azure Stack. Il processo di individuazione dell'istanza comporta il recupero dei metadati dell'autorità da https://login.microsoft.com/ per convalidare l'autorità. Impostando questa proprietà su True, la convalida dell'autorità è disabilitata. Di conseguenza, è fondamentale assicurarsi che l'host dell'autorità configurata sia valido e affidabile.

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 CertificateCredential.


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

Richiedere un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

close

close() -> None

get_token

Richiedere un token di accesso per gli ambiti.

Questo metodo viene chiamato automaticamente dai client Azure SDK.

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.