Share via


identity Paket

Anmeldeinformationen für Azure SDK-Clients.

Pakete

aio

Anmeldeinformationen für asynchrone Azure SDK-Clients.

Klassen

AuthenticationRecord

Nicht geheime Kontoinformationen für einen authentifizierten Benutzer

Diese Klasse ermöglicht DeviceCodeCredential und InteractiveBrowserCredential kann auf zuvor zwischengespeicherte Authentifizierungsdaten zugreifen. Anwendungen sollten keine Instanzen dieser Klasse erstellen. Sie sollten stattdessen eine von der Authentifizierungsmethode einer Anmeldeinformation abrufen, z authenticate. B. . Weitere Informationen finden Sie im beispiel user_authentication.

AuthenticationRequiredError

Zum Abrufen eines Tokens ist die interaktive Authentifizierung erforderlich.

Dieser Fehler wird nur durch interaktive Benutzeranmeldeinformationen ausgelöst, die nicht automatisch zur Benutzerinteraktion bei Bedarf aufgefordert werden. Seine Eigenschaften stellen zusätzliche Informationen bereit, die möglicherweise für die Authentifizierung erforderlich sind. Das control_interactive_prompts Beispiel veranschaulicht die Behandlung dieses Fehlers durch Aufrufen der Methode "authentifizieren" einer Anmeldeinformation.

AuthorizationCodeCredential

Authentifiziert sich, indem ein Zuvor von Azure Active Directory abgerufener Autorisierungscode eingelöst wird.

Weitere Informationen zum Authentifizierungsablauf finden Sie in der Azure Active Directory-Dokumentation .

AzureAuthorityHosts

Anmeldeinformationen für Azure SDK-Clients.

AzureCliCredential

Authentifiziert sich, indem ein Token über die Azure CLI angefordert wird.

Dazu müssen Sie sich zuvor über "az login" bei Azure anmelden und die derzeit angemeldete Identität der CLI verwenden.

AzureDeveloperCliCredential

Authentifiziert sich, indem ein Token vom Azure Developer CLI angefordert wird.

Azure Developer CLI ist ein Befehlszeilenschnittstellentool, mit dem Entwickler Ressourcen in Azure erstellen, verwalten und bereitstellen können. Es basiert auf der Azure CLI und bietet zusätzliche Funktionen, die für Azure-Entwickler spezifisch sind. Es ermöglicht Benutzern, sich als Benutzer und/oder dienstprinzipal bei Azure Active Directory (Azure AD) zu authentifizieren. AzureDeveloperCliCredential authentifiziert sich in einer Entwicklungsumgebung und ruft ein Token im Namen des angemeldeten Benutzers oder Dienstprinzipals in Azure Developer CLI ab. Er fungiert als Azure Developer CLI angemeldeten Benutzer oder Dienstprinzipals und führt einen Azure CLI-Befehl darunter aus, um die Anwendung bei Azure Active Directory zu authentifizieren.

Um diese Anmeldeinformationen verwenden zu können, muss sich der Entwickler lokal in Azure Developer CLI mit einem der folgenden Befehle authentifizieren:

  • Führen Sie "azd auth login" in Azure Developer CLI aus, um sich interaktiv als Benutzer zu authentifizieren.

  • Führen Sie "azd auth login –client-id 'client_id' –client-secret 'client_secret' –tenant-id 'tenant_id'" aus, um sich als Dienstprinzipal zu authentifizieren.

Abhängig von der Gültigkeit des Aktualisierungstokens in Ihrer Organisation müssen Sie diesen Vorgang möglicherweise nach einem bestimmten Zeitraum wiederholen. Im Allgemeinen beträgt die Gültigkeitsdauer des Aktualisierungstokens einige Wochen bis hin zu einigen Monaten. AzureDeveloperCliCredential fordert Sie auf, sich erneut anzumelden.

AzurePowerShellCredential

Authentifiziert sich, indem ein Token von Azure PowerShell angefordert wird.

Dazu müssen Sie sich zuvor über "Connect-AzAccount" bei Azure anmelden und die aktuell angemeldete Identität verwenden.

CertificateCredential

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 .

