Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Zprostředkované ověřování shromažďuje přihlašovací údaje uživatele pomocí zprostředkovatele ověřování systému k ověření aplikace. Zprostředkovatel ověřování systému je aplikace spuštěná na počítači uživatele, který spravuje ověřování handshakes a údržbu tokenů pro všechny připojené účty.
Zprostředkované ověřování nabízí následující výhody:
- Povolí jednotné Sign-On (SSO): Umožňuje aplikacím zjednodušit ověřování uživatelů pomocí ID Microsoft Entra a chránit obnovovací tokeny Microsoft Entra ID před exfiltrací a zneužitím.
- Rozšířené zabezpečení: Mnoho vylepšení zabezpečení se dodává se zprostředkovatelem, aniž by bylo nutné aktualizovat logiku aplikace.
- Vylepšená podpora funkcí: S pomocí zprostředkovatele můžou vývojáři přistupovat k bohatým možnostem operačního systému a služeb.
- Integrace systému: Aplikace, které používají modul plug-and-play zprostředkovatele s integrovaným výběrem účtu, umožňuje uživateli rychle vybrat existující účet místo opětovného zadávání stejných přihlašovacích údajů.
- Ochrana tokenů: Zajišťuje, že jsou obnovovací tokeny vázané na zařízení a umožňují aplikacím získávat přístupové tokeny vázané na zařízení. Další informace najdete v tématu Ochrana tokenů.
Systém Windows poskytuje zprostředkovatele ověřování s názvem Správce webových účtů (WAM). WAM umožňuje poskytovatelům identity, jako je Microsoft Entra ID, nativně připojit k operačnímu systému a poskytovat aplikacím zabezpečené přihlašovací služby. Zprostředkované ověřování umožňuje aplikaci pro všechny operace povolené interaktivními přihlašovacími údaji.
Podporují se osobní účty Microsoft a pracovní nebo školní účty. V podporovaných verzích Windows se výchozí uživatelské rozhraní založené na prohlížeči nahrazuje plynulejším prostředím ověřování, podobně jako integrované aplikace pro Windows.
macOS nativně neobsahuje integrovaného zprostředkovatele ověřování. Klientská knihovna Azure Identity implementuje zprostředkované funkce ověřování pomocí mechanismů specifických pro platformu a může se integrovat s aplikacemi, jako je Portál společnosti Microsoft při správě zařízení. Další informace najdete v modulu plug-in Microsoft Enterprise SSO pro zařízení Apple.
Linux používá jako zprostředkovatele ověřování jednotné přihlašování Microsoftu pro Linux .
Konfigurace aplikace pro zprostředkované ověřování
Pokud chcete ve své aplikaci povolit zprostředkované ověřování, postupujte takto:
Na webu Azure Portal přejděte na MICROSOFT Entra ID a v nabídce vlevo vyberte Registrace aplikací .
Vyberte registraci aplikace a pak vyberte Ověřování.
Přidejte do registrace aplikace odpovídající identifikátor URI přesměrování prostřednictvím konfigurace platformy:
V části Konfigurace platformy vyberte + Přidat platformu.
V části Konfigurovat platformy vyberte dlaždici pro váš typ aplikace (platformu) a nakonfigurujte její nastavení, jako jsou mobilní a desktopové aplikace.
V identifikátorech URI pro vlastní přesměrování zadejte následující identifikátor URI přesměrování pro vaši platformu:
Platforma URI pro přesměrování Windows 10+ nebo WSL ms-appx-web://Microsoft.AAD.BrokerPlugin/{your_client_id}macOS msauth.com.msauth.unsignedapp://authpro nepodepsané aplikace
msauth.{bundle_id}://authpro podepsané aplikaceOperační systém Linux https://login.microsoftonline.com/common/oauth2/nativeclientNahraďte nebo
{your_client_id}nahraďte{bundle_id}ID aplikace (klienta) z podokna Přehled registrace aplikace.Vyberte a nakonfigurujte.
Další informace najdete v tématu Přidání identifikátoru URI přesměrování do registrace aplikace.
Zpět v podokně Ověřování v části Upřesnit nastavení vyberte Možnost Ano pro toky veřejného klienta.
Chcete-li použít změny, vyberte Uložit .
Pokud chcete aplikaci autorizovat pro konkrétní prostředky, přejděte na příslušný prostředek, vyberte oprávnění rozhraní API a povolte Microsoft Graph a další prostředky, ke které chcete získat přístup.
Důležité
Při prvním přihlášení musíte být také správcem vašeho tenanta, abyste udělili souhlas s vaší aplikací.
Přiřaďte role
Pokud chcete úspěšně spustit kód aplikace s zprostředkovaným ověřováním, udělte svému uživatelskému účtu oprávnění pomocí řízení přístupu na základě role v Azure (RBAC). Přiřaďte příslušné roli k vašemu uživatelskému účtu pro příslušnou službu Azure. Například:
- Azure Blob Storage: Přiřaďte roli Přispěvatel dat účtu úložiště .
- Azure Key Vault: Přiřaďte roli Tajné kódy služby Key Vault .
Pokud je aplikace zadaná, musí mít nastavená oprávnění rozhraní API pro user_impersonation Access Azure Storage (krok 6 v předchozí části). Toto oprávnění rozhraní API umožňuje aplikaci přístup k úložišti Azure jménem přihlášeného uživatele po udělení souhlasu během přihlašování.
Implementace kódu
Knihovna Identit Azure podporuje zprostředkované ověřování pomocí InteractiveBrowserCredential. Pokud například chcete použít InteractiveBrowserCredential aplikaci MAUI k ověření ve službě SecretClientAzure Key Vault pomocí následujícího postupu:
Knihovna Identit Azure poskytuje interaktivní zprostředkované ověřování pomocí InteractiveBrowserCredential. Pokud chcete například použít InteractiveBrowserCredential konzolovou aplikaci k ověření ve službě Azure Key Vault pomocí SecretClientnásledujícího postupu:
Nainstalujte balíčky Azure.Identity a Azure.Identity.Broker .
dotnet add package Azure.Identity dotnet add package Azure.Identity.BrokerZískejte odkaz na nadřazené okno, ve kterém by se mělo zobrazit dialogové okno pro výběr účtu.
Vytvořte instanci InteractiveBrowserCredential použití InteractiveBrowserCredentialBrokerOptions.
// Get the parent window handle for MAUI on Windows
Microsoft.Maui.Controls.Window? parentWindow = this.GetParentWindow();
Microsoft.UI.Xaml.Window? windowHandle = parentWindow?.Handler?.PlatformView as Microsoft.UI.Xaml.Window;
IntPtr hwnd = windowHandle != null ? WinRT.Interop.WindowNative.GetWindowHandle(windowHandle) : IntPtr.Zero;
// Configure InteractiveBrowserCredentialBrokerOptions with parent window reference
InteractiveBrowserCredentialBrokerOptions options = new(hwnd)
{
UseDefaultBrokerAccount = true,
};
// Create credential that will use WAM broker on Windows
InteractiveBrowserCredential credential = new(options);
SecretClient client = new(new Uri(KeyVaultUrl), credential);
KeyVaultSecret secret = await client.GetSecretAsync(SecretName);
Nainstalujte balíčky Azure.Identity a Azure.Identity.Broker .
dotnet add package Azure.Identity dotnet add package Azure.Identity.BrokerPoznámka:
Podpora pro macOS existuje ve
Azure.Identity.Brokerverzích 1.3.0 a novějších.Získejte odkaz na nadřazené okno, ve kterém by se mělo zobrazit dialogové okno pro výběr účtu.
Vytvořte instanci InteractiveBrowserCredential použití InteractiveBrowserCredentialBrokerOptions.
// Get the parent window handle for MAUI on Mac Catalyst
Microsoft.Maui.Controls.Window? parentWindow = this.GetParentWindow();
UIWindow? uiWindow = parentWindow?.Handler?.PlatformView as UIWindow;
IntPtr hwnd = uiWindow != null ? uiWindow.Handle : IntPtr.Zero;
// Configure InteractiveBrowserCredentialBrokerOptions with parent window reference
InteractiveBrowserCredentialBrokerOptions options = new(hwnd)
{
UseDefaultBrokerAccount = true,
};
// Create credential that will use the broker on macOS
InteractiveBrowserCredential credential = new(options);
SecretClient client = new(new Uri(KeyVaultUrl), credential);
KeyVaultSecret secret = await client.GetSecretAsync(SecretName);
Nainstalujte balíčky Azure.Identity a Azure.Identity.Broker .
dotnet add package Azure.Identity dotnet add package Azure.Identity.BrokerPoznámka:
Podpora Linuxu existuje ve
Azure.Identity.Brokerverzích 1.3.0 a novějších.Získejte odkaz na nadřazené okno, ve kterém by se mělo zobrazit dialogové okno pro výběr účtu.
Vytvořte instanci InteractiveBrowserCredential použití InteractiveBrowserCredentialBrokerOptions.
/// <summary>
/// Get the handle of the console window for Linux
/// </summary>
[DllImport("libX11")]
static extern IntPtr XOpenDisplay(string display);
[DllImport("libX11")]
static extern IntPtr XRootWindow(IntPtr display, int screen);
try
{
IntPtr parentWindowHandle = XRootWindow(XOpenDisplay(null), 0);
Func<IntPtr> consoleWindowHandleProvider = () => parentWindowHandle;
InteractiveBrowserCredentialBrokerOptions options = new(parentWindowHandle)
{
UseDefaultBrokerAccount = true,
};
// Create the InteractiveBrowserCredential using broker support
InteractiveBrowserCredential credential = new(options);
Uri vaultUri = new("https://<your-key-vault-name>.vault.azure.net/");
SecretClient client = new(vaultUri, credential);
Console.WriteLine("Retrieving secret 'MySecret' from Key Vault...");
KeyVaultSecret secret = await client.GetSecretAsync("MySecret");
return 0;
}
Návod
Podívejte se na úplný vzorový kód aplikace v úložišti .NET na GitHubu.
V předchozím příkladu je vlastnost UseDefaultBrokerAccount nastavena na true, která se přihlásí do tichého zprostředkovaného ověřovacího toku s výchozím systémovým účtem. Tímto způsobem uživatel nemusí opakovaně vybírat stejný účet. Pokud tiché, zprostředkované ověřování selže nebo UseDefaultBrokerAccount je nastaveno false, InteractiveBrowserCredential vrátí se zpět do interaktivního zprostředkovaného ověřování.
Následující snímek obrazovky ukazuje alternativní interaktivní prostředí zprostředkovaného ověřování:
Následující snímek obrazovky ukazuje alternativní interaktivní prostředí zprostředkovaného ověřování:
Následující video ukazuje alternativní interaktivní zprostředkované ověřování: