Alkalmazások hitelesítése és engedélyezése a Microsoft Entra-azonosítóval az Azure Relay-entitások eléréséhez
Az Azure Relay támogatja a Microsoft Entra ID használatát az Azure Relay-entitások (hibrid Csatlakozás ions, WCF Relays) kéréseinek engedélyezéséhez. A Microsoft Entra ID-val azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy biztonsági tagnak, amely lehet felhasználó, csoport vagy alkalmazásszolgáltatás-tag. A szerepkörökről és a szerepkör-hozzárendelésekről további információt a különböző szerepkörök ismertetése című témakörben talál.
Megjegyzés:
Ez a funkció a 21Vianet által üzemeltetett Microsoft Azure kivételével minden régióban általánosan elérhető.
Áttekintés
Amikor egy biztonsági tag (felhasználó, csoport, alkalmazás) megpróbál hozzáférni egy Relay-entitáshoz, a kérést engedélyezni kell. A Microsoft Entra-azonosítóval az erőforráshoz való hozzáférés kétlépéses folyamat.
- Először a rendszer hitelesíti a biztonsági tag identitását , és egy OAuth 2.0-jogkivonatot ad vissza. A jogkivonat igényléséhez szükséges erőforrásnév a következő
https://relay.azure.net
: . Ha egy alkalmazás egy Azure-entitáson belül fut, például azure-beli virtuális gépen, virtuálisgép-méretezési csoporton vagy Azure-függvényalkalmazáson belül, felügyelt identitással férhet hozzá az erőforrásokhoz. - Ezután a jogkivonatot egy kérés részeként továbbítjuk a Relay szolgáltatásnak a megadott erőforráshoz való hozzáférés engedélyezéséhez (hibrid kapcsolatok, WCF-továbbítók). A Microsoft Entra az Azure szerepköralapú hozzáférés-vezérléssel (Azure RBAC) engedélyezi az erőforrások védelmére vonatkozó hozzáférési jogosultságokat. Az Azure Relay azure-beli beépített szerepkörök készletét határozza meg, amelyek a Relay-entitásokhoz való hozzáféréshez használt közös engedélykészleteket foglalják magukban. Egyéni szerepköröket is meghatározhat az adatok eléréséhez. Az Azure Relay által támogatott beépített szerepkörök listáját az Azure Relay beépített szerepkörei között találja. A Relay felé kéréseket intéző natív alkalmazások és webalkalmazások a Microsoft Entra-azonosítóval is engedélyezhetik az engedélyezést.
Azure beépített szerepkörök az Azure Relayhez
Az Azure Relay esetében a névterek és az összes kapcsolódó erőforrás kezelése az Azure Portalon és az Azure Resource Management API-val már védett az Azure RBAC-modellel. Az Azure az alábbi beépített Azure-szerepköröket biztosítja a Relay névtérhez való hozzáférés engedélyezéséhez:
Szerepkör | Leírás |
---|---|
Azure Relay-tulajdonos | Ezzel a szerepkörrel teljes hozzáférést biztosíthat az Azure Relay-erőforrásokhoz. |
Azure Relay-figyelő | Ezzel a szerepkörrel figyelést és entitásolvasási hozzáférést biztosíthat az Azure Relay-erőforrásokhoz. |
Azure Relay-feladó | Ezzel a szerepkörrel küldési és entitásolvasási hozzáférést biztosíthat az Azure Relay-erőforrásokhoz. |
Erőforrás hatóköre
Mielőtt Azure-szerepkört rendel egy biztonsági taghoz, határozza meg, hogy milyen hozzáférési hatókörrel kell rendelkeznie a biztonsági tagnak. Az ajánlott eljárások azt diktálják, hogy mindig a lehető legszűkebb hatókört érdemes megadni.
Az alábbi lista azokat a szinteket ismerteti, amelyeken hatókörbe helyezheti az Azure Relay-erőforrásokhoz való hozzáférést, kezdve a legszűkebb hatókörrel:
- Továbbító entitások: A szerepkör-hozzárendelés egy adott Relay-entitásra, például hibrid kapcsolatra vagy WCF-továbbítóra vonatkozik.
- Relay névtér: A szerepkör-hozzárendelés a névtérben lévő összes Relay-entitásra vonatkozik.
- Erőforráscsoport: A szerepkör-hozzárendelés az erőforráscsoport összes Relay-erőforrására vonatkozik.
- Előfizetés: A szerepkör-hozzárendelés az előfizetés összes erőforráscsoportjában lévő Relay-erőforrásokra vonatkozik.
Megjegyzés:
Ne feledje, hogy az Azure-szerepkör-hozzárendelések propagálása akár öt percet is igénybe vehet. A beépített szerepkörök definiálásáról további információt a szerepkördefiníciók ismertetése című témakörben talál. Az Egyéni Azure-szerepkörök létrehozásáról további információt az Azure-ra vonatkozó egyéni szerepkörökben talál.
Hitelesítés alkalmazásból
A Microsoft Entra ID és az Azure Relay használatának egyik fő előnye, hogy a hitelesítő adatait már nem kell a kódban tárolni. Ehelyett OAuth 2.0 hozzáférési jogkivonatot kérhet Microsoft Identitásplatform. A Microsoft Entra hitelesíti az alkalmazást futtató biztonsági tagot (felhasználót, csoportot vagy szolgáltatásnevet). Ha a hitelesítés sikeres, a Microsoft Entra ID visszaadja a hozzáférési jogkivonatot az alkalmazásnak, és az alkalmazás a hozzáférési jogkivonat használatával engedélyezheti az Azure Relay felé irányuló kérelmeket.
A következő szakaszok bemutatják, hogyan konfigurálhatja a konzolalkalmazást a hitelesítéshez a Microsoft Identitásplatform 2.0-val. További információ: Microsoft Identitásplatform (2.0-s verzió) áttekintése.
Az OAuth 2.0 kódhozzáadási folyamat áttekintését lásd : Hozzáférés engedélyezése a Microsoft Entra-webalkalmazásokhoz az OAuth 2.0 kódhozzáadási folyamat használatával.
Alkalmazás regisztrálása Microsoft Entra-bérlővel
Az Azure Relay-entitások engedélyezéséhez a Microsoft Entra ID használatának első lépése az ügyfélalkalmazás regisztrálása egy Microsoft Entra-bérlővel az Azure Portalról. Az ügyfélalkalmazás regisztrálásakor meg kell adnia az alkalmazás adatait az AD-nek. A Microsoft Entra ID ezután egy ügyfél-azonosítót (más néven alkalmazásazonosítót) biztosít, amellyel társíthatja az alkalmazást a Microsoft Entra futtatókörnyezettel.
Ha részletes útmutatást szeretne az alkalmazás Microsoft Entra-azonosítóval való regisztrálásához, olvassa el a rövid útmutatót: Alkalmazás regisztrálása a Microsoft Entra-azonosítóval.
Fontos
Jegyezze fel a címtár (bérlő) azonosítóját és az alkalmazás (ügyfél) azonosítóját. A mintaalkalmazás futtatásához ezekre az értékekre lesz szüksége.
Titkos ügyfélkód létrehozása
The application needs a client secret to prove its identity when requesting a token. Ugyanebben a cikkben, amely korábban hivatkozott, tekintse meg az Ügyféltitkos hozzáadása szakaszt egy ügyféltitkos létrehozásához.
Fontos
Jegyezze fel az ügyfél titkos kódját. A mintaalkalmazás futtatásához szüksége lesz rá.
Assign Azure roles using the Azure portal
Rendelje hozzá az egyik Azure Relay-szerepkört az alkalmazás szolgáltatásnévéhez a kívánt hatókörben (Relay entitás, névtér, erőforráscsoport, előfizetés). A részletes lépésekért tekintse meg az Azure-szerepköröknek az Azure Portalon történő hozzárendelését ismertető cikket.
Minta futtatása
Futtassa az alkalmazást helyileg a számítógépen a README-cikk utasításai szerint.
Megjegyzés:
Ugyanezeket a lépéseket követve futtassa a WCF Relay mintakonzolalkalmazását.
Kiemelt kód a mintából
Az alábbi mintakód bemutatja, hogyan használható a Microsoft Entra-hitelesítés az Azure Relay szolgáltatáshoz való csatlakozáshoz.
Hozzon létre egy TokenProvider-objektumot a
TokenProvider.CreateAzureActiveDirectoryTokenProvider
metódus használatával.Ha még nem hozott létre alkalmazásregisztrációt, a létrehozáshoz tekintse meg az alkalmazás regisztrálása a Microsoft Entra-azonosítóval szakaszt, majd hozzon létre egy ügyfélkulcsot a Titkos ügyfélkód létrehozása szakaszban leírtak szerint.
Ha meglévő alkalmazásregisztrációt szeretne használni, kövesse az alábbi utasításokat az alkalmazás (ügyfél) azonosító és a címtár (bérlő) azonosítójához.
- Jelentkezzen be az Azure Portalra.
- Keresse meg és válassza ki a Microsoft Entra-azonosítót a felső keresősáv használatával.
- A Microsoft Entra ID lapján válassza Alkalmazásregisztrációk a bal oldali menü Kezelés szakaszában.
- Válassza ki az alkalmazásregisztrációt.
- Az alkalmazásregisztráció oldalán megjelenik az alkalmazás (ügyfél) azonosítója és a címtár (bérlő) azonosítója.
Az ügyfél titkos kódjának lekéréséhez kövesse az alábbi lépéseket:
- Az alkalmazásregisztráció lapján válassza a Tanúsítványok > titkos kulcsok lehetőséget a bal oldali menüben.
- Használja a Másolás gombot az Érték oszlopban az Ügyfél titkos kulcsok szakaszában található titkos kódhoz .
static TokenProvider GetAadTokenProvider(string clientId, string tenantId, string clientSecret) { return TokenProvider.CreateAzureActiveDirectoryTokenProvider( async (audience, authority, state) => { IConfidentialClientApplication app = ConfidentialClientApplicationBuilder.Create(clientId) .WithAuthority(authority) .WithClientSecret(clientSecret) .Build(); var authResult = await app.AcquireTokenForClient(new [] { $"{audience}/.default" }).ExecuteAsync(); return authResult.AccessToken; }, $"https://login.microsoftonline.com/{tenantId}"); }
Hibrid Csatlakozás ionListener vagy Hybrid Csatlakozás ionClient objektum létrehozása az előző lépésben létrehozott hibrid kapcsolati URI és jogkivonat-szolgáltató átadásával.
Hallgató:
var listener = new HybridConnectionListener(hybridConnectionUri, tokenProvider);
Feladó:
var sender = new HybridConnectionClient(hybridConnectionUri, tokenProvider);
Samples
- Hibrid Csatlakozás ions: .NET, Java, JavaScript
- WCF Relay: .NET
További lépések
- További információ az Azure RBAC-ről: Mi az Az Azure szerepköralapú hozzáférés-vezérlése (Azure RBAC)?
- Az Azure-szerepkör-hozzárendelések Azure PowerShell-lel, Azure CLI-vel vagy REST API-val való hozzárendeléséről és kezeléséről az alábbi cikkekben olvashat:
- Azure-beli szerepkör-hozzárendelés hozzáadása vagy eltávolítása az Azure PowerShell használatával
- Azure-beli szerepkör-hozzárendelés hozzáadása vagy eltávolítása az Azure CLI használatával
- Azure-beli szerepkör-hozzárendelés hozzáadása vagy eltávolítása a REST API használatával
- Azure-szerepkör-hozzárendelések hozzáadása vagy eltávolítása Az Azure Resource Manager-sablonok használatával
Az Azure Relayrel kapcsolatos további információkért tekintse meg az alábbi témaköröket.