Azure Database for PostgreSQL Datakryptering med en enskild server med en kundhanterad nyckel

GÄLLER FÖR: Azure Database for PostgreSQL – enskild server

Viktigt!

Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.

Azure PostgreSQL använder Azure Storage-kryptering för att kryptera vilande data som standard med hjälp av Microsoft-hanterade nycklar. För Azure PostgreSQL-användare liknar det transparent datakryptering (TDE) i andra databaser som SQL Server. Många organisationer behöver fullständig kontroll över åtkomsten till data med hjälp av en kundhanterad nyckel. Med datakryptering med kundhanterade nycklar för Azure Database for PostgreSQL – enskild server kan du ta med din egen nyckel (BYOK) för dataskydd i vila. Det gör det även möjligt för organisationer att implementera ansvarsfördelning vad gäller hanteringen av nycklar och data. Med kundhanterad kryptering ansvarar du för och har fullständig kontroll över en nyckels livscykel, behörigheter för nyckelanvändning och granskning av åtgärder på nycklar.

Datakryptering med kundhanterade nycklar för Azure Database for PostgreSQL – enskild server anges på servernivå. För en viss server används en kundhanterad nyckel, kallad nyckelkrypteringsnyckeln (KEK), för att kryptera datakrypteringsnyckeln (DEK) som används av tjänsten. KEK är en asymmetrisk nyckel som lagras i en kundägd och kundhanterad Azure Key Vault-instans . Nyckelkrypteringsnyckeln (KEK) och datakrypteringsnyckeln (DEK) beskrivs mer detaljerat senare i den här artikeln.

Key Vault är ett molnbaserat, externt nyckelhanteringssystem. Den har hög tillgänglighet och ger skalbar och säker lagring för RSA-kryptografiska nycklar, som eventuellt backas upp av FIPS 140-verifierade maskinvarusäkerhetsmoduler (HSM). Den tillåter inte direkt åtkomst till en lagrad nyckel, men tillhandahåller tjänster för kryptering och dekryptering till auktoriserade entiteter. Key Vault kan generera nyckeln, importera den eller överföra den från en lokal HSM-enhet.

Kommentar

Den här funktionen är tillgänglig i alla Azure-regioner där Azure Database for PostgreSQL – enskild server stöder prisnivåerna "Generell användning" och "Minnesoptimerad". Andra begränsningar finns i avsnittet om begränsning .

Förmåner

Datakryptering med kundhanterade nycklar för Azure Database for PostgreSQL – enskild server ger följande fördelar:

  • Dataåtkomst styrs helt av dig genom möjligheten att ta bort nyckeln och göra databasen otillgänglig.
  • Fullständig kontroll över nyckellivscykeln, inklusive rotation av nyckeln för att anpassa till företagets principer.
  • Central hantering och organisation av nycklar i Azure Key Vault.
  • Aktivering av kryptering har ingen ytterligare prestandapåverkan med eller utan kunders hanterade nyckel (CMK) eftersom PostgreSQL förlitar sig på Azure Storage Layer för datakryptering i båda scenarierna, den enda skillnaden är när CMK används Azure Storage Encryption Key som utför faktisk datakryptering krypteras med hjälp av CMK.
  • Möjlighet att implementera ansvarsfördelning mellan säkerhetsansvariga och DBA- och systemadministratörer.

Terminologi och beskrivning

Datakrypteringsnyckel (DEK): En symmetrisk AES256-nyckel som används för att kryptera en partition eller ett datablock. Kryptering av varje datablock med en annan nyckel gör krypteringsanalysattacker svårare. Åtkomst till DEK:er krävs av resursprovidern eller programinstansen som krypterar och dekrypterar ett specifikt block. När du ersätter en DEK med en ny nyckel måste endast data i dess associerade block omkrypteras med den nya nyckeln.

Nyckelkrypteringsnyckel (KEK): En krypteringsnyckel som används för att kryptera DEK:erna. En KEK som aldrig lämnar Key Vault gör att DEK:erna själva kan krypteras och kontrolleras. Entiteten som har åtkomst till KEK kan skilja sig från den entitet som kräver DEK. Eftersom KEK krävs för att dekryptera DEK:erna är KEK i själva verket en enda punkt med vilken DEK:er effektivt kan tas bort genom borttagning av KEK.

DEK:erna, krypterade med KEK:erna, lagras separat. Endast en entitet med åtkomst till KEK kan dekryptera dessa DEK:er. Mer information finns i Säkerhet i kryptering i vila.

Så här fungerar datakryptering med en kundhanterad nyckel

Diagram som visar en översikt över Bring Your Own Key

För att en PostgreSQL-server ska använda kundhanterade nycklar som lagras i Key Vault för kryptering av DEK ger en Key Vault-administratör följande åtkomstbehörighet till servern:

  • get: För att hämta den offentliga delen och egenskaperna för nyckeln i nyckelvalvet.
  • wrapKey: För att kunna kryptera DEK. Den krypterade DEK:en lagras i Azure Database for PostgreSQL.
  • unwrapKey: För att kunna dekryptera DEK. Azure Database for PostgreSQL behöver den dekrypterade DEK:en för att kryptera/dekryptera data

Key Vault-administratören kan också aktivera loggning av Key Vault-granskningshändelser, så att de kan granskas senare.

När servern har konfigurerats för att använda den kundhanterade nyckeln som lagras i nyckelvalvet skickar servern DEK till nyckelvalvet för kryptering. Key Vault returnerar den krypterade DEK som lagras i användardatabasen. På samma sätt skickar servern vid behov den skyddade DEK:en till nyckelvalvet för dekryptering. Granskare kan använda Azure Monitor för att granska Key Vault-granskningshändelseloggar om loggning är aktiverat.

Krav för att konfigurera datakryptering för Azure Database for PostgreSQL – enskild server

Följande är krav för att konfigurera Key Vault:

  • Key Vault och Azure Database for PostgreSQL – enskild server måste tillhöra samma Microsoft Entra-klientorganisation. Nyckelvalv och serverinteraktioner mellan klientorganisationer stöds inte. Om du flyttar Key Vault-resursen efteråt måste du konfigurera om datakryptering.
  • Nyckelvalvet måste anges med 90 dagar för "Dagar för att behålla borttagna valv". Om det befintliga nyckelvalvet har konfigurerats med ett lägre tal måste du skapa ett nytt nyckelvalv eftersom det inte kan ändras när det har skapats.
  • Aktivera funktionen för mjuk borttagning i nyckelvalvet för att skydda mot dataförlust om en oavsiktlig nyckel (eller Nyckelvalv) tas bort. Mjukt borttagna resurser behålls i 90 dagar, såvida inte användaren återställer eller rensar dem under tiden. Återställnings- och rensningsåtgärderna har sina egna behörigheter associerade i en Key Vault-åtkomstprincip. Funktionen för mjuk borttagning är inaktiverad som standard, men du kan aktivera den via PowerShell eller Azure CLI (observera att du inte kan aktivera den via Azure-portalen).
  • Aktivera rensningsskydd för att framtvinga en obligatorisk kvarhållningsperiod för borttagna valv och valvobjekt
  • Ge Azure Database for PostgreSQL Enskild server åtkomst till nyckelvalvet med behörigheterna get, wrapKey och unwrapKey med hjälp av dess unika hanterade identitet. I Azure-portalen skapas den unika "Tjänst"-identiteten automatiskt när datakryptering aktiveras på PostgreSQL – enskild server. Se Datakryptering för Azure Database for PostgreSQL – enskild server med hjälp av Azure-portalen för detaljerade stegvisa instruktioner när du använder Azure-portalen.

Följande är krav för att konfigurera den kundhanterade nyckeln:

  • Den kundhanterade nyckel som ska användas för kryptering av DEK kan bara vara asymmetrisk, RSA 2048.
  • Nyckelaktiveringsdatumet (om det anges) måste vara ett datum och en tid i det förflutna. Förfallodatumet (om det anges) måste vara ett framtida datum och en framtida tid.
  • Nyckeln måste vara i tillståndet Aktiverad .
  • Om du importerar en befintlig nyckel till nyckelvalvet måste du ange den i de filformat som stöds (.pfx, .byok, .backup).

Rekommendationer

Här är rekommendationer för att konfigurera Key Vault när du använder datakryptering med hjälp av en kundhanterad nyckel:

  • Ange ett resurslås på Key Vault för att styra vem som kan ta bort den här kritiska resursen och förhindra oavsiktlig eller obehörig borttagning.

  • Aktivera granskning och rapportering av alla krypteringsnycklar. Key Vault innehåller loggar som är enkla att mata in i andra verktyg för säkerhetsinformation och händelsehantering. Azure Monitor Log Analytics är ett exempel på en tjänst som redan är integrerad.

  • Se till att Key Vault och Azure Database for PostgreSQL – enskild server finns i samma region, för att säkerställa snabbare åtkomst för DEK-wrap och avskrivningsåtgärder.

  • Lås Azure KeyVault till endast privat slutpunkt och valda nätverk och tillåt endast betrodda Microsoft-tjänster att skydda resurserna.

    trusted-service-with-AKV

Här följer rekommendationer för att konfigurera en kundhanterad nyckel:

  • Behåll en kopia av den kundhanterade nyckeln på en säker plats eller desläpa den till depositionstjänsten.

  • Om Key Vault genererar nyckeln skapar du en nyckelsäkerhetskopia innan du använder nyckeln för första gången. Du kan bara återställa säkerhetskopian till Key Vault. Mer information om säkerhetskopieringskommandot finns i Backup-AzKeyVaultKey.

Otillgängligt kundhanterat nyckelvillkor

När du konfigurerar datakryptering med en kundhanterad nyckel i Key Vault krävs kontinuerlig åtkomst till den här nyckeln för att servern ska vara online. Om servern förlorar åtkomsten till den kundhanterade nyckeln i Key Vault börjar servern neka alla anslutningar inom 10 minuter. Servern utfärdar ett motsvarande felmeddelande och ändrar servertillståndet till Otillgängligt. Några av anledningarna till att servern kan nå det här tillståndet är:

  • Om vi skapar en återställningsserver för tidpunkt för din Azure Database for PostgreSQL – enskild server, som har datakryptering aktiverad, är den nyligen skapade servern i otillgängligt tillstånd. Du kan åtgärda servertillståndet via Azure-portalen eller CLI.
  • Om vi skapar en läsreplik för din Azure Database for PostgreSQL – enskild server, som har datakryptering aktiverad, är replikservern i otillgängligt tillstånd. Du kan åtgärda servertillståndet via Azure-portalen eller CLI.
  • Om du tar bort KeyVault kommer Azure Database for PostgreSQL – enskild server inte att kunna komma åt nyckeln och övergå till otillgängligt tillstånd. Återställ Key Vault och återställ datakryptering för att göra servern tillgänglig.
  • Om vi tar bort nyckeln från KeyVault kommer Azure Database for PostgreSQL – enskild server inte att kunna komma åt nyckeln och övergå till Otillgängligt tillstånd. Återställ nyckeln och återställ datakryptering för att göra servern tillgänglig.
  • Om nyckeln som lagras i Azure KeyVault upphör att gälla blir nyckeln ogiltig och Azure Database for PostgreSQL – enskild server övergår till otillgängligt tillstånd. Utöka utgångsdatumet för nyckeln med CLIoch förnya sedan datakryptering för att göra servern tillgänglig.

Återkallande av oavsiktlig nyckelåtkomst från Key Vault

Det kan hända att någon med tillräcklig åtkomstbehörighet till Key Vault av misstag inaktiverar serveråtkomsten till nyckeln genom att:

  • Återkalla nyckelvalvets behörigheter get, wrapKey och unwrapKey från servern.

  • Tar bort nyckeln.

  • Ta bort nyckelvalvet.

  • Ändra nyckelvalvets brandväggsregler.

  • Ta bort serverns hanterade identitet i Microsoft Entra-ID.

Övervaka den kundhanterade nyckeln i Key Vault

Om du vill övervaka databastillståndet och aktivera aviseringar för förlust av transparent datakrypteringsskyddsåtkomst konfigurerar du följande Azure-funktioner:

  • Azure Resource Health: En otillgänglig databas som har förlorat åtkomsten till kundnyckeln visas som "otillgänglig" efter att den första anslutningen till databasen har nekats.

  • Aktivitetslogg: När åtkomsten till kundnyckeln i det kundhanterade Nyckelvalvet misslyckas läggs poster till i aktivitetsloggen. Du kan återställa åtkomsten så snart som möjligt om du skapar aviseringar för dessa händelser.

  • Åtgärdsgrupper: Definiera dessa grupper för att skicka meddelanden och aviseringar baserat på dina inställningar.

Återställa och replikera med en kunds hanterade nyckel i Key Vault

När Azure Database for PostgreSQL – enskild server har krypterats med en kunds hanterade nyckel lagrad i Key Vault krypteras även alla nyligen skapade kopior av servern. Du kan göra den här nya kopian antingen via en lokal eller geo-återställningsåtgärd eller via läsrepliker. Kopian kan dock ändras så att den återspeglar en ny kunds hanterade nyckel för kryptering. När den kundhanterade nyckeln ändras börjar gamla säkerhetskopior av servern använda den senaste nyckeln.

För att undvika problem när du konfigurerar kundhanterad datakryptering när du återställer eller läser replikskapandet är det viktigt att du följer dessa steg på de primära och återställde servrarna/replikservrarna:

  • Starta processen för att återställa eller läsa replikskapande från den primära Azure Database for PostgreSQL – enskild server.
  • Behåll den nyligen skapade servern (återställd/replik) i ett otillgängligt tillstånd eftersom dess unika identitet ännu inte har fått behörighet till Key Vault.
  • På den återställde servern/replikservern återanvänder du den kundhanterade nyckeln i inställningarna för datakryptering. Detta säkerställer att den nyligen skapade servern får omslutande och avskrivningsbehörighet till nyckeln som lagras i Key Vault.

Begränsningar

För Azure Database for PostgreSQL har stödet för kryptering av vilande data med hjälp av kundhanterad nyckel (CMK) få begränsningar –

  • Stöd för den här funktionen är begränsat till prisnivåer för generell användning och minnesoptimerad .

  • Den här funktionen stöds bara i regioner och på servrar som har stöd för lagring på upp till 16 TB. Listan över Azure-regioner som stöder lagring upp till 16 TB finns i avsnittet om lagring i dokumentationen här

    Kommentar

    • Alla nya PostgreSQL-servrar som skapats i de regioner som anges ovan, stöd för kryptering med kundhanterarnycklar är tillgängligt. Pitr-servern (Point In Time Restored) eller read-repliken kvalificerar sig inte, men i teorin är de "nya".
    • Om du vill kontrollera om den etablerade servern stöder upp till 16 TB kan du gå till prisnivåbladet i portalen och se den maximala lagringsstorlek som stöds av den etablerade servern. Om du kan flytta skjutreglaget upp till 4 TB kanske servern inte stöder kryptering med kundhanterade nycklar. Data krypteras dock alltid med hjälp av tjänsthanterade nycklar. Kontakta AskAzureDBforPostgreSQL@service.microsoft.com om du har några frågor.
  • Kryptering stöds endast med krypteringsnyckeln RSA 2048.

Nästa steg

Lär dig hur du konfigurerar datakryptering med en kundhanterad nyckel för din Azure-databas för PostgreSQL – enskild server med hjälp av Azure-portalen.