Clientbibliothek des Azure Mixed Reality-Authentifizierungspakets für Python– Version 1.0.0b1
Mixed Reality Dienste wie Azure Spatial Anchors, Azure Remote Rendering und andere verwenden den Mixed Reality Sicherheitstokendienst (STS) für die Authentifizierung. Dieses Paket unterstützt den Austausch Mixed Reality Kontoanmeldeinformationen gegen ein Zugriffstoken vom STS, das für den Zugriff auf Mixed Reality Dienste verwendet werden kann.
Erste Schritte
Die derzeitig unterstützten Umgebungen
Dieses Paket wurde mit Python 2.7, 3.5, 3.6, 3.7, 3.8 und 3.9 getestet.
Voraussetzungen
- Ein Azure-Abonnement.
- Sie benötigen ein Konto bei einem Azure Mixed Reality-Dienst:
- Vertrautheit mit den Authentifizierungs- und Anmeldeinformationskonzepten aus der Azure Identity-Bibliothek.
- Für die Verwendung dieses Pakets ist Python 2.7 oder 3.5 oder höher erforderlich.
Installieren des Pakets
Installieren Sie das Azure Mixed Reality Authentication SDK.
pip install --pre azure-mixedreality-authentication
Erstellen und Authentifizieren eines MixedRealityStsClient
Um ein Clientobjekt zum Anfordern eines Zugriffstokens für einen Mixed Reality-Dienst zu erstellen, benötigen Sie und der account identifier
account domain
Mixed Reality-Dienstressource und eine credential
.
Mixed Reality-Dienste unterstützen einige verschiedene Authentifizierungsformen:
- Kontoschlüsselauthentifizierung
- Mit Kontoschlüsseln können Sie schnell mit der Verwendung Mixed Reality-Dienste beginnen. Aber bevor Sie Ihre Anwendung in der Produktionsumgebung bereitstellen, empfiehlt es sich, dass Sie Ihre App für die Verwendung von Azure AD-Authentifizierung aktualisieren.
- Azure Active Directory-Tokenauthentifizierung (AD)
- Wenn Sie eine Unternehmensanwendung entwickeln und Ihr Unternehmen Azure AD als Identitätssystem verwendet, können Sie die benutzerbasierte Azure AD-Authentifizierung in Ihrer App verwenden. Anschließend gewähren Sie Mithilfe Ihrer vorhandenen Azure AD-Sicherheitsgruppen Zugriff auf Ihre Mixed Reality-Konten. Sie können Benutzern in Ihrer Organisation Zugriff auch direkt gewähren.
- Andernfalls empfiehlt es sich, Azure AD-Token von einem Webdienst abzurufen, der Ihre App unterstützt. Wir empfehlen diese Methode für Produktionsanwendungen, da Sie die Einbettung der Anmeldeinformationen für den Zugriff auf einen Mixed Reality-Dienst in Ihrer Clientanwendung vermeiden können.
Ausführliche Anweisungen und Informationen finden Sie hier .
Verwenden der Kontoschlüsselauthentifizierung
Navigieren Sie im Azure-Portal zu Ihrer Mixed Reality-Dienstressource, und rufen Sie eine account key
ab.
Sobald Sie über einen Kontoschlüssel verfügen, können Sie die AzureKeyCredential
-Klasse verwenden, um den Client wie folgt zu authentifizieren:
from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication import MixedRealityStsClient
account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)
client = MixedRealityStsClient(account_id, account_domain, key_credential)
Hinweis: Die Kontoschlüsselauthentifizierung wird für Produktionsanwendungen nicht empfohlen .
Verwenden von Azure Active Directory-Anmeldeinformationen
Die Kontoschlüsselauthentifizierung wird in den meisten Beispielen verwendet, aber Sie können sich auch mithilfe der Azure Identity-Bibliothek bei Azure Active Directory authentifizieren. Dies ist die empfohlene Methode für Produktionsanwendungen. Um den unten gezeigten DefaultAzureCredential-Anbieter oder andere Anmeldeinformationsanbieter zu verwenden, die mit dem Azure SDK bereitgestellt werden, installieren Sie das @azure/identity
Paket:
Außerdem müssen Sie eine neue AAD-Anwendung registrieren und Zugriff auf Ihre Mixed Reality-Ressource gewähren, indem Sie Ihrem Dienstprinzipal die entsprechende Rolle für Ihren Mixed Reality-Dienst zuweisen.
from azure.identity import DefaultAzureCredential
from azure.mixedreality.authentication import MixedRealityStsClient
account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
default_credential = DefaultAzureCredential()
client = MixedRealityStsClient(account_id, account_domain, default_credential)
Wichtige Begriffe
MixedRealityStsClient
ist MixedRealityStsClient
die Clientbibliothek, die verwendet wird, um auf die Mixed Reality STS zuzugreifen, um ein Zugriffstoken abzurufen. Ein Zugriffstoken kann durch Aufrufen get_token()
einer MixedRealityStsClient
-Instanz abgerufen werden.
Token, die vom Mixed Reality STS abgerufen werden, haben eine Lebensdauer von 24 Stunden.
Tokenergebniswert
Der Rückgabewert für einen erfolgreichen Aufruf von get_token
ist ein azure.core.credentials.AccessToken
.
In den obigen Authentifizierungsbeispielen oder in Azure Identity finden Sie komplexere Authentifizierungsszenarien.
Synchrones Abrufen eines Zugriffstokens
from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication import MixedRealityStsClient
account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)
client = MixedRealityStsClient(account_id, account_domain, key_credential)
token = client.get_token()
asynchrones Abrufen eines Zugriffstokens
from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication.aio import MixedRealityStsClient
account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)
client = MixedRealityStsClient(account_id, account_domain, key_credential)
token = await client.get_token()
Beispiele
Dies sind Codebeispiele, die allgemeine Szenariovorgänge mit der Azure Mixed Reality Authentication-Clientbibliothek zeigen.
Die asynchronen Versionen der Beispiele (die python-Beispieldateien, die mit _async
angefügt sind) zeigen asynchrone Vorgänge an und erfordern Python 3.5 oder höher.
Lesen Sie vor dem Ausführen des Beispielcodes unter Voraussetzungen.
, um eine Ressource zu erstellen, und legen Sie dann einige Umgebungsvariablen fest.
set MIXEDREALITY_ACCOUNT_DOMAIN="<the Mixed Reality account domain>"
set MIXEDREALITY_ACCOUNT_ID="<the Mixed Reality account identifier>"
set MIXEDREALITY_ACCOUNT_KEY="<the Mixed Reality account primary or secondary key>"
pip install azure-mixedreality-authentication
python samples\client_sample.py
python samples\client_sample_async.py
Problembehandlung
Der Abschnitt zur Problembehandlung für Azure Identity kann bei der Behandlung von Authentifizierungsproblemen hilfreich sein.
Nächste Schritte
Mixed Reality Clientbibliotheken
- In Kürze verfügbar
Mitwirken
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.
Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.
Azure SDK for Python