Povolení ověřování a autorizace v Azure Container Apps pomocí ID Microsoft Entra
V tomto článku se dozvíte, jak nakonfigurovat ověřování pro Azure Container Apps tak, aby se vaše aplikace přihlašuje uživatele pomocí platformy Microsoft Identity Platform jako zprostředkovatele ověřování.
Funkce ověřování container Apps může automaticky vytvořit registraci aplikace na platformě Microsoft Identity Platform. Můžete také použít registraci, kterou vy nebo správce adresáře vytváříte samostatně.
Možnost 1: Automatické vytvoření nové registrace aplikace
Tato možnost je navržená tak, aby umožňovala jednoduché ověřování a vyžaduje jenom několik kroků.
Přihlaste se k webu Azure Portal a přejděte do aplikace.
V nabídce vlevo vyberte Ověřování . Vyberte Přidat zprostředkovatele identity.
V rozevíracím seznamu zprostředkovatele identity vyberte Microsoft . Ve výchozím nastavení je vybraná možnost vytvořit novou registraci. Můžete změnit název registrace nebo podporované typy účtů.
Tajný klíč klienta se vytvoří a uloží jako tajný kód v aplikaci kontejneru.
Pokud konfigurujete prvního zprostředkovatele identity pro tuto aplikaci, zobrazí se výzva k zadání nastavení ověřování Container Apps. Jinak přejdete k dalšímu kroku.
Tyto možnosti určují, jak vaše aplikace reaguje na neověřené požadavky, a výchozí výběry přesměrují všechny požadavky, aby se přihlásily pomocí tohoto nového poskytovatele. Toto chování teď můžete přizpůsobit nebo později upravit tato nastavení z hlavní obrazovky Ověřování tak, že zvolíte Upravit vedle nastavení ověřování. Další informace o těchtomožnostch
(Volitelné) Vyberte Další: Oprávnění a přidejte všechny obory, které aplikace potřebuje. Obory se přidají do registrace aplikace, ale můžete je také později změnit.
Vyberte Přidat.
Teď jste připraveni k ověřování ve vaší aplikaci použít platformu Microsoft Identity Platform. Zprostředkovatel je uvedený na obrazovce Ověřování . Odtud můžete tuto konfiguraci poskytovatele upravit nebo odstranit.
Možnost 2: Použití existující registrace vytvořené samostatně
Aplikaci můžete také ručně zaregistrovat pro platformu Microsoft Identity Platform, přizpůsobit registraci a nakonfigurovat ověřování container Apps s podrobnostmi o registraci. Tento přístup je užitečný, když chcete použít registraci aplikace z jiného tenanta Microsoft Entra, než je ten, ve kterém je aplikace definovaná.
Vytvoření registrace aplikace v Microsoft Entra ID pro vaši aplikaci kontejneru
Nejprve vytvoříte registraci aplikace. Jak to uděláte, shromážděte následující informace, které budete potřebovat později při konfiguraci ověřování v aplikaci kontejneru:
- Client ID
- ID tenanta
- Tajný klíč klienta (volitelné)
- Identifikátor URI ID přihlášky
Pokud chcete aplikaci zaregistrovat, proveďte následující kroky:
- Přihlaste se k portálu Azure.
- Vyhledejte a vyberte Container Apps a pak vyberte svou aplikaci. Na stránce Přehled si poznamenejte adresu URL aplikace. Použijete ji ke konfiguraci registrace aplikace Microsoft Entra.
- Výběrem možnosti Domů se vrátíte do hlavní nabídky portálu. Vyhledejte a vyberte Microsoft Entra ID.
- Na stránce Přehled vyberte Přidat a pak vyberte Registrace aplikace.
Na stránce Registrace aplikace zadejte název registrace aplikace.
V identifikátoru URI přesměrování vyberte Web a zadejte následující příkaz. Nahraďte
\<APP_URL\>
adresou URL aplikace, kterou jste si poznamenali dříve.<APP_URL>/.auth/login/aad/callback
.Například:
https://<CONTAINER_APP_NAME>.<ENVIRONMENT_UNIQUE_ID>.<REGION_NAME>.azurecontainerapps.io/.auth/login/aad/callback
.V implicitních grantech a hybridních tocích povolte tokeny ID, aby se uživatelům OpenID Connect mohli přihlašovat z Container Apps.
Vyberte Zaregistrovat.
- Přejděte na novou registraci aplikace.
- Na stránce Přehled zkopírujte ID aplikace (klienta) a ID adresáře (tenanta) pro pozdější použití.
- (Volitelné) Pokud jste identifikátor URI přesměrování nepřidali do registrace aplikace dříve, můžete to udělat teď.
Ve spravovaném poli vyberte Ověřování.
Na stránce Ověřování v konfiguraci platformy vyberte Přidat platformu.
V konfiguraci platforem vyberte Web.
V části Konfigurovat web zadejte v identifikátorech URI přesměrování následující. Nahraďte
\<APP_URL\>
adresou URL aplikace, kterou jste si poznamenali dříve.<APP_URL>/.auth/login/aad/callback
.Například:
https://<CONTAINER_APP_NAME>.<HOSTNAME>.<LOCATION>.azurecontainerapps.io/.auth/login/aad/callback
.Vyberte Konfigurovat.
- (Volitelné) Ve správě vyberte Branding a vlastnosti. Do adresy URL domovské stránky zadejte adresu URL vaší aplikace kontejneru a vyberte Uložit.
- Ve správě vyberte Zveřejnit rozhraní API.
Vyberte Přidat vedle identifikátoru URI ID aplikace.
Identifikátor URI ID aplikace jednoznačně identifikuje vaši aplikaci, když se používá jako prostředek, což umožňuje požadovaným tokenům udělit přístup. Hodnota se také používá jako předpona pro obory, které vytvoříte.
Pro aplikaci s jedním tenantem můžete použít výchozí hodnotu, která je ve formuláři
api://<APPLICATION_CLIENT_ID>
. Můžete také zadat čitelnější identifikátor URI, napříkladhttps://contoso.com/api
na základě jedné z ověřených domén pro vašeho tenanta. U víceklientských aplikací musíte zadat vlastní identifikátor URI. Další informace o přijatých formátech identifikátorů URI ID aplikace najdete v referenčních informacích k osvědčeným postupům registrace aplikací.Hodnota se automaticky uloží.
Vyberte Přidat rozsah.
V části Přidat obor je identifikátor URI ID aplikace hodnotou, kterou jste nastavili v předchozím kroku.
Vyberte Uložit a pokračovat.
Do pole Název oboru zadejte user_impersonation.
Zadejte zobrazovaný název souhlasu správce a popis souhlasu správce, který chcete, aby se správci zobrazili na stránce souhlasu. Příkladem zobrazovaného názvu souhlasu je název> aplikace accessu<.
Vyberte Přidat rozsah.
- Ve správě vyberte Certifikáty a tajné kódy.
- Na stránce Certifikáty a tajné kódy vyberte Tajné kódy klienta.
- Vyberte Nový tajný klíč klienta.
- Zadejte popis a vyberte, kdy vyprší platnost tajného kódu.
- Vyberte Přidat.
- Zkopírujte hodnotu tajného klíče klienta zobrazenou na stránce, protože web vám ji znovu nezobrazí.
Povolení ID Microsoft Entra v aplikaci kontejneru
Přihlaste se k webu Azure Portal a přejděte do aplikace.
V nabídce vlevo vyberte Ověřování . Vyberte Přidat zprostředkovatele identity.
V rozevíracím seznamu zprostředkovatele identity vyberte Microsoft .
U typu registrace aplikace můžete vybrat existující registraci aplikace v tomto adresáři , která automaticky shromažďuje potřebné informace o aplikaci. Pokud je vaše registrace z jiného tenanta nebo nemáte oprávnění k zobrazení objektu registrace, zvolte Zadat podrobnosti o existující registraci aplikace. Pro tuto možnost je potřeba vyplnit následující podrobnosti konfigurace:
Upozorňující
Pokud je to možné, vyhněte se použití implicitního toku udělení. Ve většině scénářů jsou k dispozici a doporučeny bezpečnější alternativy. Některé konfigurace tohoto toku vyžadují velmi vysoký stupeň důvěryhodnosti v aplikaci a nesou rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky nejsou přijatelné. Další informace najdete v tématech zabezpečení s implicitními toky udělení.
Pole Popis ID aplikace (klienta) Použijte ID aplikace (klienta) registrace aplikace. Tajný klíč klienta Použijte tajný klíč klienta, který jste vygenerovali v registraci aplikace. Tajné kódy klienta používají hybridní tok a aplikace vrací přístupové a obnovovací tokeny. Pokud tajný klíč klienta není nastavený, použije se implicitní tok a vrátí se pouze token ID. Poskytovatel odešle tokeny a jsou uložené v úložišti tokenů EasyAuth. Adresa URL vystavitele Použijte <authentication-endpoint>/<TENANT-ID>/v2.0
a nahraďte <koncový bod> ověřování koncovým bodem ověřování pro vaše cloudové prostředí (například ";https://login.microsoftonline.com" v případě globálního Azure také nahraďte <ID> tenanta ID adresáře (tenanta), ve kterém byla vytvořena registrace aplikace. Tato hodnota se používá k přesměrování uživatelů do správného tenanta Microsoft Entra a ke stažení příslušných metadat k určení odpovídajících podpisových klíčů tokenů a hodnoty deklarace vystavitele tokenu. Pro aplikace, které používají Azure AD v1, vynecháte/v2.0
v adrese URL.Povolené cílové skupiny tokenů Nakonfigurované ID aplikace (klienta) se vždy implicitně považuje za povolenou cílovou skupinu. Pokud tato hodnota odkazuje na cloudovou nebo serverovou aplikaci a chcete přijmout ověřovací tokeny z aplikace klientského kontejneru (ověřovací token je možné načíst v X-MS-TOKEN-AAD-ID-TOKEN
hlavičce), přidejte sem ID aplikace (klienta).Tajný klíč klienta se uloží jako tajné kódy v aplikaci kontejneru.
Pokud se jedná o prvního zprostředkovatele identity nakonfigurovaného pro aplikaci, zobrazí se výzva také v části Nastavení ověřování Container Apps. Jinak přejdete k dalšímu kroku.
Tyto možnosti určují, jak vaše aplikace reaguje na neověřené požadavky, a výchozí výběry přesměrují všechny žádosti, aby se přihlásily pomocí tohoto nového poskytovatele. Toto chování můžete nyní změnit nebo později upravit tato nastavení z hlavní obrazovky Ověřování tak, že zvolíte Upravit vedle nastavení ověřování. Další informace o těchtomožnostch
Vyberte Přidat.
Teď jste připraveni k ověřování ve vaší aplikaci použít platformu Microsoft Identity Platform. Zprostředkovatel je uvedený na obrazovce Ověřování . Odtud můžete tuto konfiguraci poskytovatele upravit nebo odstranit.
Konfigurace klientských aplikací pro přístup k kontejnerové aplikaci
V předchozí části jste zaregistrovali aplikaci kontejneru k ověřování uživatelů. V této části zaregistrujete nativního klienta nebo aplikace démona. Pak můžou požádat o přístup k rozhraním API vystaveným vaší aplikací kontejneru jménem uživatelů nebo samotných. Dokončení kroků v této části se nevyžaduje, pokud chcete pouze ověřovat uživatele.
Nativní klientská aplikace
Nativní klienty můžete zaregistrovat a požádat o přístup k rozhraním API vaší aplikace kontejneru jménem přihlášeného uživatele.
Na webu Azure Portal vyberte Přidat> ID>Microsoft Entra Registrace aplikací.
Na stránce Registrace aplikace zadejte název registrace aplikace.
V identifikátoru URI přesměrování vyberte Veřejný klient (mobilní &desktop) a zadejte adresu URL
<app-url>/.auth/login/aad/callback
. Napříkladhttps://<hostname>.azurecontainerapps.io/.auth/login/aad/callback
.Poznámka:
Pro aplikaci Microsoft Store použijte identifikátor SID balíčku jako identifikátor URI.
Vyberte Vytvořit.
Po vytvoření registrace aplikace zkopírujte hodnotu ID aplikace (klienta).
Vyberte oprávnění>rozhraní API Přidat oprávnění>Moje rozhraní API.
Vyberte registraci aplikace, kterou jste vytvořili dříve pro vaši aplikaci kontejneru. Pokud registraci aplikace nevidíte, ujistěte se, že jste přidali obor user_impersonation v části Vytvoření registrace aplikace v Microsoft Entra ID vaší aplikace kontejneru.
V části Delegovaná oprávnění vyberte user_impersonation a pak vyberte Přidat oprávnění.
V této části jste nakonfigurovali nativní klientskou aplikaci, která může požádat o přístup k aplikaci kontejneru jménem uživatele.
Klientská aplikace démona (volání mezi službami)
Vaše aplikace může získat token pro volání webového rozhraní API hostovaného v aplikaci kontejneru jménem samotného (nikoli jménem uživatele). Tento scénář je užitečný pro neinteraktivní aplikace démona, které provádějí úlohy bez přihlášeného uživatele. Používá standardní udělení přihlašovacích údajů klienta OAuth 2.0.
- Na webu Azure Portal vyberte Přidat> ID>Microsoft Entra Registrace aplikací.
- Na stránce Registrace aplikace zadejte název registrace aplikace démona.
- Pro aplikaci démona nepotřebujete identifikátor URI přesměrování, abyste mohli zachovat tento prázdný identifikátor.
- Vyberte Vytvořit.
- Po vytvoření registrace aplikace zkopírujte hodnotu ID aplikace (klienta).
- Vyberte Certifikáty a tajné kódy>Nový tajný klíč>klienta Přidat. Zkopírujte hodnotu tajného klíče klienta zobrazenou na stránce. Už se nezobrazuje.
Teď můžete požádat o přístupový token pomocí ID klienta a tajného klíče klienta nastavením resource
parametru na identifikátor URI ID aplikace cílové aplikace. Výsledný přístupový token se pak dá cílové aplikaci předložit pomocí standardní autorizační hlavičky OAuth 2.0 a ověřování / autorizace container Apps ověří a použije token obvyklým způsobem k označení, že volající (v tomto případě ne uživatel) je ověřený.
Tento proces umožňuje libovolné klientské aplikaci ve vašem tenantovi Microsoft Entra požádat o přístupový token a ověřit ho v cílové aplikaci. Pokud chcete také vynutit autorizaci tak, aby umožňovala pouze určité klientské aplikace, musíte upravit konfiguraci.
- Definujte roli aplikace v manifestu registrace aplikace představující aplikaci kontejneru, kterou chcete chránit.
- V registraci aplikace představujícího klienta, kterého je potřeba autorizovat, vyberte oprávnění rozhraní API Přidat oprávnění>>Moje rozhraní API.
- Vyberte registraci aplikace, kterou jste vytvořili dříve. Pokud registraci aplikace nevidíte, nezapomeňte přidat roli aplikace.
- V části Oprávnění aplikace vyberte dříve vytvořenou roli aplikace a pak vyberte Přidat oprávnění.
- Ujistěte se, že jste vybrali možnost Udělit správci souhlas s autorizaci klientské aplikace a požádejte o oprávnění.
- Podobně jako v předchozím scénáři (před přidáním všech rolí) teď můžete požádat o přístupový token pro stejný cíl
resource
a přístupový token obsahujeroles
deklaraci identity obsahující role aplikace, které byly autorizované pro klientskou aplikaci. - V kódu cílové služby Container Apps se teď v tokenu nacházejí očekávané role. Vrstva ověřování Container Apps neprovádí kroky ověření. Další informace najdete v tématu Deklarace identity uživatelů accessu.
V této části jste nakonfigurovali klientskou aplikaci démona, která má přístup k aplikaci kontejneru pomocí vlastní identity.
Práce s ověřenými uživateli
Podrobnosti o práci s ověřenými uživateli najdete v následujících průvodcích.