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 Dokumentation zu Azure Active Directory .
- Vererbung
-
azure.identity.aio._internal.AsyncContextManagerCertificateCredentialazure.identity.aio._internal.get_token_mixin.GetTokenMixinCertificateCredential
Konstruktor
CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)
Parameter
- tenant_id
- str
ID des Mandanten des Dienstprinzipals. Wird auch als "Verzeichnis"-ID bezeichnet.
- certificate_path
- str
Pfad zu einer PEM-codierten Zertifikatdatei einschließlich des privaten Schlüssels. Wenn 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 die öffentliche Azure-Cloud (Dies ist die Standardeinstellung). AzureAuthorityHosts definiert Autoritäten für andere Clouds.
- certificate_data
- bytes
Die Bytes eines Zertifikats im PEM-Format, einschließlich des privaten Schlüssels
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.
- cache_persistence_options
- TokenCachePersistenceOptions
Konfiguration für die persistente Tokenzwischenspeicherung. Wenn sie nicht angegeben sind, werden die Anmeldeinformationen Token im Arbeitsspeicher zwischenspeichern.
Gibt Mandanten zusätzlich zum angegebenen "tenant_id" an, für den die Anmeldeinformationen Token abrufen können. Fügen Sie den Wildcardwert "*" hinzu, damit die Anmeldeinformationen Token für jeden Mandanten abrufen können, auf den die Anwendung zugreifen kann.
Beispiele
Erstellen Sie ein CertificateCredential-Objekt.
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>",
)
Methoden
close |
Schließen Sie die Transportsitzung der Anmeldeinformationen. |
get_token |
Fordern Sie ein Zugriffstoken für Bereiche an. Diese Methode wird von Azure SDK-Clients automatisch aufgerufen. |
close
Schließen Sie die Transportsitzung der Anmeldeinformationen.
async close() -> None
get_token
Fordern Sie ein Zugriffstoken für Bereiche an.
Diese Methode wird von Azure SDK-Clients automatisch aufgerufen.
async get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
Parameter
- scopes
- str
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 die fortlaufende Zugriffsauswertung (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 nicht versucht werden, die Authentifizierung zu versuchen, da die erforderlichen Daten, der Status oder die Plattform nicht unterstützt werden.
Fehler bei der Authentifizierung. Das Attribut des Fehlers message
gibt einen Grund an.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für