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.
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.
$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