Metodtips för att skydda PaaS-webb- och mobilprogram med Azure Storage

I den här artikeln diskuterar vi en samling metodtips för Säkerhet i Azure Storage för att skydda paaS-webb- och mobilprogram (plattform som en tjänst). De här bästa metoderna härleds från vår erfarenhet av Azure och erfarenheter från kunder som dig själv.

Azure gör det möjligt att distribuera och använda lagring på sätt som inte är enkla att uppnå lokalt. Med Azure Storage kan du nå höga nivåer av skalbarhet och tillgänglighet med relativt lite arbete. Azure Storage är inte bara grunden för Windows och Linux Azure Virtual Machines, det kan också ha stöd för stora distribuerade program.

Azure Storage tillhandahåller följande fyra tjänster: Blob Storage, Table Storage, Queue Storage och File Storage. Mer information finns i Introduktion till Microsoft Azure Storage.

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

  • Signaturer för delad åtkomst (SAS)
  • Azure RBAC (rollbaserad åtkomstkontroll)
  • Kryptering på klientsidan för data med högt värde
  • Kryptering för 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. Nivån för nyckelredundans gör det möjligt för dig att undvika avbrott i tjänsten under rutinnyckelrotation.

Lagringsåtkomstnycklar är högprioriterade hemligheter och bör endast vara tillgängliga för personer som ansvarar för åtkomstkontroll av lagring. Om fel personer får åtkomst till dessa nycklar har de fullständig kontroll över lagringen och kan ersätta, ta bort eller lägga till filer i lagringen. Detta inkluderar skadlig kod och andra typer av innehåll som potentiellt kan äventyra din organisation eller dina kunder.

Du behöver fortfarande ett sätt att ge åtkomst till objekt i lagring. Om du vill ge mer detaljerad åtkomst kan du dra nytta av signaturen för delad åtkomst (SAS). SAS gör det möjligt för dig att dela specifika objekt i lagringen för 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 ger ett annat mått på säkerhet för din SAS.
  • Det protokoll som Azure Storage accepterar SAS över. Du kan använda den här valfria parametern för att begränsa åtkomsten till klienter med HTTPS.

MED SAS kan du dela innehåll på det sätt som du vill dela det utan att ge bort dina lagringskontonycklar. Att alltid använda SAS i ditt program är ett säkert sätt att dela dina lagringsresurser utan att äventyra dina lagringskontonycklar.

Mer information om signatur för delad åtkomst finns i Använda signaturer för delad åtkomst.

Använda rollbaserad åtkomstkontroll i Azure

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 säkerhetsprinciper med minsta möjliga behörighet. 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 som 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 tillämpar dataåtkomstkontroll med hjälp av funktioner som Azure RBAC kan ge fler privilegier än vad som krävs för användarna. Fler privilegier än nödvändigt kan leda till att data komprometteras genom att vissa användare får åtkomst till data som de inte ska ha i första hand.

Mer information om Azure RBAC finns i:

Använda kryptering på klientsidan för data med högt värde

Med kryptering på klientsidan kan du programmässigt 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 den tillhandahåller ä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 programmässiga ä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. Den använder en kuvertteknik där Azure Storage-klientbiblioteket genererar en innehållskrypteringsnyckel (CEK) som sedan omsluts (krypterad) med nyckelkrypteringsnyckeln (KEK). KEK identifieras av en nyckelidentifierare och kan vara ett asymmetriskt nyckelpar eller en symmetrisk nyckel och kan hanteras lokalt eller lagras i Azure Key Vault.

Kryptering på klientsidan är inbyggt i Java- och .NET-lagringsklientbiblioteken. Se Kryptering på klientsidan och Azure Key Vault för Microsoft Azure Storage för information om hur du krypterar data i klientprogram och genererar och hanterar dina egna krypteringsnycklar.

Aktivera kryptering av lagringstjänst för vilande data

När lagringstjänstkryptering för fillagring är aktiverat krypteras data automatiskt 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

Den här artikeln innehåller 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: