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 Service Bus-erőforrások kétféleképpen hitelesíthetők:
- Microsoft Entra ID
- Közös hozzáférésű jogosultságkódok (SAS)
A Microsoft Entra ID kiváló biztonságot és egyszerű használatot biztosít a közös hozzáférésű jogosultságkódokkal (SAS) szemben. A Microsoft Entra ID használatával nem kell tokeneket tárolnia a kódban, ami csökkenti a lehetséges biztonsági kockázatokat. Ha lehetséges, használja a Microsoft Entra ID-t az Azure Service Bus-alkalmazásokkal.
Ez a cikk azt ismerteti, hogyan tilthatja le az SAS-kulcsos hitelesítést (vagy a helyi hitelesítést), és hogyan használhat csak Microsoft Entra-azonosítót hitelesítéshez.
Miért érdemes letiltani a helyi hitelesítést?
A helyi (SAS-kulcs) hitelesítés letiltása számos módon erősíti a Service Bus-névtér biztonságát:
- Megszünteti a statikus hitelesítő adatokat. Az SAS-kulcsok hosszú élettartamú megosztott titkos kulcsok. Ha egy kulcs kiszivárog, bárki, aki rendelkezik vele, hozzáférhet a névtérhez, amíg manuálisan nem forgatja el a kulcsot. A Microsoft Entra ID rövid élettartamú tokeneket használ, amelyek automatikusan frissülnek.
- Lehetővé teszi a részletes hozzáférés-vezérlést. Az SAS-szabályzatok széles körű jogosultságokat (küldés, figyelés, kezelés) biztosítanak a névtér vagy az entitás szintjén. A Microsoft Entra szerepköralapú hozzáférés-vezérlés (RBAC) lehetővé teszi adott szerepkörök (
Azure Service Bus Data Sender, ,Azure Service Bus Data Receiver) hozzárendelését az egyes felhasználókhoz,Azure Service Bus Data Ownercsoportokhoz, szolgáltatásnevekhez vagy felügyelt identitásokhoz. - Audit naplót biztosít. A Microsoft Entra hitelesítési eseményei megjelennek a Microsoft Entra bejelentkezési naplóiban. Az SAS-kulcsok használata nem hoz létre összehasonlítható identitásszintű naplózási rekordokat.
- Támogatja a feltételes hozzáférést. A Microsoft Entra ID használatával olyan szabályzatokat kényszeríthet ki, mint a többtényezős hitelesítés, a megbízható eszközkövetelmények és a helykorlátozások – amelyek egyike sem érhető el SAS-kulcsokkal.
Jótanács
A helyi hitelesítés letiltása előtt frissítse az összes alkalmazást a hitelesítéshez a Microsoft Entra ID használatával. Tekintse meg a cikk későbbi, migrálási lépéseit ismertető szakaszt.
A portál használata a helyi hitelesítés letiltásához
Ebben a szakaszban megtudhatja, hogyan tilthatja le a helyi hitelesítést az Azure Portal használatával.
Nyissa meg Service Bus-névterét az Azure Portalon.
Az Áttekintés lap Essentials szakaszában válassza az Engedélyezve a helyi hitelesítéshez lehetőséget.
A Helyi hitelesítés lapon válassza a Letiltva, majd az OK gombot.
Helyi hitelesítés letiltása sablon használatával
A Service Bus-névtér helyi hitelesítésének letiltásához állítsa a tulajdonságot disableLocalAuth az alábbi sablonokban megadott true értékre.
@description('Name of the Service Bus namespace')
param namespaceName string
@description('Location for all resources.')
param location string = resourceGroup().location
resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
name: namespaceName
location: location
sku: {
name: 'Standard'
tier: 'Standard'
}
properties: {
disableLocalAuth: true
}
}
Helyi hitelesítés letiltása az Azure CLI vagy a PowerShell használatával
A helyi hitelesítést egy meglévő névtér parancssori eszközeivel is letilthatja.
az servicebus namespace update \
--resource-group <resource-group-name> \
--name <namespace-name> \
--disable-local-auth true
A helyi hitelesítés ismételt engedélyezése:
az servicebus namespace update \
--resource-group <resource-group-name> \
--name <namespace-name> \
--disable-local-auth false
Az aktuális állapotot a disableLocalAuth tulajdonság ellenőrzésével igazolhatja.
az servicebus namespace show \
--resource-group <resource-group-name> \
--name <namespace-name> \
--query disableLocalAuth
Kényszerítés az Azure Policy használatával
Bérlőszintű vagy előfizetés-szintű kényszerítés esetén a beépített Azure Policy Service Bus-névtereknek le kell tiltani a helyi hitelesítési módszereket (szabályzatazonosító: cfb11c26-f069-4c14-8e36-56c394dae5af).
Ez a szabályzat kiértékeli a Service Bus-névtereket, és megjelöli azokat, amelyek disableLocalAuth be van állítva false vagy nincs beállítva. Hozzárendelheti a felügyeleti csoport, az előfizetés vagy az erőforráscsoport szintjén.
Szabályzateffektusok
A szabályzat hozzárendelésekor válasszon ki egy, a kényszerítési igényeknek megfelelő effektust:
| Hatás | Magatartás |
|---|---|
| Ellenőrzés (alapértelmezett) | A meglévő, helyi hitelesítéssel rendelkező névterek nem megfelelőként jelennek meg a megfelelőségi irányítópulton. Az új névterek továbbra is engedélyezettek. |
| Megtagadás | Megakadályozza a helyi hitelesítéssel rendelkező névterek létrehozását vagy frissítését. Ezzel az effektussal kényszerítheti ki az új erőforrások megfelelőségét. |
Szabályzat hozzárendelése
- Az Azure Portalon lépjen aSzabályzatdefiníciók> elemre.
- A Service Bus-névterek keresésének le kell tiltani a helyi hitelesítési módszereket.
- Válassza ki a szabályzatdefiníciót, majd válassza a Hozzárendelés lehetőséget.
- Válassza ki a hatókört (felügyeleti csoport, előfizetés vagy erőforráscsoport).
- A Paraméterek lapon válassza ki a kívánt effektust (Naplózás vagy Elutasítás).
- Válassza a Véleményezés + létrehozás, majd a Létrehozás lehetőséget.
A hozzárendelés után a nem megfelelő névterek megjelennek aszabályzatmegfelelésben>. Létrehozhat egy szervizelési feladatot a frissíteni kívánt névterekhez.
Migrálás SAS-ről Microsoft Entra-azonosítóra
A helyi hitelesítés letiltása előtt frissítse a Service Bus-névtérhez csatlakozó összes alkalmazást, hogy kapcsolati sztringek vagy SAS-jogkivonatok helyett Microsoft Entra-azonosítót használjon. Kövesse az alábbi lépéseket:
1. lépés: RBAC-szerepkörök hozzárendelése
Rendelje hozzá a megfelelő Azure Service Bus-adatszerepkört minden olyan identitáshoz (felhasználóhoz, szolgáltatásnévhez vagy felügyelt identitáshoz), amelyhez hozzáférés szükséges:
| Role | Engedély |
|---|---|
Azure Service Bus Data Sender |
Üzenetek küldése üzenetsorokra és témakörökre |
Azure Service Bus Data Receiver |
Üzenetek fogadása üzenetsorokból és előfizetésekből |
Azure Service Bus Data Owner |
Teljes hozzáférés (entitások küldése, fogadása, kezelése) |
Szerepköröket az Azure Portalon, az Azure CLI-vel vagy az Azure PowerShell-lel rendelhet hozzá. Részletes útmutatásért lásd: Azure-szerepkörök hozzárendelése az Azure Portal használatával.
2. lépés: Alkalmazáskód frissítése
Cserélje le a kapcsolati sztring alapú hitelesítést az Azure Identity könyvtárból származó DefaultAzureCredential (vagy egy másik Microsoft Entra hitelesítő adat) használatával. Az alábbi példák az egyes nyelvek változását mutatják be:
// Before (connection string):
await using ServiceBusClient client = new("<connection-string>");
// After (Microsoft Entra ID):
await using ServiceBusClient client = new(
"<your-namespace>.servicebus.windows.net",
new DefaultAzureCredential());
További részletek az egyes SDK-król:
- .NET: Minta – Az ügyfél hitelesítése
- Java: Minta – Küldés az Azure Identity használatával
- Python: Minta – Service Bus-ügyfél
- JavaScript: Service Bus-minták
3. lépés: Tesztelés mindkét engedélyezett hitelesítési módszerrel
Telepítse a frissített alkalmazást, amíg a helyi hitelesítés továbbra is engedélyezve van. Ellenőrizze a következőket:
- Sikeresen küldhet és fogadhat üzeneteket.
- Az alkalmazásnaplók a Microsoft Entra token beszerzést mutatják (nem SAS).
- A hitelesítéssel kapcsolatos hibák nem jelennek meg.
4. lépés: A helyi hitelesítés letiltása
Miután megerősítette, hogy minden alkalmazás együttműködik a Microsoft Entra-azonosítóval, tiltsa le a helyi hitelesítést a jelen cikkben korábban ismertetett módszerek (portál, parancssori felület, PowerShell vagy sablon) használatával.
5. lépés: SAS-szabályzatok törlése (nem kötelező)
A helyi hitelesítés letiltása után a névtér meglévő SAS-szabályzatai megmaradnak, de nem használhatók funkcionális jogkivonatok létrehozására. A helyén hagyhatja őket, vagy eltávolíthatja őket egy tisztább konfiguráció érdekében. A nem használt szabályzatok eltávolítása csökkenti a támadási felületet, ha valaki véletlenül újra engedélyezi a helyi hitelesítést.
Kapcsolódó tartalom
A Microsoft Entra-azonosítóról és az SAS-hitelesítésről az alábbi cikkekben olvashat:
- Hitelesítés SAS használatával
- Hitelesítés Microsoft Entra-azonosítóval