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


Event Hubs-erőforráshoz való hozzáférés engedélyezése a közös hozzáférésű jogosultságkód segítségével

A közös hozzáférésű jogosultságkód (SAS) lehetővé teszi, hogy korlátozott hozzáférést biztosítson az Event Hubs-névtér erőforrásaihoz. A SAS az engedélyezési szabályok alapján védi az Event Hubs-erőforrásokhoz való hozzáférést. Ezek a szabályok névtéren vagy eseményközpontban vannak konfigurálva. Ez a cikk áttekintést nyújt az SAS-modellről, és áttekinti az SAS ajánlott eljárásait.

Feljegyzés

Ez a cikk az Event Hubs-erőforrások SAS használatával történő engedélyezését ismerteti. Az Event Hubs-erőforrások sassal való hitelesítéséről a Hitelesítés SAS használatával című témakörben olvashat.

Mik azok a közös hozzáférésű jogosultságkódok?

A közös hozzáférésű jogosultságkód (SAS) engedélyezési szabályok alapján delegált hozzáférést biztosít az Event Hubs-erőforrásokhoz. Az engedélyezési szabálynak van egy neve, meghatározott jogosultságokkal van társítva, és titkosítási kulcsokat tartalmaz. A szabály nevét és kulcsát az Event Hubs-ügyfeleken vagy a saját kódjában használhatja SAS-jogkivonatok létrehozásához. Az ügyfél ezután átadhatja a jogkivonatot az Event Hubsnak, hogy igazolja a kért művelet engedélyezését.

Az SAS egy egyszerű jogkivonatokat használó jogcímalapú engedélyezési mechanizmus. SAS használata esetén a kulcsok soha nem kerülnek a vezetékre. A kulcsok a szolgáltatás által később ellenőrizhető kriptográfiai aláírási információkhoz használhatók. Az SAS a felhasználónévhez és a jelszósémához hasonlóan használható, ahol az ügyfél azonnal rendelkezik egy engedélyezési szabály nevével és egy egyező kulccsal. Az SAS az összevont biztonsági modellhez hasonlóan használható, ahol az ügyfél egy korlátozott ideig korlátozott és aláírt hozzáférési jogkivonatot kap egy biztonsági jogkivonat-szolgáltatástól anélkül, hogy az aláírókulcs birtokába jut.

Feljegyzés

Az Azure Event Hubs emellett támogatja az Event Hubs-erőforrások Microsoft Entra ID-azonosítóval történő engedélyezését is. A Microsoft Entra ID által visszaadott OAuth 2.0 jogkivonatot használó felhasználók vagy alkalmazások engedélyezése 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-azonosítóval nincs szükség a jogkivonatok kódban való tárolására, és nem kockáztathatja a biztonsági réseket.

A Microsoft azt javasolja, hogy ha lehetséges, használja a Microsoft Entra ID-t az Azure Event Hubs-alkalmazásokkal. További információ: Hozzáférés engedélyezése az Azure Event Hubs-erőforráshoz a Microsoft Entra ID használatával.

Fontos

Az SAS-jogkivonatok (közös hozzáférésű jogosultságkódok) kritikus fontosságúak az erőforrások védelme érdekében. A részletesség biztosítása mellett az SAS hozzáférést biztosít az ügyfeleknek az Event Hubs-erőforrásokhoz. Ezeket nem szabad nyilvánosan megosztani. Megosztáskor, ha hibaelhárítási okokból szükséges, fontolja meg a naplófájlok csökkentett verziójának használatát vagy az SAS-jogkivonatok (ha vannak) törlését a naplófájlokból, és győződjön meg arról, hogy a képernyőképek sem tartalmazzák az SAS-információkat.

Megosztott hozzáférés-engedélyezési szabályzatok

Minden Event Hubs-névtér és minden Event Hubs-entitás (eseményközpont vagy Kafka-témakör) rendelkezik szabályokból álló közös hozzáférés-engedélyezési szabályzattal. A névtér szintjén lévő szabályzat a névtéren belüli összes entitásra vonatkozik, függetlenül az egyes szabályzatkonfigurációktól.

Minden engedélyezési házirend-szabály esetében három információ közül választhat: név, hatókör és jogosultságok. A név egy egyedi név ebben a hatókörben. A hatókör a szóban forgó erőforrás URI-ja. Event Hubs-névtér esetén a hatókör a teljes tartománynév (FQDN), például https://<yournamespace>.servicebus.windows.net/.

A szabályzatszabály által biztosított jogosultságok a következők kombinációja lehetnek:

  • Küldés – Jogot ad arra, hogy üzeneteket küldjön az entitásnak
  • Figyelés – Jogot biztosít az entitástól érkező üzenetek figyelésére vagy fogadására
  • Kezelés – Lehetővé teszi a névtér topológiájának kezelését, beleértve az entitások létrehozását és törlését is. A Kezelés jog tartalmazza a Küldés és figyelés jogosultságot.

A névtér- vagy entitásszabályzatok legfeljebb 12 közös hozzáférésű hozzáférési engedélyezési szabályt tartalmazhatnak, amelyek helyet biztosítanak a három szabálykészletnek, amelyek mindegyike lefedi az alapvető jogokat, valamint a Küldés és figyelés kombinációját. Ez a korlát aláhúzza, hogy az SAS-szabályzattároló nem felhasználói vagy szolgáltatásfiók-tárolónak készült. Ha az alkalmazásnak felhasználói vagy szolgáltatásidentitások alapján kell hozzáférést biztosítania az Event Hubs-erőforrásokhoz, olyan biztonsági jogkivonat-szolgáltatást kell implementálnia, amely SAS-jogkivonatokat ad ki a hitelesítés és a hozzáférés-ellenőrzés után.

Az engedélyezési szabályhoz elsődleges kulcs és másodlagos kulcs van hozzárendelve. Ezek a kulcsok kriptográfiailag erős kulcsok. Ne veszítsd el őket, és ne szivárogtasd ki őket. Ezek mindig elérhetők lesznek az Azure Portalon. A létrehozott kulcsok bármelyikét használhatja, és bármikor újra létrehozhatja őket. Ha újragenerál vagy módosít egy kulcsot a szabályzatban, az ezen a kulcson alapuló összes korábban kiadott jogkivonat azonnal érvénytelen lesz. Az ilyen jogkivonatok alapján létrehozott kapcsolatok azonban mindaddig működnek, amíg a jogkivonat le nem jár.

Event Hubs-névtér létrehozásakor a rendszer automatikusan létrehoz egy RootManageSharedAccessKey nevű szabályzatszabályt a névtérhez. Ez a szabályzat a teljes névtér engedélyeit kezeli . Javasoljuk, hogy ezt a szabályt rendszergazdai gyökérfiókként kezelje, és ne használja az alkalmazásban. A portál névterének Konfigurálás lapján további szabályzatszabályokat hozhat létre a PowerShell vagy az Azure CLI használatával.

A SAS használatával kapcsolatos ajánlott eljárások

Ha közös hozzáférésű jogosultságkódokat használ az alkalmazásokban, két lehetséges kockázattal kell tisztában lennie:

  • Ha kiszivárog egy SAS, azt bárki használhatja, aki beszerezi, ami veszélyeztetheti az Event Hubs-erőforrásokat.
  • Ha egy ügyfélalkalmazáshoz biztosított SAS lejár, és az alkalmazás nem tud új SAS-t lekérni a szolgáltatásból, akkor az alkalmazás működése akadályozható lehet.

A megosztott hozzáférésű jogosultságkódok használatára vonatkozó alábbi javaslatok segíthetnek csökkenteni ezeket a kockázatokat:

  • Szükség esetén az ügyfelek automatikusan megújítják az SAS-t: Az ügyfeleknek jóval a lejárat előtt meg kell újítaniuk az SAS-t, hogy időt hagyhassanak az újrapróbálkozáshoz, ha az SAS-t biztosító szolgáltatás nem érhető el. Ha az SAS-t kis számú, rövid élettartamú, a lejárati időszakon belül várhatóan befejezendő művelethez szeretné használni, akkor szükségtelenné válhat, mivel az SAS-t várhatóan nem újítják meg. Ha azonban olyan ügyfele van, amely rutinszerűen küld kéréseket SAS-en keresztül, akkor a lejárat lehetősége is felmerül. A legfontosabb szempont az sas rövid élettartamú (korábban említett) igényének egyensúlyba hozása annak szükségességével, hogy az ügyfél elég korán kérjen megújítást (a sikeres megújítás előtt lejáró SAS miatti fennakadás elkerülése érdekében).
  • Legyen óvatos a SAS kezdési időpontjával: Ha az SAS kezdési idejét most állítja be, akkor az óraeltérés (a különböző gépek szerint az aktuális idő eltérései) miatt a hibák időszakosan megfigyelhetők az első néhány percben. A kezdési idő általában legalább 15 perc lehet a múltban. Vagy egyáltalán ne állítsa be, ami minden esetben azonnal érvényessé teszi. Általában ugyanez vonatkozik a lejárati időre is. Ne feledje, hogy bármilyen kérés esetén akár 15 percnyi óraeltérést is megfigyelhet bármelyik irányban.
  • Konkrétan a elérni kívánt erőforrással kell rendelkeznie: A biztonsági ajánlott eljárás a minimálisan szükséges jogosultságok biztosítása a felhasználó számára. Ha egy felhasználónak csak egyetlen entitás olvasási hozzáférésére van szüksége, akkor olvasási hozzáférést kell biztosítani az adott entitáshoz, és nem kell olvasási/írási/törlési hozzáférést adni az összes entitáshoz. Emellett csökkenti a kárt, ha egy SAS megsérül, mert az SAS-nek kevesebb hatalma van a támadó kezében.
  • Ne mindig használja az SAS-t: Előfordulhat, hogy az Event Hubs egy adott művelettel kapcsolatos kockázat meghaladja az SAS előnyeit. Ilyen műveletekhez hozzon létre egy középszintű szolgáltatást, amely az üzleti szabályok érvényesítése, hitelesítése és naplózása után ír az eseményközpontokba.
  • Mindig használjon HTTP-ket: Mindig a Https használatával hozzon létre vagy terjesszen el egy SAS-t. Ha egy SAS-t http-en keresztül ad át, és elfogják, a középső támadást végrehajtó támadó képes beolvasni az SAS-t, majd ugyanúgy használni, ahogy a kívánt felhasználó is, ami veszélyeztetheti a bizalmas adatokat, vagy lehetővé teszi az adatok rosszindulatú felhasználó általi sérülését.

Összegzés

A megosztási jogosultságkódok akkor hasznosak, ha korlátozott engedélyeket biztosítanak az Event Hubs-erőforrásokhoz az ügyfelek számára. Ezek létfontosságú részei a biztonsági modellnek az Azure Event Hubsot használó alkalmazásokhoz. Ha a cikkben felsorolt ajánlott eljárásokat követi, az SAS használatával nagyobb rugalmasságot biztosíthat az erőforrásokhoz való hozzáféréshez anélkül, hogy veszélyeztetné az alkalmazás biztonságát.

Lásd a következő kapcsolódó cikkeket: