✔️ Gäller för: Klassiska NFS-fillagringar som skapats med Microsoft.Storage-resursleverantören
✔️ Gäller för: NFS-filresurser som skapats med resursprovidern Microsoft.FileShares
✖️ Gäller inte för: SMB-fildelningar
Klientoperativsystemet tillämpar behörigheter för NFS-filresurser, inte Azure Files-tjänsten. Root squash är en administrativ säkerhetsfunktion i NFS som förhindrar obehörig åtkomst på rotnivå till NFS-servern av klientdatorer. Den här funktionen är en viktig del av att skydda användardata och systeminställningar från manipulering av ej betrodda eller komprometterade klienter.
Administratörer bör aktivera rot squash i miljöer där flera användare eller system har åtkomst till NFS-resursen, särskilt i scenarier där klientdatorer inte är helt betrodda. Genom att konvertera rotanvändare till anonyma användare säkerställer root squash att även om en klientdator komprometteras kan angriparen inte utnyttja rotbehörigheter för att komma åt eller ändra kritiska filer på NFS-servern.
I den här artikeln får du lära dig hur du konfigurerar och ändrar root squash-inställningar för NFS Azure-fildelningar.
Så här fungerar rot squash med Azure Files
Root squash fungerar genom att ommappa användar-ID (UID) och grupp-ID (GID) för root-användaren till en UID och GID som tillhör den anonyma användaren på servern. Rotanvändare som kommer åt filsystemet konverteras automatiskt till den anonyma, mindre privilegierade användaren och gruppen med begränsad behörighet.
Även om root squash är standardbeteendet i NFS, är det inte standardalternativet när du skapar en NFS Azure-fildelning. Du måste uttryckligen aktivera root squash på fildelningen. Du kan göra detta när du skapar en NFS Azure-fildelning, eller senare.
Inställningar för root squash
Välj mellan tre root squash-inställningar:
-
No root squash: Avaktivera root squash. Det här alternativet är främst användbart för disklösa klienter eller arbetsbelastningar enligt arbetsbelastningsdokumentationen. Den här inställningen är standard när du skapar en ny NFS-Azure filresurs.
-
All squash: Mappa alla UID:er och GID:er till den anonyma användaren. Använd den här inställningen för resurser som kräver skrivskyddad åtkomst av alla klienter.
-
Root squash: Översätt begäranden från UID/GID 0 (root) till det anonyma UID/GID. Denna inställning gäller inte för andra UID:er eller GID:er som kan vara lika känsliga, såsom användare
bin eller grupp staff.
I följande tabell visas det UID-beteende som observerats från servern när du konfigurerar specifika root squash-alternativ.
|
Alternativ |
Klientens UID |
Serverns UID |
| root_squash |
0 |
65534 |
| root_squash |
1 000 |
1 000 |
| no_root_squash |
0 |
0 |
| no_root_squash |
1 000 |
1 000 |
| all_squash |
0 |
65534 |
| all_squash |
1 000 |
65534 |
För klassiska Azure-fildelningar som använder resursprovidern Microsoft.Storage kan du konfigurera root squash-inställningar genom Azure-portalen, Azure PowerShell eller Azure CLI.
Logga in på Azure-portalen och gå till lagringskontot FileStorage som innehåller NFS-Azure filresurs.
På tjänstmenyn går du till Datalagring och väljer Klassiska filresurser.
Välj den filresurs där du vill ändra inställningen för root squash.
I tjänstmenyn väljer du Egenskaper.
Växla sedan root squash-inställningen efter behov.
Välj Spara för att uppdatera rot squash-värdet.
Logga in på Azure och välj din prenumeration.
Connect-AzAccount
Select-AzSubscription -SubscriptionId "<your-subscription-id>"
Om du vill aktivera root squash för filresursen kör du följande kommando. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
Update-AzRmStorageShare `
-ResourceGroupName <resource-group-name> `
-StorageAccountName <storage-account-name> `
-Name <file-share-name> `
-RootSquash RootSquash
Om du vill inaktivera root squash på delad fil kör du följande kommando. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
Update-AzRmStorageShare `
-ResourceGroupName <resource-group-name> `
-StorageAccountName <storage-account-name> `
-Name <file-share-name> `
-RootSquash NoRootSquash
För att tvinga fram squash för alla användare, kör följande kommando för att mappa alla användar-ID:n till anonym. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
Update-AzRmStorageShare `
-ResourceGroupName <resource-group-name> `
-StorageAccountName <storage-account-name> `
-Name <file-share-name> `
-RootSquash AllSquash
Om du vill visa egenskapen root squash för en fildelning kör du följande kommando. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
Get-AzRmStorageShare `
-ResourceGroupName <resource-group-name> `
-StorageAccountName <storage-account-name> `
-Name <file-share-name> | fl -Property ResourceGroupName, StorageAccountName, Name, QuotaGiB,AccessTier,EnabledProtocols,RootSquash
Logga in på Azure och konfigurera din prenumeration.
az login
az account set --subscription "<your-subscription-id>"
Om du vill aktivera root squash för filresursen kör du följande kommando. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
az storage share-rm update \
--resource-group <resource-group-name> \
--storage-account <storage-account-name> \
--name <file-share-name> \
--root-squash RootSquash
Om du vill inaktivera root squash på delad fil kör du följande kommando. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
az storage share-rm update \
--resource-group <resource-group-name> \
--storage-account <storage-account-name> \
--name <file-share-name> \
--root-squash NoRootSquash
För att tvinga fram squash för alla användare, kör följande kommando för att mappa alla användar-ID:n till anonym. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
az storage share-rm update \
--resource-group <resource-group-name> \
--storage-account <storage-account-name> \
--name <file-share-name> \
--root-squash AllSquash
Om du vill visa egenskapen root squash för en fildelning kör du följande kommando. Ersätt <resource-group-name>, <storage-account-name> och <file-share-name> med dina egna värden.
az storage share-rm show \
--resource-group <resource-group-name> \
--storage-account <storage-account-name> \
--name <file-share-name>
För Azure-filresurser som använder resursprovidern Microsoft.FileShares kan du konfigurera root squash-inställningar med Azure-portalen, Azure PowerShell eller Azure CLI.
Logga in på Azure-portalen och gå till filresursen.
I tjänstmenyn går du till Inställningar och väljer Konfiguration.
Aktivera eller inaktivera inställningen för root squash efter behov.
Välj Spara för att uppdatera rot squash-värdet.
Om du vill ändra inställningen för root squash på en filresurs (Microsoft.FileShares) med hjälp av Azure PowerShell, kör du följande kommandon. Ersätt variablerna med dina värden. Tillåtna värden för -RootSquash är AllSquash, NoRootSquashoch RootSquash. Du behöver Az PowerShell-modulen version 16.0.0 eller senare. Denna version inkluderar Az.FileShare-modulen.
$resourceGroup = "<your-resource-group-name>"
$shareName = "<your-file-share-name>"
Update-AzFileShare -ResourceName $shareName -ResourceGroupName $resourceGroup -RootSquash RootSquash
Om du vill ändra inställningen för root squash på en filresurs (Microsoft.FileShares) med Azure CLI kör du följande kommandon. Tillåtna värden för --root-squash är AllSquash, NoRootSquashoch RootSquash. Du behöver tillägget fileshare för Azure CLI. Installera det genom att köra az extension add --name fileshare.
# Specify your values
shareName="<your-file-share-name>"
resourceGroup="<your-resource-group-name>"
# Update the root squash setting
az fileshare update --name $shareName --resource-group $resourceGroup --root-squash RootSquash
Se även