Hitelesítőadat-kezelő konfigurálása – felhasználó által delegált hozzáférés a háttér API-hoz
A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint
Ez a cikk végigvezeti a magas szintű lépéseken egy olyan felügyelt kapcsolat konfigurálásához és használatához, amely delegált engedélyeket biztosít a Microsoft Entra-felhasználóknak vagy csoportoknak egy háttérbeli OAuth 2.0 API-hoz. Kövesse az alábbi lépéseket olyan helyzetekben, amikor egy ügyfélalkalmazásnak (vagy robotnak) hitelesített felhasználó nevében kell hozzáférnie a háttérbeli biztonságos online erőforrásokhoz (például e-mailek ellenőrzése vagy megrendelés elküldése).
Forgatókönyv áttekintése
Feljegyzés
Ez a forgatókönyv csak az engedélyezési kód megadásának típusával konfigurált hitelesítő adatok szolgáltatóira vonatkozik.
Ebben a forgatókönyvben olyan felügyelt kapcsolatot konfigurál, amely lehetővé teszi, hogy egy ügyfélalkalmazás (vagy robot) hozzáférjen egy Háttér API-hoz egy Microsoft Entra-felhasználó vagy -csoport nevében. Előfordulhat például, hogy van egy statikus webalkalmazása, amely egy háttérbeli GitHub API-hoz fér hozzá, és amelyet a bejelentkezett felhasználóra vonatkozó adatokhoz szeretne elérni. Az alábbi ábra a forgatókönyvet szemlélteti.
- A felhasználónak engedélyeznie kell az alkalmazást, hogy a nevében hozzáférjen a védett erőforrásokhoz, és hogy engedélyezze az alkalmazást, a felhasználónak hitelesítenie kell az identitását
- Ha egy felhasználó nevében szeretne műveleteket végezni, az alkalmazás meghívja a külső háttérszolgáltatást, például a Microsoft Graphot vagy a GitHubot
- Minden külső szolgáltatás rendelkezik a hívások biztonságossá tételének módjával – például egy olyan felhasználói jogkivonattal, amely egyedileg azonosítja a felhasználót
- A külső szolgáltatás hívásának biztonságossá tételéhez az alkalmazásnak fel kell kérnie a felhasználót a bejelentkezésre, hogy megszerezhesse a felhasználó jogkivonatát
- A konfiguráció részeként egy hitelesítőadat-szolgáltató regisztrálva lesz a hitelesítő adatok kezelőjével az API Management-példányban. Információkat tartalmaz a használni kívánt identitásszolgáltatóról, valamint egy érvényes OAuth-ügyfélazonosítót és titkos kulcsot, az engedélyezendő OAuth-hatóköröket és az identitásszolgáltató által igényelt egyéb kapcsolati metaadatokat.
- Emellett létrejön egy kapcsolat, amely segít bejelentkezni a felhasználóba, és lekérni a felhasználói jogkivonatot, hogy kezelhető legyen
Előfeltételek
Hozzáférés egy Microsoft Entra-bérlőhöz, ahol rendelkezik engedélyekkel az alkalmazásregisztráció létrehozásához és az alkalmazás engedélyeinek rendszergazdai hozzájárulásához. További információ
Ha saját fejlesztői bérlőt szeretne létrehozni, regisztrálhat a Microsoft 365 fejlesztői programra.
Egy vagy több felhasználó vagy csoport a bérlőn belül, hogy engedélyeket delegáljon.
Futó API Management-példány. Ha szükséges, hozzon létre egy Azure API Management-példányt.
Egy háttérbeli OAuth 2.0 API, amelyet a felhasználó vagy csoport nevében szeretne elérni.
- Ha az Azure PowerShell helyi használatát választja:
- Telepítse az Az PowerShell-modul legújabb verzióját.
- Csatlakozás az Azure-fiókjába az Csatlakozás-AzAccount parancsmag használatával.
- Ha az Azure Cloud Shell használata mellett dönt:
- További információkért tekintse meg az Azure Cloud Shell áttekintését.
1. lépés: Az Azure API Management Data Plane szolgáltatásnév kiépítése
Ki kell építenie az Azure API Management Data Plane szolgáltatásnevet, hogy megadja a felhasználóknak vagy csoportoknak a szükséges delegált engedélyeket. Az alábbi lépésekkel kiépíteni a szolgáltatásnevet az Azure PowerShell használatával.
Jelentkezzen be az Azure PowerShellbe.
Ha az AzureAD-modul még nincs telepítve, telepítse a következő paranccsal:
Install-Module -Name AzureAD -Scope CurrentUser -Repository PSGallery -Force
Csatlakozás a bérlőhöz a következő paranccsal:
Connect-AzureAD -TenantId "<YOUR_TENANT_ID>"
Ha a rendszer kéri, jelentkezzen be a bérlő rendszergazdai fiók hitelesítő adataival.
Az Azure API Management Data Plane szolgáltatásnév kiépítése a következő paranccsal:
New-AzureADServicePrincipal -AppId c8623e40-e6ab-4d2b-b123-2ca193542c65 -DisplayName "Azure API Management Data Plane"
2. lépés: Microsoft Entra-alkalmazásregisztráció létrehozása
Hozzon létre egy Microsoft Entra ID-alkalmazást a felhasználói delegáláshoz, és adja meg a megfelelő engedélyeket a kapcsolat API Managementben való olvasásához.
- Jelentkezzen be az Azure Portalra egy megfelelő engedélyekkel rendelkező fiókkal a bérlőben.
- Az Azure Servicesben keresse meg a Microsoft Entra-azonosítót.
- A bal oldali menüben válassza a Alkalmazásregisztrációk, majd az + Új regisztráció lehetőséget.
- Az Alkalmazás regisztrálása lapon adja meg az alkalmazásregisztrációs beállításokat:
- A Név mezőbe írjon be egy értelmes nevet, amely megjelenik az alkalmazás felhasználóinak, például a UserPermissionsnek.
- A támogatott fióktípusokban válasszon ki egy olyan beállítást, amely megfelel a forgatókönyvnek, például a csak ebben a szervezeti címtárban lévő fiókok (egybérlős) esetében.
- Állítsa be az átirányítási URI-t a webre, és írja be a következőt
https://www.postman-echo.com/get
:
- A bal oldali menüben válassza az API-engedélyeket, majd a + Engedély hozzáadása lehetőséget.
- Válassza ki a szervezetem által használt API-kat, írja be az Azure API Management Data Planet, és válassza ki.
- Az Engedélyek területen válassza az Authorizations.Read lehetőséget, majd az Engedélyek hozzáadása lehetőséget.
- A bal oldali menüben válassza az Áttekintés lehetőséget. Az Áttekintés lapon keresse meg az alkalmazás (ügyfél) azonosítóját, és jegyezze fel egy későbbi lépésben való használatra.
- A bal oldali menüben válassza a Tanúsítványok > titkos kódok, majd az + Új ügyfélkód lehetőséget.
- Adjon meg egy leírást.
- Válasszon egy lehetőséget a Lejáratok beállításhoz.
- Válassza a Hozzáadás lehetőséget.
- Másolja ki az ügyfél titkos kódjának értékét a lap elhagyása előtt. Egy későbbi lépésben szüksége lesz rá.
3. lépés: Hitelesítőadat-szolgáltató konfigurálása az API Managementben
- Jelentkezzen be a portálra , és nyissa meg az API Management-példányt.
- A bal oldali menüben válassza a Hitelesítőadat-kezelő, majd a + Létrehozás lehetőséget.
- A Hitelesítőadat-szolgáltató létrehozása lapon adja meg az API hitelesítőadat-szolgáltatójának beállításait. Ebben a forgatókönyvben a Grant típusban ki kell választania az engedélyezési kódot. További információ: Hitelesítőadat-szolgáltatók konfigurálása a hitelesítő adatok kezelőjében.
- Válassza a Létrehozás lehetőséget.
- Amikor a rendszer kéri, tekintse át a megjelenített OAuth-átirányítási URL-címet, és válassza az Igen lehetőséget annak ellenőrzéséhez, hogy az megfelel-e az alkalmazásregisztrációban megadott URL-címnek.
4. lépés: Kapcsolat konfigurálása
Miután létrehozott egy hitelesítőadat-szolgáltatót, hozzáadhat egy kapcsolatot a szolgáltatóhoz. A Csatlakozás ion lapon végezze el a kapcsolat lépéseit:
- Adjon meg egy Csatlakozás ion nevet, majd válassza a Mentés lehetőséget.
- A 2. lépés: Jelentkezzen be a kapcsolatba, és válassza ki a hitelesítőadat-szolgáltatóhoz való bejelentkezéshez szükséges hivatkozást. A hozzáférés engedélyezéséhez és az API Managementhez való visszatéréshez végezze el a szükséges lépéseket.
- A 3. lépésben : Határozza meg, hogy kinek lesz hozzáférése ehhez a kapcsolathoz (Hozzáférési szabályzat), válassza a + Hozzáadás lehetőséget. A delegálási forgatókönyvtől függően válassza a Felhasználók vagy a Csoport lehetőséget.
- Az Elem kijelölése ablakban válasszon a következő sorrendben:
- Először keressen egy vagy több felhasználót (vagy csoportot) a kijelölési mező hozzáadásához és bejelöléséhez.
- Ezután a megjelenő listában keresse meg az előző szakaszban létrehozott alkalmazásregisztrációt.
- Ezután kattintson a Kiválasztás elemre.
- Válassza a Kész lehetőséget.
Az új kapcsolat megjelenik a kapcsolatok listájában, és Csatlakozás állapotot jelenít meg. Ha egy másik kapcsolatot szeretne létrehozni a hitelesítőadat-szolgáltatóhoz, hajtsa végre az előző lépéseket.
Tipp.
A portál használatával bármikor hozzáadhat, frissíthet vagy törölhet kapcsolatokat egy hitelesítőadat-szolgáltatóhoz. További információ: Több kapcsolat konfigurálása.
5. lépés: Microsoft Entra-azonosító hozzáférési jogkivonat beszerzése
Ha engedélyezni szeretné a felhasználó által delegált hozzáférést a háttér API-hoz, a házirendben futtatókörnyezetben meg kell adni a delegált felhasználó vagy csoport hozzáférési jogkivonatát get-authorization-context
. Ez általában programozott módon történik az ügyfélalkalmazásban a Microsoft Authentication Library (MSAL) használatával. Ez a szakasz manuális lépéseket tartalmaz egy hozzáférési jogkivonat teszteléshez való létrehozásához.
Illessze be a következő URL-címet a böngészőbe, és cserélje le a Microsoft Entra-alkalmazásregisztráció értékeit
<tenant-id>
<client-id>
:https://login.microsoftonline.com/<tenant-id>/oauth2/authorize?client_id=<client-id>&response_type=code&redirect_uri=https://www.postman-echo.com/get&response_mode=query&resource=https://azure-api.net/authorization-manager&state=1234`
Amikor a rendszer kéri, jelentkezzen be. A válasz törzsében másolja ki a megadott kód értékét (például:
"0.AXYAh2yl…"
).Küldje el a következő
POST
kérést a jogkivonat végpontjának, lecserélve<tenant-id>
a bérlőazonosítóra, és tartalmazza az alkalmazásregisztrációban szereplő fejlécet és törzsparamétereket, valamint az előző lépésben másolt kódot.POST https://login.microsoftonline.com/<tenant-id>/oauth2/token HTTP/1.1
Fejléc
Content-Type: application/x-www-form-urlencoded
Törzs
grant_type: "authorization_code" client_id: <client-id> client_secret: <client-secret> redirect_uri: <redirect-url> code: <code> ## The code you copied in the previous step
A válasz törzsében másolja ki a megadott access_token értékét (például:
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjZqQmZ1...
). Ezt az értéket a következő lépésben adja át a szabályzatkonfigurációban.
6. lépés: Get-authorization-context szabályzat konfigurálása háttér api-hoz
Konfigurálja a get-authorization-context szabályzatot a háttér API-hoz, amelyhez a felhasználó vagy csoport nevében hozzá szeretne férni. Tesztelési célokra a szabályzatot az előző szakaszban beszerzett felhasználó Microsoft Entra ID hozzáférési jogkivonatával konfigurálhatja.
Jelentkezzen be a portálra , és nyissa meg az API Management-példányt.
A bal oldali menüben válassza az API-kat , majd válassza ki az OAuth 2.0 háttér API-t.
Válassza a Minden művelet lehetőséget. A Bejövő feldolgozás szakaszban válassza a (/>) (<kódszerkesztő) ikont.
Konfigurálja a
get-authorization-context
szakaszban lévőinbound
szabályzatot, és állítsaidentity-type
a következőrejwt
:<policies> <inbound> [...] <get-authorization-context provider-id="<credential-provider-id>" authorization-id="<connection-id>" context-variable-name="auth-context" identity-type="jwt" identity="<access-token>" ignore-error="false" /> [...] </inbound> </policies>
Az előző szabályzatdefinícióban cserélje le a következőt:
<credential-provider-id>
és<connection-id>
az előző lépésben konfigurált hitelesítőadat-szolgáltató és kapcsolat nevével.<access-token>
az előző lépésben létrehozott Microsoft Entra ID hozzáférési jogkivonattal.
7. lépés: Az API tesztelése
A Teszt lapon válasszon ki egy konfigurált műveletet.
Válassza az Küldés lehetőséget.
A sikeres válasz felhasználói adatokat ad vissza a háttér API-ból.