Alkalmazások hitelesítése és engedélyezése Microsoft Entra-azonosítóval az Azure Service Bus-entitások eléréséhez

Az Azure Service Bus támogatja a Microsoft Entra ID használatát a Service Bus-entitások (üzenetsorok, témakörök, előfizetések vagy szűrők) 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. A biztonsági tag lehet felhasználó, csoport, alkalmazásszolgáltatási főképviselő vagy felügyelt identitás az Azure-erőforrásokhoz.

A Microsoft Entra ID Azure Service Bus szolgáltatással való használatának egyik fő előnye, hogy nem kell többé a kódban tárolnia a hitelesítő adatait. Ehelyett kérhet egy OAuth 2.0 hozzáférési tokent a Microsoft Identity platformtól. Ha a hitelesítés sikeres, a Microsoft Entra ID egy hozzáférési jogkivonatot ad vissza az alkalmazáshoz. Az alkalmazás ezután a hozzáférési jogkivonat használatával engedélyezheti a Service Bus-erőforrásokra irányuló kérelmeket.

A Service Bus-névtér helyi vagy közös hozzáférésű jogosultságkódjának (SAS) kulcshitelesítését letilthatja, és csak a Microsoft Entra-hitelesítést engedélyezheti. Részletes útmutatásért tekintse meg a helyi hitelesítés letiltása című témakört.

Áttekintés

Amikor egy biztonsági tag (felhasználó, csoport vagy alkalmazás) megpróbál hozzáférni egy Service Bus-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. A rendszer hitelesíti a biztonsági tag identitását, és egy OAuth 2.0-jogkivonatot ad vissza. A jogkivonat igényléshez szükséges erőforrásnév a https://servicebus.azure.net.
  2. A jogkivonat a Service Bus szolgáltatásnak küldött kérés részeként lesz átadva a megadott erőforráshoz való hozzáférés engedélyezéséhez.

A hitelesítési lépéshez egy alkalmazáskérésnek rendelkeznie kell egy OAuth 2.0 hozzáférési jogkivonattal futásidőben. Ha egy alkalmazás egy Azure-entitáson belül fut, például egy Azure-beli virtuális gépen, egy virtuálisgép-méretezési csoporton vagy egy függvényalkalmazáson belül, egy felügyelt identitással hozzáférhet az erőforrásokhoz. Ha tudni szeretné, hogyan hitelesítheti a felügyelt identitás által a Service Bus szolgáltatásba irányuló kérelmeket, olvassa el a Felügyelt identitások használata az Azure Service Bus szolgáltatással című témakört.

Az engedélyezési lépéshez egy vagy több Azure-szerepkört kell hozzárendelni a biztonsági taghoz. A Service Bus Azure-szerepköröket biztosít, amelyek a Service Bus-erőforrások engedélykészleteit tartalmazzák. A biztonsági főszereplőhöz rendelt szerepkörök határozzák meg azokat az engedélyeket, amelyekkel az entitás rendelkezik a Service Bus-erőforrásokon. Ha többet szeretne megtudni az Azure-szerepkörök Service Bushoz való hozzárendeléséről, tekintse meg az Azure Beépített Azure Service Bus-szerepköröket.

A Service Bus felé kéréseket intéző natív alkalmazások és webalkalmazások a Microsoft Entra ID azonosítójával is engedélyezhetik. Ez a cikk bemutatja, hogyan kérhet le hozzáférési jogkivonatot, és hogyan engedélyezheti a Service Bus-erőforrásokra vonatkozó kéréseket.

Azure beépített szerepkörök az Azure Service Bushoz

A Microsoft Entra hozzáférési jogosultságokat engedélyez az erőforrások védelméhez az Azure RBAC-en keresztül. Az Azure Service Bus azure-beli beépített szerepkörök készletét határozza meg, amelyek a Service Bus-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.

Ha egy Azure-szerepkör egy Microsoft Entra biztonsági taghoz van rendelve, az Azure hozzáférést biztosít ezekhez az erőforrásokhoz az adott biztonsági tag számára. A hozzáférés az előfizetés, az erőforráscsoport, a Service Bus-névtér vagy az entitás (üzenetsor, témakör vagy előfizetés) szintjére terjedhet ki. A Microsoft Entra biztonsági főszereplő lehet felhasználó, csoport, alkalmazási szolgáltatási főszereplő, vagy felügyelt identitás az Azure-erőforrásokhoz.

Az Azure Service Bus esetében az Azure RBAC-modell segít megvédeni a névterek és az összes kapcsolódó erőforrás kezelését az Azure Portalon és az Azure erőforrás-kezelési API-ján keresztül. Az Azure a következő beépített szerepköröket biztosítja a Service Bus-névtérhez való hozzáférés engedélyezéséhez:

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 a Service Bus-erőforrásokhoz való hozzáférés hatóköre a legszűkebb hatókörrel kezdődik:

  • Üzenetsor, témakör vagy előfizetés: A szerepkör-hozzárendelés az adott Service Bus-entitásra vonatkozik. Az Azure Portal jelenleg nem támogatja a felhasználók, csoportok vagy felügyelt identitások Service Bus Azure-szerepkörökhöz való hozzárendelését a témakör előfizetési szintjén.

  • Service Bus-névtér: A szerepkör-hozzárendelés a Service Bus teljes topológiájára kiterjed a névtér alatt, valamint a hozzá társított üzenetsorra vagy témakör-előfizetésre.

  • Erőforráscsoport: A szerepkör-hozzárendelés az erőforráscsoport összes Service Bus-erőforrására vonatkozik.

  • Azure-előfizetés: A szerepkör-hozzárendelés az előfizetés összes erőforráscsoportjában található Összes Service Bus-erőforrásra vonatkozik.

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 az Azure-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 Service Bus szolgáltatással való használatának egyik fő előnye, hogy a hitelesítő adatait már nem kell a kódban tárolni. Ehelyett kérhet egy OAuth 2.0 hozzáférési tokent a Microsoft Identity platformtól.

A Microsoft Entra hitelesíti az alkalmazást futtató biztonsági tagot (felhasználót, csoportot, szolgáltatásnevet vagy felügyelt identitást az Azure-erőforrásokhoz). Ha a hitelesítés sikeres, a Microsoft Entra-azonosító visszaadja az alkalmazás hozzáférési jogkivonatát. Az alkalmazás ezután a hozzáférési jogkivonat használatával engedélyezheti a Service Bus felé irányuló kérelmeket.

Az alábbi szakaszok bemutatják, hogyan konfigurálhatja natív alkalmazását vagy webalkalmazását a Microsoft Identity Platform 2.0-s verziójával való hitelesítéshez. A platformmal kapcsolatos további információkért lásd: Mi a Microsoft identitásplatformja?

Az OAuth 2.0 kódhozzáadási folyamat áttekintéséhez tekintse meg a Microsoft identitásplatformját és az OAuth 2.0 engedélyezési kódfolyamatát.

Alkalmazás regisztrálása egy Microsoft Entra bérlőben

A Service Bus-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 adatokat kell megadnia az alkalmazásról az Active Directorynak. 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. Az ügyfél-azonosítóval kapcsolatos további információkért tekintse meg a Microsoft Entra ID alkalmazás- és szolgáltatásnév-objektumait.

Ha regisztrálni szeretné az alkalmazást a Microsoft Entra-azonosítóval, kövesse az alkalmazás regisztrálása a Microsoft Entra-azonosítóban című témakörben leírt lépéseket.

Feljegyzés

Ha az alkalmazást natív alkalmazásként regisztrálja, az átirányítási URI-hoz bármilyen érvényes URI-t megadhat. Natív alkalmazások esetén ennek az értéknek nem kell valódi URL-címnek lennie. Webalkalmazások esetén az átirányítási URI-nak érvényes URI-nak kell lennie, mivel megadja azt az URL-címet, amelyhez a jogkivonatok meg vannak adva.

Az alkalmazás regisztrálása után megjelenik az alkalmazás (ügyfél) azonosítója és a címtár-(bérlői) azonosító a Beállítások területen. Jegyezze fel ezeket az értékeket. Az alkalmazás futtatásához szüksége lesz rájuk.

Képernyőkép az alkalmazásazonosítóról és a bérlőazonosítóról az alkalmazásregisztráció paneljén.

Titkos ügyfélkód létrehozása

Az alkalmazásnak ügyféltitokra van szüksége, hogy igazolja identitását, amikor tokent igényel. Az ügyfél titkos kódjának hozzáadásához kövesse az alábbi lépéseket:

  1. Az Azure Portalon nyissa meg az alkalmazásregisztrációt, ha még nem szerepel a lapon.

  2. A bal oldali menüben válassza a Tanúsítványok > titkos kódok lehetőséget.

  3. Az Ügyfélkódok területen válassza az Új ügyfélkulcs lehetőséget egy új titkos kód létrehozásához.

    A tanúsítványokat és titkos kulcsokat tartalmazó panelen található ügyfélkód létrehozására szolgáló gombot ábrázoló képernyőkép.

  4. Adja meg a titkos kód leírását, válassza ki a lejárati időközt, majd válassza a Hozzáadás lehetőséget.

    Az ügyfélkód hozzáadására szolgáló panel képernyőképe.

  5. Az új titkos kód értékét azonnal másolja egy biztonságos helyre. A teljes érték csak egyszer jelenik meg.

    Képernyőkép az ügyfél titkos kulcsainak területről, valamint a titkos kódok másolására szolgáló gombról.

Engedélyek hozzáadása a Service Bus API-hoz

Ha az alkalmazás konzolalkalmazás, regisztrálnia kell egy natív alkalmazást, és hozzá kell adnia api-engedélyeket Microsoft.ServiceBus a szükséges engedélyek készletéhez.

A natív alkalmazásoknak egy átirányítási URI-ra is szükségük van a Microsoft Entra-azonosítóban, amely azonosítóként szolgál. Az URI-nak nem kell hálózati célhelynek lennie. Használja https://servicebus.microsoft.com ezt a példát, mert a mintakód már használja ezt az URI-t.

Azure-szerepkörök hozzárendelése az Azure Portalon

Rendelje hozzá az egyik Service Bus-szerepkört az alkalmazás szolgáltatásnévéhez a kívánt hatókörben (entitás, Service Bus-névtér, erőforráscsoport vagy Azure-előfizetés). A részletes lépésekért lásd: Azure-szerepkörök hozzárendelése az Azure Portal használatával.

Miután definiálta a szerepkört és annak hatókörét, tesztelheti ezt a viselkedést a GitHubon található mintával.

A Service Bus-ügyfél hitelesítése

Miután regisztrálta az alkalmazást, és engedélyt adott az adatok küldésére/fogadására az Azure Service Busban, hitelesítheti az ügyfelet az ügyfél titkos hitelesítő adataival. Ezzel a hitelesítéssel kéréseket kezdeményezhet az Azure Service Buson.

A Microsoft Authentication Library (MSAL) for .NET GitHub-adattárban található Forgatókönyvek szakaszban megtekintheti azon forgatókönyvek listáját, amelyeknél a jogkivonatok beszerzése támogatott.

A legújabb Azure.Messaging.ServiceBus-kódtár használatával hitelesítheti a ServiceBusClientet az Azure.Identity könyvtárban definiált ClientSecretCredential használatával.

TokenCredential credential = new ClientSecretCredential("<tenant_id>", "<client_id>", "<client_secret>");
var client = new ServiceBusClient("<fully_qualified_namespace>", credential);

Ha a régebbi .NET-csomagokat használja, tekintse meg a Service BusHoz készült Azure RBAC-mintákat a GitHubon.