Freigeben über


CertificateCredential Klasse

Authentifiziert sich als Dienstprinzipal mithilfe eines Zertifikats.

Das Zertifikat muss über einen privaten RSA-Schlüssel verfügen, da diese Anmeldeinformationen Assertionen mithilfe von RS256 signieren. Weitere Informationen zum Konfigurieren der Zertifikatauthentifizierung finden Sie in der Azure Active Directory-Dokumentation .

Vererbung
azure.identity._internal.client_credential_base.ClientCredentialBase
CertificateCredential

Konstruktor

CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)

Parameter

tenant_id
str
Erforderlich

ID des Mandanten des Dienstprinzipals. Wird auch seine "Verzeichnis"-ID genannt.

client_id
str
Erforderlich

Client-ID des Dienstprinzipals

certificate_path
str
Standardwert: None

Optionaler Pfad zu einer Zertifikatdatei im PEM- oder PKCS12-Format, einschließlich des privaten Schlüssels. Falls nicht angegeben, ist certificate_data erforderlich.

authority
str

Autorität eines Azure Active Directory-Endpunkts, z. B. "login.microsoftonline.com", der Autorität für azure Public Cloud (standard). AzureAuthorityHosts definiert Autoritäten für andere Clouds.

certificate_data
bytes

Die Bytes eines Zertifikats im PEM- oder PKCS12-Format, einschließlich des privaten Schlüssels

password
str oder bytes

Das Kennwort des Zertifikats. Wenn eine Unicode-Zeichenfolge, wird sie als UTF-8 codiert. Wenn das Zertifikat eine andere Codierung erfordert, übergeben Sie stattdessen entsprechend codierte Bytes.

send_certificate_chain
bool

Wenn True, senden die Anmeldeinformationen die öffentliche Zertifikatkette im x5c-Header jeder Tokenanforderung JWT. Dies ist für die SNI-Authentifizierung (Subject Name/Issuer) erforderlich. Der Standardwert lautet „False“.

cache_persistence_options
TokenCachePersistenceOptions

Konfiguration für die persistente Tokenzwischenspeicherung. Wenn nicht angegeben, werden die Anmeldeinformationen Token im Arbeitsspeicher zwischenspeichern.

disable_instance_discovery
bool

Bestimmt, ob beim Authentifizierungsversuch instance Ermittlung durchgeführt wird. Wenn Sie diesen Wert auf true festlegen, werden sowohl instance Ermittlung als auch die Überprüfung der Autorität vollständig deaktiviert. Diese Funktionalität ist für die Verwendung in Szenarien vorgesehen, in denen der Metadatenendpunkt nicht erreicht werden kann, z. B. in privaten Clouds oder Azure Stack. Der Prozess der instance Ermittlung umfasst das Abrufen von Autoritätsmetadaten aushttps://login.microsoft.com/, um die Autorität zu überprüfen. Wenn Sie diesen Wert auf True festlegen, wird die Validierung der Autorität deaktiviert. Daher ist es von entscheidender Bedeutung, sicherzustellen, dass der konfigurierte Autoritätshost gültig und vertrauenswürdig ist.

additionally_allowed_tenants
List[str]

Gibt Mandanten zusätzlich zum angegebenen "tenant_id" an, für den die Anmeldeinformationen Token abrufen können. Fügen Sie den Platzhalterwert "*" hinzu, damit die Anmeldeinformationen Token für jeden Mandanten abrufen können, auf den die Anwendung zugreifen kann.

Beispiele

Erstellen Sie ein CertificateCredential.Create a 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>",
   )

Methoden

close
get_token

Fordern Sie ein Zugriffstoken für Bereiche an.

Diese Methode wird von Azure SDK-Clients automatisch aufgerufen.

close

close() -> None

get_token

Fordern Sie ein Zugriffstoken für Bereiche an.

Diese Methode wird von Azure SDK-Clients automatisch aufgerufen.

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

Parameter

scopes
str
Erforderlich

gewünschte Bereiche für das Zugriffstoken. Für diese Methode ist mindestens ein Bereich erforderlich. Weitere Informationen zu Bereichen finden Sie unter https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

zusätzliche Ansprüche, die im Token erforderlich sind, z. B. die in der Anspruchsanforderung eines Ressourcenanbieters nach einem Autorisierungsfehler zurückgegeben werden.

tenant_id
str

optionaler Mandant, der in die Tokenanforderung aufgenommen werden soll.

enable_cae
bool

gibt an, ob Continuous Access Evaluation (CAE) für das angeforderte Token aktiviert werden soll. Der Standardwert lautet „False“.

Gibt zurück

Ein Zugriffstoken mit den gewünschten Bereichen.

Rückgabetyp

Ausnahmen

Die Anmeldeinformationen können keine Authentifizierungsversuche ausführen, da die erforderliche Daten-, Zustands- oder Plattformunterstützung fehlt.

Fehler bei der Authentifizierung. Das Attribut des Fehlers message gibt einen Grund an.