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


Biztonsági szószedet az Azure Cosmos DB for NoSQL-hez

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Az üzembe helyezési útmutató sorrendjében az aktuális hely ('Fogalmak') ábrája.

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, Hálózat és Referencia. A "Fogalmak" hely jelenleg ki van emelve.

Ez a cikk az Azure Cosmos DB for NoSQL 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):

  1. Környezeti változóként tárolt ügyfélkód vagy tanúsítvány
  2. Microsoft Entra Számítási feladat ID
  3. Felhasználó által hozzárendelt vagy rendszer által hozzárendelt felügyelt identitás
  4. A Visual Studio beállításaiból származtatott Azure-hitelesítő adatok
  5. A Visual Studio Code Azure-fiókbővítményében használt hitelesítő adatok
  6. Az Azure CLI aktuális hitelesítő adatai
  7. Az Azure PowerShell aktuális hitelesítő adatai
  8. Az Azure Developer CLI aktuális hitelesítő adatai
  9. 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 idnéha a , objectIdvagy 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 egy adott adatbázisra is kiterjedheti:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/dbs/<database-name>

Végül hatókört adhat a hozzárendelésnek egyetlen tárolóra, a legrészletesebb hatókörre:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/dbs/<database-name>/colls/<container-name>

Következő lépés