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:
- Enables Single Sign-On (SSO): Hiermee kunnen apps vereenvoudigen hoe gebruikers zich verifiëren met Microsoft Entra ID en Microsoft Entra ID vernieuwingstokens beschermen 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.
De app configureren voor gecontroleerde authenticatie
Voer de volgende stappen uit om brokered verificatie in te schakelen in uw toepassing:
Navigeer in de Azure portal naar Microsoft Entra ID en selecteer App registrations 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 in:
ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}Vervang
{your_client_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 voor specifieke resources wilt autoriseren, gaat u naar de betreffende resource, selecteert u API-machtigingen en 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 succesvol wilt uitvoeren met brokered verificatie, geeft u uw gebruikersaccount de juiste machtigingen met behulp van op rollen gebaseerd Azure-toegangsbeheer (RBAC). Wijs een juiste rol toe aan uw gebruikersaccount voor de relevante Azure-service. Voorbeeld:
- Azure Blob Storage: Wijs de rol Storage-accountgegevensbijdrager 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 Access Azure Storage (stap 6 in de vorige sectie). Met deze API-machtiging heeft de app toegang tot Azure opslag namens de aangemelde gebruiker nadat toestemming is verleend tijdens het aanmelden.
De code implementeren
De Azure Identity-bibliotheek ondersteunt brokered verificatie met behulp van InteractiveBrowserCredential. De azure-identity-broker-bibliotheek biedt InteractiveBrowserBrokerCredentialBuilder, waarmee een InteractiveBrowserCredential kan worden gemaakt dat in staat is de systeemverificatie-broker te gebruiken. Als u bijvoorbeeld brokered verificatie wilt gebruiken in een Java-console-app om te verifiëren bij Azure Key Vault met de SecretClient, voert u de volgende stappen uit:
Voeg de
azure-identity-brokerafhankelijkheid toe aan uwpom.xmlbestand:<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity-broker</artifactId> </dependency>Haal een verwijzing op naar het bovenliggende venster waarop het accountkiezer-dialoogvenster moet worden weergegeven. Voor voorbeelden, zie Een venstergreep ophalen.
Maak een instantie van
InteractiveBrowserCredentialmet behulp vanInteractiveBrowserBrokerCredentialBuilder:import com.azure.identity.InteractiveBrowserCredential; import com.azure.identity.broker.InteractiveBrowserBrokerCredentialBuilder; import com.azure.security.keyvault.secrets.SecretClient; import com.azure.security.keyvault.secrets.SecretClientBuilder; import com.azure.security.keyvault.secrets.models.KeyVaultSecret; long windowHandle = getWindowHandle(); // See examples below InteractiveBrowserCredential credential = new InteractiveBrowserBrokerCredentialBuilder() .setWindowHandle(windowHandle) .useDefaultBrokerAccount() .build(); SecretClient client = new SecretClientBuilder() .vaultUrl("https://<your-key-vault-name>.vault.azure.net") .credential(credential) .buildClient(); KeyVaultSecret secret = client.getSecret("MySecret"); System.out.println("Retrieved secret: " + secret.getName());
In het voorgaande voorbeeld start useDefaultBrokerAccount een stille, bemiddelde authenticatiestroom met het standaardsysteemaccount. Op deze manier hoeft de gebruiker niet herhaaldelijk hetzelfde account te selecteren. Als brokered authenticatie mislukt wanneer deze stil is, wordt er teruggevallen op interactieve brokered authenticatie.
In de volgende schermopname ziet u de alternatieve interactieve, brokered authentication-ervaring:
Een venstergreep ophalen
Wanneer u interactief verifieert met behulp van InteractiveBrowserCredential, hebt u een oudervensterhandle nodig om ervoor te zorgen dat het authenticatiedialoogvenster correct boven het venster dat de aanvraag verzendt, wordt weergegeven.
JavaFX-toepassing
Voor een JavaFX-toepassing gebruikt u JNA (Java Native Access) om de venstergreep op te halen:
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.User32;
import com.sun.jna.platform.win32.WinDef;
public long getWindowHandle(Stage stage) {
WinDef.HWND hwnd = User32.INSTANCE.FindWindow(null, stage.getTitle());
return Pointer.nativeValue(hwnd.getPointer());
}
Console-applicatie
Voor een consoletoepassing op Windows gebruikt u JNA om de consolevenstergreep op te halen:
import com.sun.jna.Pointer;
import com.sun.jna.platform.win32.Kernel32;
import com.sun.jna.platform.win32.WinDef;
WinDef.HWND hwnd = Kernel32.INSTANCE.GetConsoleWindow();
long windowHandle = Pointer.nativeValue(hwnd.getPointer());