Biztonsági szószedet az Azure Cosmos DB for Table szolgáltatáshoz
Az üzembe helyezési útmutató sorrendjének diagramja a következő helyekkel együtt: Áttekintés, Fogalmak, Előkészítés, Szerepköralapú hozzáférés-vezérlés és Referencia. A "Fogalmak" hely jelenleg ki van emelve.
Ez a cikk az Azure Cosmos DB for Table biztonsági útmutatójában használt gyakori terminológia szószedetét tartalmazza.
Szerepköralapú hozzáférés-vezérlés
A szerepköralapú hozzáférés-vezérlés az Azure-beli erőforrásokhoz való hozzáférés kezelésére szolgáló módszer. Ez a módszer azon meghatározott identitásokon alapul, amelyek szerepkörökhöz vannak rendelve, amelyek egy vagy több erőforráshoz való hozzáférésük szintjét kezelik. A szerepköralapú hozzáférés-vezérlés rugalmas, részletes hozzáférés-kezelési rendszert biztosít, amely biztosítja, hogy az identitások csak a legkevésbé emelt szintű hozzáféréssel rendelkezzenek a feladatuk elvégzéséhez.
További információkért tekintse meg a szerepköralapú hozzáférés-vezérlés áttekintését.
Identitás/egyszerű
Az identitások a Microsoft Entra azon objektumaira vonatkoznak, amelyek olyan entitásokat jelölnek, amelyeknek szükségük lehet a rendszerhez való hozzáférés szintjére. Az Azure és a Microsoft Entra kontextusában az identitások az alábbi entitástípusok egyikére hivatkozhatnak:
Leírás | |
---|---|
Számítási feladatok identitásai | A számítási feladatok identitása olyan szoftveres számítási feladatot jelöl, amely más szolgáltatásokhoz vagy erőforrásokhoz való hozzáféréshez szükséges |
Emberi identitások | Az emberi identitás olyan felhasználót jelöl, aki natív lehet a bérlőn, vagy vendégként vehet fel |
Felügyelt identitások | A felügyelt identitások különálló erőforrások az Azure-ban, amelyek egy Azure-szolgáltatás identitását képviselik |
Szolgáltatási elvek | A szolgáltatásnév olyan szolgáltatásfiók, amely rugalmas számú hitelesítési forgatókönyvben használható |
Eszközidentitások | Az eszközidentitás egy eszközre leképezett objektum a Microsoft Entra-ban |
Csoportok | A csoportok olyan objektumok, amelyek egy vagy több identitáshoz való hozzáférést egyetlen műveletként kezelik |
További információkért tekintse meg az identitás alapjait.
Szerepkör
A szerepkörök a hozzáférés és az engedélyek kikényszerítésének elsődleges egységei. Szerepkört rendelhet egy identitáshoz, és a szerepkör definíciója határozza meg, hogy milyen szintű hozzáféréssel rendelkezhet az identitás. A hozzárendelés hatóköre határozza meg, hogy az identitás pontosan milyen hozzáféréssel rendelkezik.
Az Azure számos beépített szerepkörrel rendelkezik, amelyekkel hozzáférést biztosíthat a különböző erőforrásokhoz. Vegye fontolóra ezt a példát:
Érték | |
---|---|
Szerepkör | CosmosBackupOperator |
Definíció | Microsoft.DocumentDB/databaseAccounts/backup/action & Microsoft.DocumentDB/databaseAccounts/restore/action |
Hatókör | Erőforráscsoport |
Ebben a példában egy adott erőforráscsoporthoz rendeli hozzá a CosmosBackupOperator
szerepkört. Ez a hozzárendelés hozzáférést biztosít az backup
adott erőforráscsoport bármely Azure Cosmos DB-fiókjában végzett műveletekhez vagy restore
műveletekhez.
Fontos
Egyes Azure-szolgáltatások, például az Azure Cosmos DB saját, szerepköralapú hozzáférés-vezérlési implementációval rendelkeznek, amely különböző Azure Resource Manager-tulajdonságokat, Azure CLI-parancsokat és Azure PowerShell-parancsmagokat használ. A szerepköralapú hozzáférés-vezérlés kezelésére általában használt parancsok nem működnek az Azure Cosmos DB adatsík-hozzáféréssel. Az Azure szerepköralapú hozzáférés-vezérlés egyes parancsai együttműködhetnek az Azure Cosmos DB vezérlősík-hozzáférésével.
További információ: beépített Azure-szerepkörök
Szerepkör-definíció
A szerepkördefiníció egy olyan JSON-objektum, amely tartalmazza az engedélyezett és nem engedélyezett vezérlősík- és adatsík-műveletek listáját. Tekintse meg ezt a csonkolt példát a CosmosRestoreOperator
beépített szerepkörből:
{
"roleName": "CosmosRestoreOperator",
"type": "Microsoft.Authorization/roleDefinitions",
...
"permissions": [
{
"actions": [
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read",
"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read"
],
"notActions": [],
"dataActions": [],
"notDataActions": []
}
],
...
}
Ebben a definícióban a szerepkörhöz rendelt identitás végrehajthat egy restore
műveletet. A visszaállítási művelet befejeződése után az identitás ezután különböző erőforrásokat olvashat be annak ellenőrzéséhez, hogy a visszaállítás sikeres volt-e. Megállapíthatjuk, hogy a (helyettesítő) operátor miatt be tudja olvasni ezeket az *
erőforrásokat read
.
További információ: szerepkördefiníciós fogalmak.
Szerepkör-hozzárendelés
A szerepkör-hozzárendelés identitás-hozzáférést biztosít egy adott Azure-erőforráshoz. A szerepkör-hozzárendelések a következő összetevőkből állnak:
Leírás | |
---|---|
Megbízó | Milyen identitás van hozzárendelve ehhez a szerepkörhöz? |
Szerepkör | Az identitáshoz rendelt szerepkör |
Hatókör | A hozzárendelés cél Azure-erőforrása vagy csoportja |
Név/leírás | Olyan metaadatok, amelyek megkönnyítik a hozzárendelések nagy léptékű kezelését |
Tipp.
A szerepköralapú hozzáférés-vezérlésben az identitás és a rendszernév egymástól kölcsönösen használt kifejezéseket láthat.
További információ: szerepkör-hozzárendelési fogalmak.
Műveletek
A műveletek meghatározzák, hogy egy szerepkör milyen engedélyekkel rendelkezik a célerőforráshoz. A műveletek olyan sztringek, amelyek általában tartalmazzák az erőforrástípust és egy leíró nevet, amely részletezi, hogy a művelet milyen engedélyeket biztosít. Íme néhány gyakori példa:
Leírás | Repülőgép | |
---|---|---|
Microsoft.DocumentDB/databaseAccounts/listKeys/action |
Csak a fiókkulcsok olvasása | Vezérlősík |
Microsoft.DocumentDB/databaseAccounts/backup/action |
Biztonsági mentéseket hajthat végre | Vezérlősík |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace |
Meglévő elem teljes cseréje | Adatsík |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery |
NoSQL-lekérdezés végrehajtása | Adatsík |
A műveletek tartalmazhatnak *
(helyettesítő) karaktereket is, így nem kell manuálisan részleteznie az egyes részösszegeket. Íme néhány példa helyettesítő karakterekkel végzett műveletekre:
Leírás | |
---|---|
Microsoft.DocumentDb/databaseAccounts/* |
Azure Cosmos DB-fiókok létrehozása és kezelése |
Microsoft.DocumentDB/*/read |
Bármely tároló vagy adatbázis olvasása |
A műveletek vezérlősíkra és adatsíkra vannak elválasztva. Külön meg kell határoznia a vezérlősík erőforrásain és az adatokat befolyásoló műveleteken végzett műveleteket. A szerepkördefiníciókban a vezérlősík-műveletek a tulajdonságot actions
használják, és az adatsík műveletei a tulajdonságon dataActions
belül találhatók. Olyan műveleteket is meghatározhat, amelyeket egy identitás nem tud végrehajtani a megfelelő notActions
és notDataActions
a tulajdonságok használatával.
Feljegyzés
A műveletek vezérlő- és adatsíkba való seprálása egy biztonsági intézkedés, amely megakadályozza, hogy a helyettesítő karakterek műveletei az örökölt szerepkör-definíciókban korlátlan és véletlen hozzáféréssel rendelkezhessenek az adatokhoz.
További információ: vezérlési és adatműveletek.
Minimális jogosultság
A "minimális jogosultság" fogalma egy működési ajánlott eljárásra utal, amely biztosítja, hogy minden felhasználó csak a minimális szintű hozzáféréssel rendelkezzen a feladat vagy a feladat elvégzéséhez. Egy adatbázisból adatokat beolvasó alkalmazásnak például csak olvasási hozzáférésre lenne szüksége az adattárhoz. Ha az alkalmazás olvasási és írási hozzáféréssel rendelkezik az adattárhoz, néhány dolog történhet, többek között a következőkre:
- Az alkalmazás tévesen megsemmisítheti az adatokat
- Egy jogosulatlan felhasználó hozzáférhet az alkalmazás hitelesítő adataihoz, és módosíthatja az adatokat
A minimális jogosultsági gyakorlat követése biztosítja, hogy az esetleges adatsértések hatóköre korlátozott. Ez a gyakorlat maximalizálja a működési biztonságot, miközben lehetővé teszi a felhasználók számára a hatékony működést.
További információ: ajánlott legkevésbé kiemelt szerepkörök tevékenység szerint.
Vezérlősík
A vezérlősík-hozzáférés azt jelenti, hogy az Azure-szolgáltatások erőforrásait az adatok kezelése nélkül kezelheti. Az Azure Cosmos DB vezérlősík-hozzáférése például magában foglalhatja a következőket:
- Az összes fiók és erőforrás metaadatainak olvasása
- Fiókkulcsok és kapcsolati sztring olvasása és újragenerálása
- Fiók biztonsági mentésének és visszaállításának végrehajtása
- Adatátviteli feladatok indítása és nyomon követése
- Adatbázisok és tárolók kezelése
- Fióktulajdonságok módosítása
Fontos
Az Azure Cosmos DB-ben vezérlősík-acccesekre van szüksége a natív adatsík szerepköralapú hozzáférés-vezérlési definícióinak és hozzárendeléseinek kezeléséhez. Mivel az Azure Cosmos DB adatsíkjának szerepköralapú hozzáférés-vezérlési mechanizmusa natív, vezérlősík-hozzáférésre lesz szüksége a definíciók és hozzárendelések létrehozásához és erőforrásokként való tárolásához egy Azure Cosmos DB-fiókban.
Adatsík
Az adatsík-hozzáférés azt jelenti, hogy az Adatok olvasása és írása az Azure-szolgáltatásban anélkül érhető el, hogy a fiók erőforrásai kezelhetők. Exmaple esetén az Azure Cosmos DB adatsík-hozzáférése magában foglalhatja a következőket:
- Fiók- és erőforrás-metaadatok olvasása
- Elemek létrehozása, olvasása, frissítése, javítása és törlése
- NoSQL-lekérdezések végrehajtása
- Beolvasás egy tároló változáscsatornájából
- Tárolt eljárások végrehajtása
- Ütközések kezelése az ütközéscsatornában
Hordozható hitelesítés
A fejlesztés során gyakori, hogy két különböző hitelesítési logikát írunk a helyi fejlesztési és éles példányokhoz. Az Azure SDK-val egyetlen technikával írhat logikát, és elvárhatja, hogy a hitelesítési kód zökkenőmentesen működjön a fejlesztésben és az éles környezetben.
Az Azure Identity-ügyfélkódtár az Azure SDK részeként több programozási nyelven is elérhető. A kódtár használatával létrehozhat egy DefaultAzureCredential
objektumot, amely intelligensen végigvezeti a különböző lehetőségeken, hogy a környezete alapján megtalálja a megfelelő hitelesítő adatokat. Ezek a hitelesítési lehetőségek a következők: (sorrendben):
- Környezeti változóként tárolt ügyfélkód vagy tanúsítvány
- Microsoft Entra Számítási feladat ID
- Felhasználó által hozzárendelt vagy rendszer által hozzárendelt felügyelt identitás
- A Visual Studio beállításaiból származtatott Azure-hitelesítő adatok
- A Visual Studio Code Azure-fiókbővítményében használt hitelesítő adatok
- Az Azure CLI aktuális hitelesítő adatai
- Az Azure PowerShell aktuális hitelesítő adatai
- Az Azure Developer CLI aktuális hitelesítő adatai
- Interaktív munkamenet, amely elindítja a rendszer böngészőjét a bejelentkezéshez
Minden modern Azure SDK-kódtár támogatja a konstruktort a megfelelő ügyfélobjektumokhoz vagy osztályokhoz, amelyek elfogadják a példányt DefaultAzureCredential
vagy annak alaptípusát.
Tipp.
Az éles kód hibakeresésének és kiszámíthatóbbá tétele érdekében dönthet úgy, hogy a fejlesztés során használjaDefaultAzureCredential
, és egy konkrétabb hitelesítőadat-azonosítóra vált, például ManagedIdentityCredential
WorkloadIdentityCredential
az alkalmazás üzembe helyezése után. Ezek az osztályok azon az TokenCredential
osztályon alapulnak, amelyet sok Azure SDK elvár az ügyfél inicializálási logikája részeként, így könnyen felcserélhető oda-vissza.
Egyedi azonosító
A Microsoft Entra minden identitása egyedi azonosítóval rendelkezik. Ezt az egyedi azonosítót id
néha a , objectId
vagy principalId
. Szerepkör-hozzárendelések létrehozásakor szüksége lesz az identitás egyedi azonosítóra, amelyet a hozzárendeléshez használ.
Hatókör
Szerepkör hozzárendelésekor el kell döntenie, hogy milyen Azure-erőforrásokhoz vagy -csoportokhoz szeretne hozzáférést biztosítani. A szerepkör-hozzárendelés hatóköre határozza meg a hozzárendelés szintjét.
Példa:
- Egyetlen erőforrás-hatókör csak arra az egyedi erőforrásra alkalmazza az engedélyeket
- Az erőforráscsoport szintjén beállított hatókör az engedélyeket a csoport összes releváns erőforrására alkalmazza
- A felügyeleti csoport vagy az előfizetés szintjén lévő hatókörök az összes gyermekcsoportra és erőforrásra vonatkoznak
Ha szerepkört rendel hozzá az Azure szerepköralapú hozzáférés-vezérléséhez, ideális, ha úgy állítja be a hozzárendelés hatókörét, hogy a számítási feladathoz szükséges kevés erőforrást foglalja magában. Beállíthatja például egy hozzárendelés hatókörét egy erőforráscsoportra. Az erőforráscsoport hatóköre magában foglalja az erőforráscsoporton belüli összes Azure Cosmos DB-erőforrást:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>
Másik lehetőségként beállíthatja a hatókört egyetlen Azure-erőforrásra, és részletesebbé és szűkebbé teheti az engedélyek hozzárendelését. Ebben a példában az Azure Cosmos DB-erőforrás szolgáltatóját és nevét használjuk a hatókör szűkítéséhez:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>
További információ: Azure szerepköralapú hozzáférés-vezérlési hatókör.
Hatókör (natív Azure Cosmos DB)
Az Azure Cosmos DB szerepköralapú hozzáférés-vezérlés natív implementációjában a hatókör azoknak a fiókoknak az erőforrásainak részletességére vonatkozik, amelyekre engedélyt szeretne alkalmazni.
A legmagasabb szinten az adatsík szerepköralapú hozzáférés-vezérlési hozzárendelését a teljes fiókra hatókörbe helyezheti a legnagyobb hatókör használatával. Ez a hatókör a fiókon belüli összes adatbázist és tárolót tartalmazza:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/
Az adatsík szerepkör-hozzárendelését az alapértelmezett adatbázisra is kiterjedheti:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/dbs/TablesDB
Fontos
Az alapértelmezett adatbázis a TablesDB
kis- és nagybetűk megkülönböztetése. Ha nem a megfelelő burkolatot használja egy hatókörben, a hatókört a rendszer a legnagyobb engedélyezett hatókörre (fiókszintre) csonkolja.
Végül hatókörbe helyezheti a hozzárendelést egyetlen tárolóra (táblára), amely a legrészletesebb hatókör:
/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/dbs/TablesDB/colls/<container-name>