Bästa praxis för att säkra PaaS-webb- och mobilapplikationer genom att använda Azure Storage

Den här artikeln diskuterar en samling av Azure Storage-säkerhetspraxis för att säkra dina plattform-som-en-tjänst (PaaS) webb- och mobilapplikationer. Microsoft härledde dessa bästa praxis från erfarenhet med Azure- och Azure-kunder.

Azure gör det möjligt att distribuera och använda lagring på ett sätt som inte är enkelt att uppnå lokalt. Med Azure Storage kan du nå hög skalbarhet och tillgänglighet med relativt liten ansträngning. Azure Storage är grunden för Windows och Linux Azure Virtual Machines, och det kan också stödja stora distribuerade applikationer.

Azure Storage erbjuder fyra tjänster: Blob-lagring, Tabelllagring, Kölagring och Fillagring. Mer information finns i Introduktion till Microsoft Azure Storage.

I den här artikeln beskrivs följande metodtips:

  • Signaturer för delad åtkomst (SAS)
  • Rollbaserad åtkomstkontroll i Azure (Azure RBAC)
  • Klientbaserad kryptering för värdefull data
  • Kryptering av lagringstjänst

Använda en signatur för delad åtkomst i stället för en lagringskontonyckel

Åtkomstkontroll är kritisk. För att hjälpa dig att styra åtkomsten till Azure Storage genererar Azure två 512-bitars lagringskontonycklar (SAK:er) när du skapar ett lagringskonto. Denna nyckelredundans hjälper dig att undvika avbrott i tjänsten under rutinmässig nyckelrotation.

Lagringsåtkomstnycklar är högprioriterade hemligheter och bör endast vara tillgängliga för personer som ansvarar för åtkomstkontroll för lagring. Om fel personer får tillgång till dessa nycklar får de full kontroll över lagringen och kan ersätta, radera eller lägga till filer i lagringen. Angripare kan ladda upp skadlig kod och andra typer av innehåll som kan äventyra din organisation eller dina kunder.

Du behöver fortfarande ett sätt att ge åtkomst till objekt i lagring. För att ge mer detaljerad åtkomst, dra nytta av shared access signature (SAS). SAS låter dig dela specifika objekt i lagring under ett fördefinierat tidsintervall och med specifika behörigheter. Med en signatur för delad åtkomst kan du definiera:

  • Det intervall som SAS är giltigt för, inklusive starttid och förfallotid.
  • De behörigheter som beviljas av SAS. En SAS på en blob kan till exempel ge en användare läs- och skrivbehörighet till blobben, men inte ta bort behörigheter.
  • En valfri IP-adress eller ett intervall med IP-adresser som Azure Storage accepterar SAS från. Du kan till exempel ange ett intervall med IP-adresser som tillhör din organisation. Detta alternativ ger ytterligare en säkerhetsåtgärd för din SAS.
  • Det protokoll som Azure Storage accepterar SAS över. Du kan använda denna valfria parameter för att begränsa åtkomsten till klienter som använder HTTPS.

MED SAS kan du dela innehåll på det sätt som du vill dela det utan att ge bort dina lagringskontonycklar. Använd alltid SAS i din applikation för att säkert dela dina lagringsresurser utan att kompromissa med dina lagringskontonycklar.

För mer information om shared access-signatur, se Användning av shared access-signaturer.

Använda rollbaserad Azure-åtkomstkontroll

Ett annat sätt att hantera åtkomst är att använda rollbaserad åtkomstkontroll i Azure (Azure RBAC). Med Azure RBAC fokuserar du på att ge anställda de exakta behörigheter de behöver, baserat på behovet av att känna till och minsta möjliga behörighetssäkerhetsprinciper. För många behörigheter kan exponera ett konto för angripare. För få behörigheter innebär att anställda inte kan få sitt arbete gjort effektivt. Azure RBAC hjälper dig att lösa det här problemet genom att erbjuda detaljerad åtkomsthantering för Azure. Åtkomstkontroll är absolut nödvändigt för organisationer som vill tillämpa säkerhetsprinciper för dataåtkomst.

Du kan använda inbyggda Azure-roller i Azure för att tilldela behörigheter till användare. Du kan till exempel använda Lagringskontodeltagare för molnoperatörer som behöver hantera lagringskonton och rollen klassisk lagringskontodeltagare för att hantera klassiska lagringskonton. För molnoperatörer som behöver hantera virtuella datorer men inte det virtuella nätverk eller lagringskonto som de är anslutna till kan du lägga till dem i rollen Virtuell datordeltagare.

Organisationer som inte upprätthåller dataåtkomstkontroll genom att använda funktioner som Azure RBAC kan ge användare fler privilegier än nödvändigt. Fler privilegier än nödvändigt kan leda till dataintrång genom att ge vissa användare åtkomst till data som de inte borde ha i första hand.

För mer information om Azure RBAC, se:

Använd klientbaserad kryptering för värdefull data

Med kryptering på klientsidan kan du programmatiskt kryptera data under överföring innan du laddar upp till Azure Storage och programmatiskt dekryptera data när du hämtar dem. Kryptering på klientsidan tillhandahåller kryptering av data under överföring, men det ger även kryptering av vilande data. Kryptering på klientsidan är den säkraste metoden för att kryptera dina data, men det kräver att du gör programmatiska ändringar i ditt program och placerar nyckelhanteringsprocesser på plats.

Med kryptering på klientsidan kan du också ha ensam kontroll över dina krypteringsnycklar. Du kan generera och hantera dina egna krypteringsnycklar. Denna process använder en kuvertteknik där Azure-lagringsklientbiblioteket genererar en innehållskrypteringsnyckel (CEK) och sedan lindar in (krypterar) den med hjälp av nyckelkrypteringsnyckeln (KEK). En nyckelidentifierare identifierar KEK. KEK kan vara ett asymmetriskt nyckelpar eller en symmetrisk nyckel, och du kan hantera det lokalt eller lagra det i Azure Key Vault.

Kryptering på klientsidan är inbyggt i Java- och .NET-lagringsklientbiblioteken. Se Client-side encryption for blobs för information om kryptering av data inom klientapplikationer och generering och hantering av egna krypteringsnycklar.

Aktivera kryptering av lagringstjänster för data i vila

När du aktiverar Storage Service-kryptering för fillagring krypterar Azure Storage automatiskt datan med AES-256-kryptering. Microsoft hanterar all kryptering, dekryptering och nyckelhantering. Den här funktionen är tillgänglig för redundanstyperna LRS och GRS.

Nästa steg

I den här artikeln beskrivs en samling metodtips för Säkerhet i Azure Storage för att skydda dina PaaS-webb- och mobilprogram. Mer information om hur du skyddar dina PaaS-distributioner finns i: