Skydda Azure Table Storage

Azure Table Storage tillhandahåller ett NoSQL-nyckelvärdeslager för strukturerad, icke-relationell data. Table Security delar grunderna med de andra Azure Storage-datatjänsterna men har några specifika funktioner – inklusive en distinkt Microsoft Entra ID-auktoriseringsyta och en överlappning med Azure Cosmos DB för Table API – som förtjänar uppmärksamhet.

Note

Den här artikeln behandlar säkerhetspraxis specifik för Azure Table Storage. För säkerhetsvägledning på kontonivå, se Secure your Azure Storage account.

Tjänstspecifik säkerhet

Både Azure Table Storage och Azure Cosmos DB for Table API visar en liknande tabelldatamodell, men deras säkerhetsfunktioner skiljer sig avsevärt. Välj den plattform som uppfyller dina säkerhetskrav vid projektets start. Datamigrering mellan dem är inte trivial.

  • Använd Azure Cosmos DB för Table när du behöver dedikerad genomströmning, global distribution eller finare nätverksisolering per tabellarbetsbelastning: Cosmos DB för Table API är en separat resurs med egna privata endpoints, brandvägg och IAM-konfiguration, oberoende av något lagringskonto. Detta ger dig en isolerad sprängradie när Table-arbetsbelastningen har andra nätverks- eller styrningskrav än de arbetsbelastningar som delar ditt allmänna lagringskonto. För mer information, se Introduktion till Azure Cosmos DB för tabell.

  • Använd Azure Table Storage när du behöver kontonivå-samlokalisering med blobs, filer och köer: Table Storage finns i ett allmänt lagringskonto, så en enda uppsättning nätverksregler, privata endpoints och identitetspolicys gäller för alla fyra datatjänster. Cosmos DB för Table är en separat resurs med oberoende säkerhetskonfiguration.

Identitets- och åtkomsthantering

  • Använd Microsoft Entra ID för att auktorisera tabelldataoperationer: Entra ID-auktorisering tar bort behovet av kontonycklar i applikationskoden och tillhandahåller identitetsbaserade revisionsspår. Tilldela de inbyggda rollerna Storage Table Data Reader eller Storage Table Data Contributor på tabellnivå när det är möjligt. För mer information, se Auktorisera åtkomst till tabeller med Microsoft Entra ID.

  • Begränsa rolltilldelningar till specifika tabeller: Omfång på tabellnivå stöds för de inbyggda rollerna för tabelldata. När en tjänst behöver tillgång till endast en tabell, tilldela rollen till tabellresursen istället för till kontot.

  • Begränsa SAS-token till specifika intervall för partitionsnycklar och radnycklar: Table SAS har stöd för intervallbegränsningar för partitionsnycklar och radnycklar. Använd dem för att begränsa en token till en enskild tenants rader i en multitenant-tabell, eller till ett specifikt datasegment. Mer information finns i Bevilja begränsad åtkomst till Azure Storage-resurser med hjälp av signaturer för delad åtkomst (SAS).

  • Bevilja endast de specifika tabelloperationer som krävs: Tabell-SAS stöder query, add, update, och delete behörigheter separat. En anropare av läsartyp bör endast hålla query, aldrig update eller delete.

Dataskydd

Table Storage lagrar entiteter som platta uppsättningar med egenskaper utan ACL:er per entitet. Tänk på säkerhet i din partitioneringsstrategi istället för att försöka eftermontera åtkomstkontroll.

  • Partitionstabeller för att anpassa sig till åtkomstgränser: När en tabell betjänar flera hyresgäster eller klassificeringsnivåer, välj en partitionsnyckel som grupperar enheter efter hyresgäst eller klassificering. Kombinera detta med SAS-begränsningar för partitionsnyckelintervall för att upprätthålla tenant-isolering utan en separat tabell per tenant.

  • Lagra inga hemligheter eller onödig personlig data i entitetens egenskaper: Entiteter är synliga för alla huvudpersoner med query eller read tillgång till tabellen eller partitionen. Lagra hemligheter i Azure Key Vault med referenser i entiteten, och minimera den personliga data du placerar i frågabara egenskaper.

  • Kryptera känsliga egenskapsvärden på applikationslaget: För egendomsvärden som måste förbli konfidentiella, kryptera värdet i klienten med en nyckel från Key Vault innan insättning eller uppdatering. Denna kryptering är oberoende av den lagringssidans kryptering som appliceras på hela tabellen. Mer information finns i Om nycklar.

Loggning och övervakning

  • Aktivera diagnostikinställningar för tabelloperationer: Skicka StorageRead, StorageWrite, och StorageDelete kategorier till Log Analytics. Varning vid oväntade auktoriseringsmetoder, särskilt tillgång till delade nyckelr på konton där den ska inaktiveras. För mer information, se Monitoring Azure Table Storage.

  • Varning för borttagnings- eller uppdateringsåtgärder med hög volym: MassDeleteEntity- eller UpdateEntity-aktivitet som avviker från tabellens normalnivå kan tyda på dataförstörelse eller manipulering. Etablera en baslinje och varning vid avvikelser.

Nästa steg