Megosztás a következőn keresztül:


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.

  1. 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.
  2. 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

  1. Töltse le a konzolalkalmazás-mintát a GitHubról.

  2. 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.

  1. 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.

    1. Jelentkezzen be az Azure Portalra.
    2. Keresse meg és válassza ki a Microsoft Entra-azonosítót a felső keresősáv használatával.
    3. A Microsoft Entra ID lapján válassza Alkalmazásregisztrációk a bal oldali menü Kezelés szakaszában.
    4. Válassza ki az alkalmazásregisztrációt.
    5. 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:

    1. Az alkalmazásregisztráció lapján válassza a Tanúsítványok > titkos kulcsok lehetőséget a bal oldali menüben.
    2. 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}");
    }
    
  2. 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

További lépések

Az Azure Relayrel kapcsolatos további információkért tekintse meg az alábbi témaköröket.