Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Brokered-authenticatie verzamelt gebruikersreferenties met behulp van de systeemauthenticatiebroker om een app te authenticeren. Een systeemverificatiebroker is een app die wordt uitgevoerd op de computer van een gebruiker waarmee de verificatiehanddruk en tokenonderhoud voor alle verbonden accounts worden beheerd.
Brokered-verificatie biedt de volgende voordelen:
- Hiermee schakelt u Eenmalige Sign-On (SSO) in: Hiermee kunnen apps vereenvoudigen hoe gebruikers zich verifiëren met Microsoft Entra ID en worden vernieuwingstokens van Microsoft Entra ID beschermd tegen exfiltratie en misbruik.
- Verbeterde beveiliging: Veel beveiligingsverbeteringen worden geleverd met de broker, zonder dat u de app-logica hoeft bij te werken.
- Verbeterde functieondersteuning: Met behulp van de broker hebben ontwikkelaars toegang tot uitgebreide besturingssysteem- en servicemogelijkheden.
- Systeemintegratie: Toepassingen die gebruikmaken van de broker plug-and-play met de ingebouwde accountkiezer, zodat de gebruiker snel een bestaand account kan kiezen in plaats van dezelfde referenties telkens opnieuw in te voeren.
- Beveiliging van tokens: Zorgt ervoor dat de vernieuwingstokens apparaatgebonden zijn en apps in staat stelt om apparaatgebonden toegangstokens te verkrijgen. Zie Tokenbeveiliging.
Windows biedt een verificatiebroker met de naam Web Account Manager (WAM). MET WAM kunnen id-providers zoals Microsoft Entra ID systeemeigen worden aangesloten op het besturingssysteem en veilige aanmeldingsservices bieden aan apps. Met brokered-verificatie kan de app worden ingeschakeld voor alle bewerkingen die zijn toegestaan door de interactieve aanmeldingsreferenties.
Persoonlijke Microsoft-accounts en werk- of schoolaccounts worden ondersteund. In ondersteunde Windows-versies wordt de standaardgebruikersinterface op basis van een browser vervangen door een soepelere verificatie-ervaring, vergelijkbaar met ingebouwde Windows-apps.
macOS bevat geen ingebouwde verificatiebroker. De Azure Identity-clientbibliotheek implementeert brokered-verificatiefuncties met platformspecifieke mechanismen en kan worden geïntegreerd met apps zoals Microsoft-bedrijfsportal wanneer apparaten worden beheerd. Zie microsoft Enterprise SSO-invoegtoepassing voor Apple-apparaten voor meer informatie.
Linux gebruikt eenmalige aanmelding van Microsoft voor Linux als verificatiebroker.
De app configureren voor brokered authentication
Voer de volgende stappen uit om brokered verificatie in te schakelen in uw toepassing:
Navigeer in Azure Portal naar Microsoft Entra ID en selecteer App-registraties in het menu aan de linkerkant.
Selecteer de registratie voor uw app en selecteer vervolgens Verificatie.
Voeg de juiste omleidings-URI toe aan uw app-registratie via een platformconfiguratie:
Selecteer onder Platformconfiguratiesde optie + Een platform toevoegen.
Selecteer onder Platformen configureren de tegel voor uw toepassingstype (platform) om de instellingen te configureren, zoals mobiele en bureaubladtoepassingen.
Voer in aangepaste omleidings-URI's de volgende omleidings-URI voor uw platform in:
Platform Doorverwijs-URI Windows 10+ of WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}macOS msauth.com.msauth.unsignedapp://authvoor niet-ondertekende apps
msauth.{bundle_id}://authvoor ondertekende appsLinux https://login.microsoftonline.com/common/oauth2/nativeclientVervang
{your_client_id}of{bundle_id}door de toepassings-id (client) in het deelvenster Overzicht van de app-registratie.Selecteer Configureren.
Zie Een omleidings-URI toevoegen aan een app-registratie voor meer informatie.
Selecteer in het deelvenster Verificatie onder Geavanceerde instellingenJa voor openbare clientstromen toestaan.
Selecteer Opslaan om de wijzigingen toe te passen.
Als u de toepassing wilt autoriseren voor specifieke resources, gaat u naar de betreffende resource, selecteert u API-machtigingenen schakelt u Microsoft Graph- en andere resources in die u wilt openen.
Belangrijk
Je moet ook de beheerder van je huuraccount zijn om toestemming te verlenen aan je applicatie bij je eerste aanmelding.
Rollen toewijzen
Als u uw app-code wilt uitvoeren met brokered verificatie, verleent u uw gebruikersaccountmachtigingen met behulp van op rollen gebaseerd toegangsbeheer (RBAC) van Azure. Wijs een geschikte rol toe aan uw gebruikersaccount voor de relevante Azure-service. Voorbeeld:
- Azure Blob Storage: wijs de rol Inzender voor opslagaccountgegevens toe.
- Azure Key Vault: Wijs de rol Key Vault Secrets Officer toe.
Als een app is opgegeven, moeten API-machtigingen zijn ingesteld voor user_impersonation Azure Storage-toegang (stap 6 in de vorige sectie). Met deze API-machtiging kan de app namens de aangemelde gebruiker toegang krijgen tot Azure Storage nadat toestemming is verleend tijdens het aanmelden.
De code implementeren
In het volgende voorbeeld wordt gedemonstreerd hoe u een InteractiveBrowserBrokerCredential kunt gebruiken om te verifiëren met het BlobServiceClient.
Installeer de pakketten.
pywin32wordt gebruikt in Windows om het venster op te halen dat zich momenteel op de voorgrond bevindt.pip install azure-identity-broker pywin32Haal een verwijzing op naar het bovenliggende venster waarop het dialoogvenster accountkiezer moet worden weergegeven. In het onderstaande codevoorbeeld is dit de regel:
current_window_handle = win32gui.GetForegroundWindow()Maak een exemplaar van
InteractiveBrowserBrokerCredentialdoor de referentie naar het bovenliggende venster in te geven. In het laatste codevoorbeeld is dit de regel:credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)Gebruik de
credentialservice voor toegang tot de Azure-service. Dit is Blob Storage in dit voorbeeld.
Hier volgt het laatste codevoorbeeld:
import win32gui
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
# Get the handle of the current window
current_window_handle = win32gui.GetForegroundWindow()
# To authenticate and authorize with an app, use the following line to get a credential and
# substitute the <app_id> and <tenant_id> placeholders with the values for your app and tenant.
# credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle, client_id=<app_id>, tenant_id=<tenant_id>)
credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Voor meer exacte controle, zoals het instellen van een time-out, kunt u specifieke argumenten opgeven voor InteractiveBrowserBrokerCredential bijvoorbeeld timeout.
Voor een geslaagde uitvoering van de code moet aan uw gebruikersaccount een Azure-rol worden toegewezen in het opslagaccount waarmee toegang tot blobcontainers, zoals Inzender voor opslagaccountgegevens, is toegestaan. Als een app is opgegeven, moeten API-machtigingen zijn ingesteld voor user_impersonation Azure Storage-toegang (stap 6 in de vorige sectie). Met deze API-machtiging kan de app namens de aangemelde gebruiker toegang krijgen tot Azure Storage nadat toestemming is verleend tijdens het aanmelden.
In de volgende schermopname ziet u de alternatieve interactieve, brokered authentication-ervaring:
Belangrijk
macOS-ondersteuning bestaat in azure-identity-broker versie 1.3.0 en hoger.
In het volgende voorbeeld ziet u hoe u een InteractiveBrowserBrokerCredential verificatie kunt uitvoeren met de BlobServiceClient.
Installeer de pakketten.
msal(Microsoft Authentication Library) wordt gebruikt om een constante voor deparent_window_handleparameter op te geven.pip install azure-identity-broker msalMaak een instantie van
InteractiveBrowserBrokerCredentialen geef de verwijzing naar het bovenliggende venster door. Hiervoor moet u een verwijzing krijgen naar het bovenliggende venster waarop het accountkiezer-dialoogvenster moet worden weergegeven (geleverd door demsal-module). In het onderstaande codevoorbeeld is dit de regel:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )Gebruik de
credentialservice voor toegang tot de Azure-service. Dit is Blob Storage in dit voorbeeld.
Hier volgt het laatste codevoorbeeld:
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
import msal
credential = InteractiveBrowserBrokerCredential(
parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE
)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Zie MSAL Python gebruiken met een Authentication Broker in macOS voor meer informatie over het gebruik van MSAL Python met verificatiebrokers in macOS.
Voor meer exacte controle, zoals het instellen van een time-out, kunt u specifieke argumenten opgeven voor InteractiveBrowserBrokerCredential bijvoorbeeld timeout.
Voor een geslaagde uitvoering van de code moet aan uw gebruikersaccount een Azure-rol worden toegewezen in het opslagaccount waarmee toegang tot blobcontainers, zoals Inzender voor opslagaccountgegevens, is toegestaan. Als een app is opgegeven, moeten API-machtigingen zijn ingesteld voor user_impersonation Azure Storage-toegang (stap 6 in de vorige sectie). Met deze API-machtiging kan de app namens de aangemelde gebruiker toegang krijgen tot Azure Storage nadat toestemming is verleend tijdens het aanmelden.
In de volgende schermopname ziet u de alternatieve interactieve, brokered authentication-ervaring:
Belangrijk
Linux-ondersteuning bestaat in azure-identity-broker versies 1.3.0 en hoger.
In het volgende voorbeeld wordt gedemonstreerd hoe u een InteractiveBrowserBrokerCredential kunt gebruiken om te verifiëren met het BlobServiceClient.
Installeer de pakketten.
msal(Microsoft Authentication Library) wordt gebruikt om een constante voor deparent_window_handleparameter op te geven.pip install azure-identity-broker msalMaak een instantie van
InteractiveBrowserBrokerCredentialdoor de verwijzing naar het bovenliggende venster door te geven. Om dit te doen, moet u een referentie verkrijgen naar het venster waarop het accountkiezer-dialoogvenster moet verschijnen (geleverd door demsalmodule). In het onderstaande codevoorbeeld is dit de regel:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )Gebruik de
credentialservice voor toegang tot de Azure-service. Dit is Blob Storage in dit voorbeeld.
Hier volgt het laatste codevoorbeeld:
from azure.identity.broker import InteractiveBrowserBrokerCredential
from azure.storage.blob import BlobServiceClient
import msal
credential = InteractiveBrowserBrokerCredential(
parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE
)
client = BlobServiceClient("https://<storage-account-name>.blob.core.windows.net/", credential=credential)
# Prompt for credentials appears on first use of the client
for container in client.list_containers():
print(container.name)
Zorg ervoor dat de Linux-afhankelijkheden zijn geïnstalleerd in uw Linux-distributie voordat u dit codevoorbeeld uitvoert. Er zijn ook afzonderlijke instructies voor WSL, afhankelijk van de distributie.
Voor meer exacte controle, zoals het instellen van een time-out, kunt u specifieke argumenten opgeven voor InteractiveBrowserBrokerCredential bijvoorbeeld timeout.
Voor een geslaagde uitvoering van de code moet aan uw gebruikersaccount een Azure-rol worden toegewezen in het opslagaccount waarmee toegang tot blobcontainers, zoals Inzender voor opslagaccountgegevens, is toegestaan. Als een app is opgegeven, moeten API-machtigingen zijn ingesteld voor user_impersonation Azure Storage-toegang (stap 6 in de vorige sectie). Met deze API-machtiging kan de app namens de aangemelde gebruiker toegang krijgen tot Azure Storage nadat toestemming is verleend tijdens het aanmelden.
In de volgende video ziet u de alternatieve interactieve, brokered verificatie-ervaring: