Azure-beli szerepköralapú hozzáférés-vezérlés az Azure Cosmos DB-ben

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat

Feljegyzés

Ez a cikk az Azure Cosmos DB felügyeletisík-műveleteinek szerepköralapú hozzáférés-vezérléséről szól. Ha adatsík-műveleteket használ, az adatok védelme elsődleges kulcsokkal, erőforrás-jogkivonatokkal vagy az Azure Cosmos DB RBAC-vel történik.

A NoSQL API adatsík-műveleteire alkalmazott szerepköralapú hozzáférés-vezérlésről további információt az adatokhoz való biztonságos hozzáférésről és az Azure Cosmos DB RBAC-cikkekben talál. A MongoDB-hez készült Azure Cosmos DB API-ról a MongoDB API-ban található Data Plane RBAC-ről olvashat.

Az Azure Cosmos DB beépített Azure-beli szerepköralapú hozzáférés-vezérlést (Azure RBAC) biztosít az általános felügyeleti forgatókönyvekhez az Azure Cosmos DB-ben. A Microsoft Entra-azonosítóban profillal rendelkező személy hozzárendelheti ezeket az Azure-szerepköröket felhasználókhoz, csoportokhoz, szolgáltatásnevekhez vagy felügyelt identitásokhoz, hogy hozzáférést biztosítson vagy megtagadjon az Azure Cosmos DB-erőforrások erőforrásaihoz és műveleteihez. A szerepkör-hozzárendelések hatóköre csak a vezérlősík-hozzáférésre vonatkozik, amely magában foglalja az Azure Cosmos DB-fiókokhoz, adatbázisokhoz, tárolókhoz és ajánlatokhoz (átviteli sebesség) való hozzáférést.

Beépített szerepkörök

Az Azure Cosmos DB által támogatott beépített szerepkörök a következők:

Beépített szerepkör Leírás
DocumentDB-fiók közreműködője Kezelheti az Azure Cosmos DB-fiókokat.
Cosmos DB-fiókolvasó szerepkör Elolvashatja az Azure Cosmos DB-fiók adatait.
CosmosBackupOperator Küldhet visszaállítási kérelmet az Azure Portalon egy rendszeres biztonsági mentést engedélyező adatbázishoz vagy tárolóhoz. Módosíthatja a biztonsági mentési időközt és a megőrzést az Azure Portalon. Nem lehet hozzáférni semmilyen adathoz, és nem használhatja az Adatkezelőt.
CosmosRestoreOperator Egy Azure Cosmos DB-fiók visszaállítási műveletet hajthat végre folyamatos biztonsági mentési módban.
Cosmos DB-operátor Kiépítheti az Azure Cosmos DB-fiókokat, -adatbázisokat és -tárolókat. Nem lehet hozzáférni semmilyen adathoz, és nem használhatja az Adatkezelőt.

Identitás- és hozzáférés-felügyelet (IAM)

Az Azure Portal Hozzáférés-vezérlés (IAM) panelje az Azure Cosmos DB-erőforrások Azure-szerepköralapú hozzáférés-vezérlésének konfigurálására szolgál. A szerepkörök az Active Directoryban lévő felhasználókra, csoportokra, szolgáltatásnevekre és felügyelt identitásokra lesznek alkalmazva. Egyéni és egyéni szerepköröket is használhat egyéni és egyéni szerepkörökhöz. Az alábbi képernyőképen az Azure Portal hozzáférés-vezérlést (IAM) használó Active Directory-integrációja (Azure RBAC) látható:

Access control (IAM) in the Azure portal - demonstrating database security.

Egyéni szerepkörök

A beépített szerepkörök mellett a felhasználók egyéni szerepköröket is létrehozhatnak az Azure-ban, és ezeket a szerepköröket az Active Directory-bérlőn belüli összes előfizetés szolgáltatásnevekre alkalmazhatják. Az egyéni szerepkörök lehetővé teszik, hogy a felhasználók azure-szerepkör-definíciókat hozzanak létre egyéni erőforrás-szolgáltatói műveletekkel. Az Azure Cosmos DB-hez készült egyéni szerepkörök létrehozásához elérhető műveletek megismeréséhez tekintse meg az Azure Cosmos DB erőforrás-szolgáltatói műveleteit.

Tipp.

Az Azure Cosmos DB-ben tárolt adatok eléréséhez vagy az Azure Portal Adatkezelőjének használatához szükséges egyéni szerepköröknek rendelkezniük Microsoft.DocumentDB/databaseAccounts/listKeys/* kell műveletekkel.

Feljegyzés

Előfordulhat, hogy az egyéni szerepkör-hozzárendelések nem mindig láthatók az Azure Portalon.

Figyelmeztetés

A fiókkulcsok a felügyeleti RBAC-módosítások után nem lesznek automatikusan elforgatva vagy visszavonva. Ezek a kulcsok hozzáférést biztosítanak az adatsík műveleteihez. Ha eltávolítja a hozzáférést a kulcsokhoz egy felhasználótól, javasoljuk, hogy a kulcsokat is elforgatja. Az RBAC-adatsík esetében a Cosmos DB háttérrendszere elutasítja a kéréseket, ha a szerepkörök/jogcímek már nem egyeznek. Ha egy felhasználónak ideiglenes hozzáférésre van szüksége az adatsík műveleteihez, javasoljuk, hogy az Azure Cosmos DB RBAC adatsíkot használja.

Az Azure Cosmos DB SDK-k módosításainak megakadályozása

Az Azure Cosmos DB erőforrás-szolgáltató zárolható, így megakadályozhatja, hogy egy ügyfél a fiókkulcsok használatával csatlakozzon az erőforrásokhoz (azaz az Azure Cosmos DB SDK-n keresztül csatlakozó alkalmazásokhoz). Ez a funkció olyan felhasználók számára lehet kívánatos, akik magasabb szintű vezérlést és szabályozást szeretnének az éles környezetekben. Az SDK módosításainak megakadályozása olyan funkciókat is lehetővé tesz, mint az erőforrás-zárolások és a diagnosztikai naplók a vezérlősík műveleteihez. Az Azure Cosmos DB SDK-ból csatlakozó ügyfelek nem módosíthatják az Azure Cosmos DB-fiókok, adatbázisok, tárolók és átviteli sebesség bármely tulajdonságát. Az adatok Azure Cosmos DB-tárolókba való olvasását és írását magában foglaló műveletekre nincs hatással.

Ha ez a funkció engedélyezve van, az erőforrások módosítása csak a megfelelő Azure-szerepkörrel és Microsoft Entra-hitelesítő adatokkal rendelkező felhasználóktól végezhető el, beleértve a felügyeltszolgáltatás-identitásokat is.

Figyelmeztetés

A funkció engedélyezése hatással lehet az alkalmazásra. Az engedélyezés előtt győződjön meg arról, hogy tisztában van a hatásával.

Engedélyezés előtt ellenőrizze a listát

Ez a beállítás megakadályozza, hogy bármely Azure Cosmos DB-erőforrás módosuljon minden olyan ügyfél esetében, amely fiókkulcsok használatával csatlakozik, beleértve az Azure Cosmos DB SDK-t, a fiókkulcsokon keresztül csatlakozó eszközöket. A funkció engedélyezése után az alkalmazások hibáinak vagy hibáinak megelőzéséhez ellenőrizze, hogy az alkalmazások végrehajtják-e az alábbi műveletek valamelyikét a funkció engedélyezése előtt, beleértve a következőket:

  • Gyermekerőforrások, például adatbázisok és tárolók létrehozása, törlése. Ez magában foglalja az egyéb API-k, például a Cassandra, a MongoDB, a Gremlin és a táblaerőforrások erőforrásait is.

  • Az átviteli sebesség olvasása vagy frissítése adatbázis- vagy tárolószintű erőforrásokon.

  • Tárolótulajdonságok módosítása, beleértve az indexházirendet, a TTL-t és az egyedi kulcsokat.

  • Tárolt eljárások, eseményindítók vagy felhasználó által definiált függvények módosítása.

Ha az alkalmazásai (vagy az Azure Portalon keresztüli felhasználók) végrehajtják ezen műveletek bármelyikét, át kell őket telepíteni az ARM-sablonok, a PowerShell, az Azure CLI, a REST vagy az Azure Management Library használatával történő végrehajtáshoz. Vegye figyelembe, hogy az Azure Management több nyelven is elérhető.

Beállítás ARM-sablonnal

Ha ARM-sablonnal szeretné beállítani ezt a tulajdonságot, frissítse a meglévő sablont, vagy exportáljon egy új sablont az aktuális üzembe helyezéshez, majd adja meg az "disableKeyBasedMetadataWriteAccess": true erőforrások tulajdonságait databaseAccounts . Az alábbiakban egy egyszerű példa látható egy Azure Resource Manager-sablonra ezzel a tulajdonságbeállítással.

{
    {
      "type": "Microsoft.DocumentDB/databaseAccounts",
      "name": "[variables('accountName')]",
      "apiVersion": "2020-04-01",
      "location": "[parameters('location')]",
      "kind": "GlobalDocumentDB",
      "properties": {
        "consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
        "locations": "[variables('locations')]",
        "databaseAccountOfferType": "Standard",
        "disableKeyBasedMetadataWriteAccess": true
        }
    }
}

Fontos

A tulajdonság ismételt üzembe helyezésekor győződjön meg arról, hogy a fiók és a gyermekerőforrások egyéb tulajdonságait is tartalmazza. Ne telepítse a sablont úgy, ahogy van, vagy visszaállítja az összes fióktulajdonságát.

Beállítás az Azure CLI-vel

Az Azure CLI használatának engedélyezéséhez használja az alábbi parancsot:

az cosmosdb update  --name [CosmosDBAccountName] --resource-group [ResourceGroupName]  --disable-key-based-metadata-write-access true

Beállítás PowerShell-lel

Az Azure PowerShell használatának engedélyezéséhez használja az alábbi parancsot:

Update-AzCosmosDBAccount -ResourceGroupName [ResourceGroupName] -Name [CosmosDBAccountName] -DisableKeyBasedMetadataWriteAccess true

Következő lépések