Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure-erőforrások felügyelt identitásai lehetővé teszik az alkalmazás hitelesítését Azure Service Bus anélkül, hogy hitelesítő adatokat tárol a kódban. Azure automatikusan kezeli az identitást és annak hitelesítő adatait.
A hitelesítő adatok kódban való tárolása biztonsági kockázatokat és karbantartási többletterhelést okoz. A felügyelt identitások kiküszöbölik ezeket a problémákat azáltal, hogy automatikus hitelesítőadat-kezelést biztosítanak Microsoft Entra ID keresztül.
Ez a cikk bemutatja, hogyan konfigurálhatja a felügyelt identitáshitelesítést Service Bus, hogy az alkalmazás biztonságosan küldjön és fogadhassa az üzeneteket merevlemezes hitelesítő adatok nélkül.
Előfeltételek
Ha felügyelt identitásokat szeretne használni az Azure Service Busban, a következőkre van szüksége:
Azure-előfizetés. Ha még nincs, hozz létre egy ingyenes fiókot, mielőtt elkezdenéd.
Egy Azure Service Bus-névtér. Ha létre szeretne hozni egyet, olvassa el a Service Bus-névtér létrehozása című témakört.
Az Azure számítási erőforráson engedélyezett felügyelt identitás. See:
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.
Service Bus-szerepkör hozzárendelése a felügyelt identitáshoz
A Microsoft Entra az Azure szerepköralapú hozzáférés-vezérlésén (RBAC) keresztül engedélyezi a védett erőforrásokhoz való hozzáférést. Az Azure Service Bus beépített Azure-szerepköröket biztosít, amelyek a Service Bus-entitásokhoz való hozzáféréshez szükséges általános engedélyeket foglalják magukban. Egyéni szerepköröket is definiálhat.
Az alábbi táblázat a Service Bus-névtérhez való hozzáférés engedélyezésére szolgáló beépített Azure-szerepköröket sorolja fel:
| Szerep | Leírás |
|---|---|
| Azure Service Bus-adattulajdonos | Teljes hozzáférés a Service Bus-névtérhez és annak entitásaihoz (üzenetsorok, témakörök, előfizetések és szűrők) |
| Azure Service Bus-adatküldő | Üzenetek küldése Service Bus-üzenetsorokra és -témakörökre |
| Azure Service Bus-adatátvevő | Üzenetek fogadása Service Bus-üzenetsorokból és -előfizetésekből |
A Service Bus RBAC hatókörszintek megértése
Azure-szerepkör hozzárendelése előtt határozza meg a felügyelt identitáshoz szükséges hozzáférési hatókört. Csak a lehető legszűkebb hatókör megadása.
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 témakör-előfizetés: A szerepkör-hozzárendelés csak az adott üzenetkezelési entitásra vonatkozik.
- 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.
- 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 a Azure-előfizetés összes erőforráscsoportjának összes Service Bus erőforrására vonatkozik.
Az Azure-szerepkör-hozzárendelések propagálása akár öt percet is igénybe vehet.
Szerepkör hozzárendelése felügyelt identitáshoz az Azure Portalon
Lépjen a Service Bus-névtérre, az üzenetsorra vagy a témára.
A bal oldali menüben válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
Válassza a Hozzáadás>Szerepkör-hozzárendelés hozzáadása lehetőséget.
A Szerepkör lapon válassza ki a megfelelő Service Bus-adatszerepkört.
A Tagok lapon válassza a Managed Identity > (Tagválasztás) lehetőséget.
Válassza ki az Azure-erőforrás felügyelt identitását.
Válassza a Véleményezés + hozzárendelés lehetőséget.
További információ: Azure-szerepkörök hozzárendelése az Azure Portal használatával.
Szerepkör hozzárendelése az Azure CLI használatával
Az Azure Portal nem támogatja a felügyelt identitások Service Bus-szerepkörökhöz való hozzárendelését a témakör előfizetési szintjén. Az Azure CLI az role assignment create parancsával bármilyen hatókörhöz hozzárendelhet szerepkört:
az role assignment create \
--role $service_bus_role \
--assignee $assignee_id \
--scope /subscriptions/$subscription_id/resourceGroups/$resource_group/providers/Microsoft.ServiceBus/namespaces/$service_bus_namespace/topics/$service_bus_topic/subscriptions/$service_bus_subscription
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.
Megjegyzés
Ha a forrásszolgáltatás vagy alkalmazás nem indul újra, miután eltávolította a felügyelt identitást a Service Bus RBAC-szerepkörből, előfordulhat, hogy a forrásalkalmazás a jogkivonat lejáratáig továbbra is üzeneteket küld vagy fogad a Service Bus-entitásba vagy onnan. (Az alapértelmezett jogkivonat érvényessége 24 óra.) Ez a viselkedés terv szerint történik.
Miután eltávolította a forrás felügyelt identitását az RBAC-szerepkörből, indítsa újra a forrásalkalmazást vagy szolgáltatást, hogy azonnal lejárjon a jogkivonat, és megakadályozza, hogy üzeneteket küldjön vagy fogadjon a Service Bus-entitásból.
Csatlakozás a Service Bushoz felügyelt identitás használatával az Azure SDK-kban
A .NET-hez, Java-hoz, JavaScripthez és Pythonhoz készült Azure SDK-k támogatják a felügyelt identitáshitelesítést a Service Bus használatával. Az alábbi példa bemutatja, hogyan csatlakozhat a .NET SDK használatával.
A .NET-ben a ServiceBusClient objektum inicializálása egy konstruktor használatával történik, amely teljes névteret és jogkivonat-hitelesítő adatokat (TokenCredential) használ.
DefaultAzureCredential ered TokenCredential-ből, az automatán alkalmazáshoz konfigurált felügyelt identitást használva. A jogkivonat hitelesítő adatai automatikusan kezelik a felügyelt identitás környezetének a Service Busba való áramlását és az engedélyezési kézfogást. Ez egy egyszerűbb modell, mint egy SAS használata.
var client = new ServiceBusClient("contoso.servicebus.windows.net", new DefaultAzureCredential());
Üzenetek küldése és fogadása a szokásos módon a ServiceBusSender és a ServiceBusReceiver vagy a ServiceBusProcessor használatával.
Ha részletes útmutatást szeretne kapni az üzenetek felügyelt identitással történő küldéséhez és fogadásához, tekintse meg az alábbi rövid útmutatókat. Ezek a gyors kezdési útmutatók kódot tartalmaznak, amely egy szolgáltatási főfelhasználó segítségével küld és fogad üzeneteket, de ugyanaz a kód használható felügyelt identitáshoz is.
Megjegyzés
A felügyelt identitások csak az Azure-környezetben, az Azure App Service-ben, az Azure-beli virtuális gépeken és a méretezési csoportokban működnek. .NET alkalmazások esetében a Microsoft.Azure.Services.AppAuthentication kódtár (amelyet a Service Bus NuGet-csomag használ) absztrakciót biztosít a protokollhoz, és támogatja a helyi fejlesztést. A kódot helyileg tesztelheti a felhasználói fiókjával Visual Studio, a Azure CLI vagy Microsoft Entra integrált hitelesítésből. További információ: App Authentication ügyfélkönyvtár a .NET-hez.