ChainedTokenCredential

Eine Sequenz von Anmeldeinformationen, die selbst Anmeldeinformationen sind.

Die get_token -Methode ruft get_token alle Anmeldeinformationen in der Sequenz in der Reihenfolge auf und gibt das erste gültige Token zurück.

ClientAssertionCredential

Authentifiziert einen Dienstprinzipal mit einer JWT-Assertion.

Diese Anmeldeinformationen gelten für erweiterte Szenarien. CertificateCredential verfügt über eine komfortablere API für das gängigste Assertionsszenario, die Authentifizierung eines Dienstprinzipals mit einem Zertifikat.

ClientSecretCredential

Authentifiziert sich als Dienstprinzipal mithilfe eines geheimen Clientschlüssels.

CredentialUnavailableError

Die Anmeldeinformationen haben nicht versucht, sich zu authentifizieren, da die erforderlichen Daten oder der Erforderliche Zustand nicht verfügbar sind.

DefaultAzureCredential

Standardanmeldeinformationen, die die meisten Azure SDK-Authentifizierungsszenarien verarbeiten können.

Welche Identität verwendet wird, hängt von der Umgebung ab. Wenn ein Zugriffstoken benötigt wird, fordert es eine an, die wiederum diese Identitäten verwendet, und wird beendet, wenn ein Token bereitgestellt wird:

  1. Ein dienstprinzipal, der durch Umgebungsvariablen konfiguriert ist. Weitere Informationen finden Sie unter EnvironmentCredential.

  2. WorkloadIdentityCredential, wenn die Umgebungsvariablenkonfiguration durch den Azure-Workloadidentitäts-Webhook festgelegt wird.

  3. Eine verwaltete Azure-Identität. Weitere Informationen finden Sie unter ManagedIdentityCredential.

  4. Nur unter Windows: Ein Benutzer, der sich mit einer Microsoft-Anwendung wie Visual Studio angemeldet hat. Wenn sich mehrere Identitäten im Cache befinden, wird der Wert der Umgebungsvariable AZURE_USERNAME verwendet, um die zu verwendende Identität auszuwählen. Weitere Informationen finden Sie unter SharedTokenCacheCredential.

  5. Die Identität, die derzeit bei der Azure CLI angemeldet ist.

  6. Die Identität, die derzeit bei Azure PowerShell angemeldet ist.

  7. Die Identität, die derzeit beim Azure Developer CLI angemeldet ist.

Dieses Standardverhalten kann mit Schlüsselwort (keyword) Argumenten konfiguriert werden.

DeviceCodeCredential

Authentifiziert Benutzer über den Gerätecodeflow.

Wenn get_token diese Anmeldeinformationen aufgerufen werden, werden eine Überprüfungs-URL und Code aus Azure Active Directory abgerufen. Ein Benutzer muss zur URL navigieren, den Code eingeben und sich bei Azure Active Directory authentifizieren. Wenn sich der Benutzer erfolgreich authentifiziert, erhalten die Anmeldeinformationen ein Zugriffstoken.

Diese Anmeldeinformationen sind in erster Linie nützlich für die Authentifizierung eines Benutzers in einer Umgebung ohne Webbrowser, z. B. einer SSH-Sitzung. Wenn ein Webbrowser verfügbar ist, ist es bequemer, InteractiveBrowserCredential da er automatisch einen Browser für die Anmeldeseite öffnet.

EnvironmentCredential

Anmeldeinformationen, die durch Umgebungsvariablen konfiguriert sind.

Diese Anmeldeinformationen können sich als Dienstprinzipal mithilfe eines geheimen Clientschlüssels oder zertifikats oder als Benutzer mit Benutzername und Kennwort authentifizieren. Die Konfiguration wird in dieser Reihenfolge mithilfe der folgenden Umgebungsvariablen versucht:

Dienstprinzipal mit Geheimnis:

  • AZURE_TENANT_ID: ID des Mandanten des Dienstprinzipals. Wird auch als "Verzeichnis"-ID bezeichnet.

  • AZURE_CLIENT_ID: Die Client-ID des Dienstprinzipals

  • AZURE_CLIENT_SECRET: eines der Clientgeheimnisse des Dienstprinzipals

  • AZURE_AUTHORITY_HOST: Autorität eines Azure Active Directory-Endpunkts, z. B. "login.microsoftonline.com", der Autorität für Azure Public Cloud. Dies ist die Standardeinstellung, wenn kein Wert angegeben wird.

Dienstprinzipal mit Zertifikat:

  • AZURE_TENANT_ID: ID des Mandanten des Dienstprinzipals. Wird auch als "Verzeichnis"-ID bezeichnet.

  • AZURE_CLIENT_ID: Die Client-ID des Dienstprinzipals

  • AZURE_CLIENT_CERTIFICATE_PATH: Pfad zu einer PEM- oder PKCS12-Zertifikatdatei einschließlich des privaten Schlüssels.

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: (optional) Kennwort der Zertifikatdatei, falls vorhanden.

  • AZURE_AUTHORITY_HOST: Autorität eines Azure Active Directory-Endpunkts, z. B. "login.microsoftonline.com", der Autorität für Azure Public Cloud. Dies ist die Standardeinstellung, wenn kein Wert angegeben wird.

Benutzer mit Benutzername und Kennwort:

  • AZURE_CLIENT_ID: Die Client-ID der Anwendung

  • AZURE_USERNAME: Ein Benutzername (in der Regel eine E-Mail-Adresse)

  • AZURE_PASSWORD: Das Kennwort dieses Benutzers

  • AZURE_TENANT_ID: (optional) ID des Mandanten des Dienstprinzipals. Wird auch als "Verzeichnis"-ID bezeichnet. Wenn nicht angegeben, wird standardmäßig der Mandant "Organisationen" verwendet, der nur Azure Active Directory-Geschäfts- oder Schulkonten unterstützt.

  • AZURE_AUTHORITY_HOST: Autorität eines Azure Active Directory-Endpunkts, z. B. "login.microsoftonline.com", der Autorität für Azure Public Cloud. Dies ist die Standardeinstellung, wenn kein Wert angegeben wird.

InteractiveBrowserCredential

Öffnet einen Browser, um einen Benutzer interaktiv zu authentifizieren.

get_token öffnet einen Browser für eine von Azure Active Directory bereitgestellte Anmelde-URL und authentifiziert einen Benutzer dort mit dem Autorisierungscodefluss, wobei PKCE (Proof Key for Code Exchange) intern verwendet wird, um den Code zu schützen.

KnownAuthorities

Alias von AzureAuthorityHosts

ManagedIdentityCredential

Authentifiziert sich mit einer verwalteten Azure-Identität in jeder Hostingumgebung, die verwaltete Identitäten unterstützt.

Diese Anmeldeinformationen verwenden standardmäßig eine systemseitig zugewiesene Identität. Verwenden Sie zum Konfigurieren einer benutzerseitig zugewiesenen Identität eines der Schlüsselwort (keyword) Argumente. Weitere Informationen zum Konfigurieren der verwalteten Identität für Anwendungen finden Sie in der Azure Active Directory-Dokumentation .

OnBehalfOfCredential

Authentifiziert einen Dienstprinzipal über den Im-Auftrag-of-Flow.

Dieser Flow wird in der Regel von Diensten der mittleren Ebene verwendet, die Anforderungen für andere Dienste mit einer delegierten Benutzeridentität autorisieren. Da es sich hierbei nicht um einen interaktiven Authentifizierungsfluss handelt, muss eine Anwendung, die sie verwendet, über administratorrechte Zustimmung für alle delegierten Berechtigungen verfügen, bevor sie Token für sie anfordert. Eine ausführlichere Beschreibung des Flusses im Auftrag von finden Sie in der Azure Active Directory-Dokumentation .

SharedTokenCacheCredential

Authentifizierung mit Token in dem von Microsoft-Anwendungen gemeinsam genutzten lokalen Cache.

TokenCachePersistenceOptions

Optionen für die persistente Tokenzwischenspeicherung.

Die meisten Anmeldeinformationen akzeptieren eine instance dieser Klasse zum Konfigurieren der persistenten Tokenzwischenspeicherung. Die Standardwerte konfigurieren Anmeldeinformationen für die Verwendung eines Caches, der mit Microsoft-Entwicklertools und SharedTokenCacheCredentialfreigegeben wurde. Um die Daten einer Anmeldeinformation von anderen Anwendungen zu isolieren, geben Sie einen Namen für den Cache an.

Standardmäßig wird der Cache mit der Benutzerdatenschutz-API der aktuellen Plattform verschlüsselt und löst einen Fehler aus, wenn dieser nicht verfügbar ist. Um den Cache so zu konfigurieren, dass er auf eine unverschlüsselte Datei zurückfällt, anstatt einen Fehler auszuwerfen, geben Sie allow_unencrypted_storage=True an.

Warnung

Der Cache enthält Authentifizierungsgeheimnisse. Wenn der Cache nicht verschlüsselt ist, wird er durch

Die Verantwortung der Anwendung. Ein Verstoß gegen seinen Inhalt führt zu einer vollständigen Kompromittierung von Konten.

UsernamePasswordCredential

Authentifiziert einen Benutzer mit einem Benutzernamen und einem Kennwort.

Im Allgemeinen empfiehlt Microsoft diese Art der Authentifizierung nicht, da sie weniger sicher ist als andere Authentifizierungsflüsse.

Die Authentifizierung mit diesen Anmeldeinformationen ist nicht interaktiv, sodass sie nicht mit jeder Form der mehrstufigen Authentifizierung oder Zustimmungsaufforderung kompatibel ist. Die Anwendung muss bereits über die Zustimmung des Benutzers oder eines Verzeichnisadministrators verfügen.

Diese Anmeldeinformationen können nur Geschäfts- und Schulkonten authentifizieren. Microsoft-Konten werden nicht unterstützt. Weitere Informationen zu Kontotypen finden Sie in der Dokumentation zu Azure Active Directory .

VisualStudioCodeCredential

Authentifiziert sich als Azure-Benutzer, der bei Visual Studio Code über die Erweiterung "Azure-Konto" angemeldet ist.

Es ist ein bekanntes Problem , dass diese Anmeldeinformationen nicht mit Azure-Kontoerweiterungsversionen funktionieren, die neuer als 0.9.11 sind. Eine langfristige Lösung dieses Problems wird ausgeführt. In der Zwischenzeit sollten Sie sich mit AzureCliCredentialauthentifizieren.

WorkloadIdentityCredential

Authentifiziert sich mithilfe einer Azure Active Directory-Workloadidentität.

Die Workloadidentitätsauthentifizierung ist ein Feature in Azure, mit dem Anwendungen, die auf virtuellen Computern (VMs) ausgeführt werden, ohne dass ein Dienstprinzipal oder eine verwaltete Identität erforderlich ist, auf andere Azure-Ressourcen zugreifen können. Bei der Workloadidentitätsauthentifizierung authentifizieren sich Anwendungen selbst mit ihrer eigenen Identität, anstatt einen freigegebenen Dienstprinzipal oder eine verwaltete Identität zu verwenden. Unter der Haube verwendet die Workloadidentitätsauthentifizierung das Konzept der Dienstkontoanmeldeinformationen (Service Account Credentials, SACs), die automatisch von Azure erstellt und sicher auf der VM gespeichert werden. Mithilfe der Workloadidentitätsauthentifizierung können Sie die Notwendigkeit vermeiden, Dienstprinzipale oder verwaltete Identitäten für jede Anwendung auf jedem virtuellen Computer zu verwalten und zu rotieren. Da SACs automatisch erstellt und von Azure verwaltet werden, müssen Sie sich darüber hinaus keine Gedanken über das Speichern und Schützen vertraulicher Anmeldeinformationen selbst machen.

WorkloadIdentityCredential unterstützt die Authentifizierung der Azure-Workloadidentität in Azure Kubernetes und ruft ein Token mithilfe der Anmeldeinformationen des Dienstkontos ab, die in der Azure Kubernetes-Umgebung verfügbar sind. Weitere Informationen finden Sie in dieser Übersicht über die Workloadidentität .