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ó:
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