Skydda Azure-kölagring

Azure Queue Storage tillhandahåller meddelandekö mellan applikationskomponenter. Eftersom meddelanden ofta innehåller referenser till känsliga resurser – objektidentifierare, callback-URL:er och applikationsstatus – måste du säkra både köauktorisation och hantering av meddelandeinnehåll.

Note

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

Identitets- och åtkomsthantering

  • Använd Microsoft Entra ID med hanterade identiteter för köproducenter och konsumenter: Tilldela de inbyggda rollerna Storage Queue Data Message Sender, Storage Queue Data Message Processor och Storage Queue Data Reader till den hanterade identiteten för varje tjänst som interagerar med kön. Välj den roll som matchar verksamheten. En meddelandesändande tjänst bör inte ha processorrättigheter. För mer information, se Auktorisera åtkomst till köer med Microsoft Entra ID.

  • Tilldela rolltilldelningar för rollbaserad åtkomstkontroll (RBAC) till den specifika kön: Omfattning på könivå stöds för de inbyggda datarollerna för köer. Tilldela på könivå istället för lagringskonto när en tjänst behöver tillgång till endast en kö i ett flerkökonto.

  • Begränsa SAS-token till en enskild kö och specifika meddelandeåtgärder: Delad åtkomstsignatur (SAS) för köer har stöd för add, update, process och read som separata behörigheter. Bevilja endast vad anroparen behöver. En webhookmottagare som lägger händelser i kö bör endast få add, inte process. Mer information finns i Delegera åtkomst med en signatur för delad åtkomst.

Dataskydd

Meddelanden skyddas i vila och under överföring av kontots krypterings- och TLS-inställningar, men de är inte individuellt åtkomstkontrollerade utöver könivåauktorisation. Designa meddelandeinnehåll för att undvika att koncentrera känslig data i kön.

  • Lägg inte hemligheter eller inloggningsuppgifter i kömeddelanden: Spara hemligheter i Azure Key Vault och lägg in en referens (hemlig identifierare) i meddelandet. Konsumenter hämtar hemligheten vid handläggning under sin egen identitet. Allt som placeras i ett meddelande är synligt för varje principal med process eller read på kön och skrivs till lagringsloggar.

  • Kryptera känsligt meddelandeinnehåll i programlagret: För meddelanden som innehåller känsliga data krypterar du innehållet med en nyckel från Key Vault innan de läggs i kön. Detta lägger till ett lager oberoende av kryptering på lagringssidan och begränsar exponeringen om en konsument blir komprometterad. För mer information, se Client-side encryption for Azure Storage.

  • Ange en rimlig livslängd (TTL) för meddelanden: Meddelanden kvarstår tills de har bearbetats, löper ut eller kön töms. En lång TTL ökar tidsfönstret under vilket föråldrad känslig data kan hämtas. Matcha TTL med förväntad bearbetningslatens plus en säkerhetsmarginal.

Loggning och övervakning

  • Aktivera diagnostiska inställningar för köoperationer: Skicka StorageRead, StorageWrite, och StorageDelete kategorier till Log Analytics så att individuella köoperationer kan granskas. Spåra auktorisationsmetoden (Entra ID, delad nyckel, SAS, anonym) för att upptäcka missbruk. För mer information, se Monitoring Azure Queue Storage.

  • Flytta giftmeddelanden till en dedikerad giftkö: Konfigurera din konsument att upptäcka meddelanden som överskrider tröskeln för avkö och flytta dem till en <queue-name>-poison kö för offline-undersökning. Ackumulering av giftköer är en säkerhetssignal, inte bara en operativ. För mer information, se Hantera giftmeddelanden i köutlösta funktioner.

  • Varning om tillväxt i giftkö: Konfigurera Azure Monitor-varningar för meddelandeantalet i varje giftkö så att oväntad tillväxt utlöser utredning.

  • Varning för ovanliga avkönings- och raderingsmönster: Plötsliga toppar i DeleteMessage-åtgärder från oväntade identiteter, eller stora volymer av enbart avköning utan efterföljande bearbetning, kan tyda på att en angripare tömmer en kö för att dölja aktivitet. Varning om avvikelser från köns normala trafikmönster.

Nästa steg