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-azonosító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, alkalmazásszolgáltatásnév 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 OAuth 2.0 hozzáférési jogkivonatot a Microsoft Identitásplatform. Ha a hitelesítés sikeres, a Microsoft Entra ID egy hozzáférési jogkivonatot ad vissza az alkalmazásnak, és 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éréseket.

Fontos

A Service Bus-névtér helyi vagy SAS-kulcsos hitelesí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. 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://servicebus.azure.net: .
  2. Ezután 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 Azure-függvényalkalmazáson belül, az erőforrások eléréséhez felügyelt identitást használhat. Ha szeretné megtudni, hogyan hitelesítheti egy felügyelt identitás által a Service Bus szolgáltatáshoz küldött kéréseket, olvassa el az Azure Service Bus-erőforrásokhoz való hozzáférés hitelesítése a Microsoft Entra-azonosítóval és az Azure-erőforrások felügyelt identitásaival 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. Az Azure Service Bus Olyan Azure-szerepköröket biztosít, amelyek a Service Bus-erőforrások engedélykészleteit foglalják magukban. A biztonsági taghoz rendelt szerepkörök határozzák meg, hogy az egyszerű felhasználó milyen engedélyekkel rendelkezzen a Service Bus-erőforrásokon. Ha többet szeretne tudni az Azure-szerepkörök Azure 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ások eléréséhez használt általános engedélykészleteket foglalják magukban, és 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 szintjére, az erőforráscsoportra vagy a Service Bus-névtérre terjedhet ki. A Microsoft Entra biztonsági tag lehet felhasználó, csoport, alkalmazás-szolgáltatásnév vagy felügyelt identitás az Azure-erőforrásokhoz.

Az Azure Service Bus 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-modell használatával. 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/felügyelt identitások Service Bus Azure-szerepkörökhöz való hozzárendelését az előfizetés 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 és a hozzá társított fogyasztói csoportra.
  • Erőforráscsoport: A szerepkör-hozzárendelés az erőforráscsoport összes Service Bus-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ő Service Bus-erőforrásra vonatkozik.

Feljegyzé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 egy 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 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, szolgáltatásnevet vagy felügyelt identitást az Azure-erőforrásokhoz). Ha a hitelesítés sikeres, a Microsoft Entra ID visszaadja a hozzáférési jogkivonatot az alkalmazásnak, és az alkalmazás ezután a hozzáférési jogkivonat használatával engedélyezheti az Azure Service Bus felé irányuló kérelmeket.

A következő szakaszok bemutatják, hogyan konfigurálhatja natív alkalmazását vagy webalkalmazását hitelesítésre a Microsoft Identitásplatform 2.0-val. További információ a Microsoft Identitásplatform 2.0-s verzióról: 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

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

Kövesse a rövid útmutató lépéseit: Alkalmazás regisztrálása a Microsoft Identitásplatform az alkalmazás Microsoft Entra-azonosítóval való regisztrálásához.

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ő) azonosítója a Gépház alatt:

Fontos

Jegyezze fel a TenantId és az ApplicationId azonosítót. Az alkalmazás futtatásához ezekre az értékekre lesz szüksége.

Screenshot showing the App registration page showing the Application ID and Tenant ID.

További információ az alkalmazások Microsoft Entra-azonosítóval való regisztrálásáról: Alkalmazások integrálása a Microsoft Entra-azonosítóval.

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

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

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

  2. Válassza a Tanúsítványok > titkos kulcsok lehetőséget a bal oldali menüben.

  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.

    Screenshot showing the Certificates and secrets page with New client secret button selected.

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

    Screenshot showing the Add a client secret page.

  5. Az új titkos kód értékét azonnal másolja egy biztonságos helyre. A kitöltési érték csak egyszer jelenik meg Önnek.

    Screenshot showing the Client secrets section with the secret you added.

A Service Bus API engedélyei

Ha az alkalmazás konzolalkalmazás, regisztrálnia kell egy natív alkalmazást, és hozzá kell adnia a Microsoft.ServiceBus API-engedélyeit a szükséges engedélyekhez. A natív alkalmazásoknak a Microsoft Entra ID-ban is szüksége van átirányítási uri-ra , 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 (Service Bus-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.

Miután meghatározta 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 arra, hogy adatokat küldjön/fogadjon az Azure Service Busban, hitelesítheti az ügyfelet az ügyfél titkos hitelesítő adataival, amely lehetővé teszi, hogy kéréseket küldjön az Azure Service Buson.

Azoknak a forgatókönyveknek a listáját, amelyekhez a jogkivonatok beszerzése támogatott, tekintse meg a .NET GitHub-adattárhoz készült Microsoft Authentication Library (MSAL) Forgatókönyvek szakaszát.

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 RoleBasedAccessControl-mintákat az azure-service-bus minták adattárában.

Következő lépések

A Service Bus üzenetkezelésről az alábbi témakörökben találhat további információkat.