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í. Viz 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 Přesměrování URI 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 Ano pro Povolit 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í APIa 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
Následující příklad ukazuje použití InteractiveBrowserBrokerCredential k ověření pomocí BlobServiceClient:
Nainstalujte balíčky.
pywin32se použije v systému Windows k načtení okna aktuálně v popředí.pip install azure-identity-broker pywin32Získejte odkaz na nadřazené okno, ve kterém by se mělo zobrazit dialogové okno pro výběr účtu. V následujícím příkladu kódu to bude řádek:
current_window_handle = win32gui.GetForegroundWindow()Vytvořte instanci
InteractiveBrowserBrokerCredentialpředáním odkazu na nadřazené okno. V posledním příkladu kódu to bude řádek:credential = InteractiveBrowserBrokerCredential(parent_window_handle=current_window_handle)credentialPoužijte k přístupu ke službě Azure, což je Blob Storage v tomto příkladu.
Tady je poslední příklad kódu:
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)
Pro přesnější řízení, jako je nastavení časového limitu, můžete zadat konkrétní argumenty do InteractiveBrowserBrokerCredential, například timeout.
Aby se kód úspěšně spustil, musí mít váš uživatelský účet přiřazenou roli Azure v účtu úložiště, která umožňuje přístup k kontejnerům objektů blob, jako je Přispěvatel dat účtu úložiště. 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í.
Následující snímek obrazovky ukazuje alternativní interaktivní prostředí zprostředkovaného ověřování:
Důležité
Podpora pro macOS existuje ve azure-identity-broker verzích 1.3.0 a novějších.
Následující příklad ukazuje použití InteractiveBrowserBrokerCredential k ověření pomocí BlobServiceClient.
Nainstalujte balíčky.
msal(Microsoft Authentication Library) slouží k poskytnutí konstanty parametruparent_window_handle.pip install azure-identity-broker msalVytvořte instanci
InteractiveBrowserBrokerCredentialpředáním odkazu na nadřazené okno. To vyžaduje, abyste získali odkaz na nadřazené okno, ve kterém by se mělo zobrazit dialogové okno pro výběr účtu (poskytnuté modulemmsal). V následujícím příkladu kódu to bude řádek:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )credentialPoužijte k přístupu ke službě Azure, což je Blob Storage v tomto příkladu.
Tady je poslední příklad kódu:
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)
Další informace o používání MSAL Pythonu s ověřovacími zprostředkovateli v systému macOS najdete v tématu Použití MSAL Pythonu s zprostředkovatelem ověřování v systému macOS.
Pro přesnější řízení, jako je nastavení časového limitu, můžete zadat konkrétní argumenty do InteractiveBrowserBrokerCredential, například timeout.
Aby se kód úspěšně spustil, musí mít váš uživatelský účet přiřazenou roli Azure v účtu úložiště, která umožňuje přístup k kontejnerům objektů blob, jako je Přispěvatel dat účtu úložiště. 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í.
Následující snímek obrazovky ukazuje alternativní interaktivní prostředí zprostředkovaného ověřování:
Důležité
Podpora Linuxu existuje ve azure-identity-broker verzích 1.3.0 a novějších.
Následující příklad ukazuje použití InteractiveBrowserBrokerCredential k ověření pomocí BlobServiceClient:
Nainstalujte balíčky.
msal(Microsoft Authentication Library) slouží k poskytnutí konstanty parametruparent_window_handle.pip install azure-identity-broker msalVytvořte instanci
InteractiveBrowserBrokerCredentialpředáním odkazu na nadřazené okno. To vyžaduje, abyste získali odkaz na nadřazené okno, ve kterém by se mělo zobrazit dialogové okno pro výběr účtu (poskytnuté modulemmsal). V následujícím příkladu kódu to bude řádek:credential = InteractiveBrowserBrokerCredential( parent_window_handle=msal.PublicClientApplication.CONSOLE_WINDOW_HANDLE )credentialPoužijte k přístupu ke službě Azure, což je Blob Storage v tomto příkladu.
Tady je poslední příklad kódu:
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)
Před spuštěním tohoto příkladu kódu se ujistěte, že máte v distribuci Linuxu nainstalované závislosti Linuxu . V závislosti na distribuci také existují samostatné pokyny pro WSL.
Pro přesnější řízení, jako je nastavení časového limitu, můžete zadat konkrétní argumenty do InteractiveBrowserBrokerCredential, například timeout.
Aby se kód úspěšně spustil, musí mít váš uživatelský účet přiřazenou roli Azure v účtu úložiště, která umožňuje přístup k kontejnerům objektů blob, jako je Přispěvatel dat účtu úložiště. 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í.
Následující video ukazuje alternativní interaktivní zprostředkované ověřování: