Az Azure Cosmos DB-erőforrások védelme zárolásokkal
A KÖVETKEZŐKRE VONATKOZIK: NoSQL
MongoDB
Cassandra
Gremlin
Asztal
Rendszergazdaként előfordulhat, hogy zárolnia kell egy Azure Cosmos DB-fiókot, adatbázist vagy tárolót. A zárolások megakadályozzák, hogy a szervezet más felhasználói véletlenül töröljék vagy módosítsák a kritikus erőforrásokat. A zárolás szintje a CanNotDelete
vagy a ReadOnly
értékre állítható be.
Level | Leírás |
---|---|
CanNotDelete |
A jogosult felhasználók továbbra is olvashatnak és módosíthatnak egy erőforrást, de nem törölhetik az erőforrást. |
ReadOnly |
A jogosult felhasználók elolvashatnak egy erőforrást, de nem törölhetik és nem frissíthetik az erőforrást. A zárolás alkalmazása hasonló ahhoz, hogy az összes jogosult felhasználót az Olvasó szerepkör által megadott engedélyekre korlátozza. |
Előfeltételek
- Egy meglévő Azure Cosmos DB-fiók.
- Ha Rendelkezik Azure-előfizetéssel, hozzon létre egy új fiókot.
- Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
- Másik lehetőségként a véglegesítés előtt ingyenesen kipróbálhatja az Azure Cosmos DB-t.
Zárolások alkalmazása
Ha egy szülőhatókörre alkalmaz zárolást, az adott hatókörben lévő összes erőforrás ugyanazt a zárolást örökli. Még a később hozzáadott erőforrások is öröklik a zárolást a szülőtől. Az öröklés legkorlátozóbb zárolása elsőbbséget élvez.
Az Azure szerepköralapú hozzáférés-vezérlésével ellentétben a felügyeleti zárolásokkal korlátozást alkalmazhat az összes felhasználóra és szerepkörre. Az Azure Cosmos DB szerepköralapú hozzáférés-vezérléséről további információt az Azure Cosmos DB azure-beli szerepköralapú hozzáférés-vezérlése című témakörben talál.
A Resource Manager zárolásai csak a felügyeleti síkon történő műveletekre érvényesek, ezek pedig a https://management.azure.com
címre küldött műveletek. A zárolások nem korlátozzák, hogy az erőforrások hogyan végzik saját funkcióikat. Az erőforrás változásai korlátozva vannak, de az erőforrás működése nincs korlátozva. Egy Azure Cosmos DB-tároló readOnly zárolása például megakadályozza a tároló törlését vagy módosítását. Ez nem akadályozza meg, hogy adatokat hozzon létre, frissítsen vagy töröljön a tárolóban. Az adattranzakciók engedélyezve vannak, mert ezek a műveletek nem lesznek elküldve a https://management.azure.com
webhelyre.
Zárolások kezelése
Az erőforrás-zárolások nem működnek az Azure Cosmos DB-hez fiókkulcsokkal hozzáférő felhasználók által végzett módosításokhoz, kivéve, ha az Azure Cosmos DB-fiók először zárolva van a disableKeyBasedMetadataWriteAccess
tulajdonság engedélyezésével. Győződjön meg arról, hogy ez a tulajdonság nem szakítja meg azokat a meglévő alkalmazásokat, amelyek bármilyen SDK-val, Azure Portallal vagy harmadik féltől származó eszközzel módosítják az erőforrásokat. A tulajdonság engedélyezése megszakítja a fiókkulcsokkal csatlakozó alkalmazásokat az erőforrások módosításához. Ezek a módosítások magukban foglalhatják az átviteli sebesség módosítását, az indexszabályzatok frissítését stb. Ha többet szeretne megtudni, és végig szeretne menni egy ellenőrzőlistán, hogy az alkalmazások továbbra is működjenek, tekintse meg az Azure Cosmos DB SDK-k módosításainak megelőzését ismertető témakört .
$RESOURCE_GROUP_NAME = "<resource-group>"
$ACCOUNT_NAME = "<account-name>"
$LOCK_NAME = "$ACCOUNT_NAME-lock"
Először frissítse a fiókot, hogy megakadályozza a fiókkulcsokon keresztül csatlakozók módosításait.
$parameters = @{
Name = $ACCOUNT_NAME
ResourceGroupName = $RESOURCE_GROUP_NAME
DisableKeyBasedMetadataWriteAccess = true
}
Update-AzCosmosDBAccount @parameters
Hozzon létre törlési zárolást egy Azure Cosmos DB-fiókerőforráson és az összes gyermekerőforráson.
$parameters = @{
ResourceGroupName = $RESOURCE_GROUP_NAME
ResourceName = $ACCOUNT_NAME
LockName = $LOCK_NAME
ApiVersion = "2020-04-01"
ResourceType = "Microsoft.DocumentDB/databaseAccounts"
LockLevel = "CanNotDelete"
}
New-AzResourceLock @parameters
Sablon
Amikor zárolást alkalmaz egy Azure Cosmos DB-erőforrásra, használja az Microsoft.Authorization/locks
Azure Resource Manager (ARM) erőforrást.
{
"type": "Microsoft.Authorization/locks",
"apiVersion": "2017-04-01",
"name": "cosmoslock",
"dependsOn": [
"[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('accountName'))]"
],
"properties": {
"level": "CanNotDelete",
"notes": "Do not delete Azure Cosmos DB account."
},
"scope": "[resourceId('Microsoft.DocumentDB/databaseAccounts', parameters('accountName'))]"
}
Példák
Erőforrás-zárolások kezelése az Azure Cosmos DB-hez:
- API a Cassandra-kulcstérhez és az Azure CLI | Azure PowerShell-táblázatához
- API a Gremlin-adatbázishoz és a gráfhoz Azure CLI | Azure PowerShell
- A MongoDB-adatbázishoz és -gyűjteményhez készült API Azure CLI| Azure PowerShell
- API for NoSQL-adatbázis és -tároló Azure CLI | Azure PowerShell
- Azure CLI | Azure PowerShell táblázathoz készült API
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: