Skydda Azure Cosmos DB-resurser med lås
GÄLLER FÖR: NoSQL MongoDB Kassandra Gremlin Bord
Som administratör kan du behöva låsa ett Azure Cosmos DB-konto, en databas eller en container. Lås hindrar andra användare i din organisation från att oavsiktligt ta bort eller ändra kritiska resurser. Du kan ange låsnivån till CanNotDelete
eller ReadOnly
.
Nivå | beskrivning |
---|---|
CanNotDelete |
Behöriga användare kan fortfarande läsa och ändra en resurs, men de kan inte ta bort resursen. |
ReadOnly |
Behöriga användare kan läsa en resurs, men de kan inte ta bort eller uppdatera resursen. Att tillämpa det här låset liknar att begränsa alla behöriga användare till de behörigheter som beviljas av rollen Läsare . |
- Ett befintligt Azure Cosmos DB-konto.
- Om du har en Azure-prenumeration skapar du ett nytt konto.
- Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Du kan också prova Azure Cosmos DB kostnadsfritt innan du checkar in.
När du använder ett lås i ett överordnat omfång ärver alla resurser inom det omfånget samma lås. Även resurser som du lägger till senare ärver låset från det överordnade. Det mest restriktiva låset i arvet har företräde.
Till skillnad från rollbaserad åtkomstkontroll i Azure använder du hanteringslås för att tillämpa en begränsning för alla användare och roller.
Resource Manager-lås gäller endast för åtgärder som sker i hanteringsplanet, som består av åtgärder som skickas till https://management.azure.com
. Låsen begränsar inte hur resurser utför sina egna funktioner. Resursändringar är begränsade, men resursåtgärder är inte begränsade. Ett ReadOnly-lås på en Azure Cosmos DB-container förhindrar till exempel att du tar bort eller ändrar containern. Det hindrar dig inte från att skapa, uppdatera eller ta bort data i containern. Datatransaktioner tillåts eftersom dessa åtgärder inte skickas till https://management.azure.com
.
Resurslås fungerar inte för ändringar som görs av användare som har åtkomst till Azure Cosmos DB med hjälp av kontonycklar, såvida inte Azure Cosmos DB-kontot först låses genom att egenskapen aktiveras disableKeyBasedMetadataWriteAccess
. Se till att den här egenskapen inte bryter befintliga program som gör ändringar i resurser med hjälp av SDK, Azure Portal eller verktyg från tredje part. Om du aktiverar den här egenskapen bryts program som ansluter via kontonycklar för att ändra resurser. Dessa ändringar kan omfatta ändring av dataflöde, uppdatering av indexprinciper osv.
$RESOURCE_GROUP_NAME = "<resource-group>"
$ACCOUNT_NAME = "<account-name>"
$LOCK_NAME = "$ACCOUNT_NAME-lock"
Uppdatera först kontot för att förhindra ändringar av allt som ansluter via kontonycklar.
$parameters = @{
Name = $ACCOUNT_NAME
ResourceGroupName = $RESOURCE_GROUP_NAME
DisableKeyBasedMetadataWriteAccess = true
}
Update-AzCosmosDBAccount @parameters
Skapa ett borttagningslås på en Azure Cosmos DB-kontoresurs och alla underordnade resurser.
$parameters = @{
ResourceGroupName = $RESOURCE_GROUP_NAME
ResourceName = $ACCOUNT_NAME
LockName = $LOCK_NAME
ApiVersion = "2020-04-01"
ResourceType = "Microsoft.DocumentDB/databaseAccounts"
LockLevel = "CanNotDelete"
}
New-AzResourceLock @parameters
När du tillämpar ett lås på en Azure Cosmos DB-resurs använder du Resurshanteraren Microsoft.Authorization/locks
för Azure Resource Manager (ARM).
{
"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'))]"
}
Hantera resurslås för Azure Cosmos DB:
- API för Cassandra-nyckelområdet och tabellen Azure CLI | Azure PowerShell
- API för Gremlin-databasen och grafen Azure CLI | Azure PowerShell
- API för MongoDB-databas och insamling av Azure CLI| Azure PowerShell
- API för NoSQL-databas och container Azure CLI | Azure PowerShell
- API för tabell Azure CLI | Azure PowerShell