Aktivera datakryptering med kundhanterade nycklar i Azure Cosmos DB för PostgreSQL
GÄLLER FÖR: Azure Cosmos DB for PostgreSQL (drivs av Citus-databastillägget till PostgreSQL)
Förutsättningar
- Ett befintligt Azure Cosmos DB för PostgreSQL-konto.
- Om du har en Azure-prenumeration skapar du ett nytt konto.
- Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Du kan också prova Azure Cosmos DB kostnadsfritt innan du checkar in.
Aktivera datakryptering med kundhanterade nycklar
Viktigt!
Skapa alla följande resurser i samma region där ditt Azure Cosmos DB for PostgreSQL-kluster ska distribueras.
Skapa en användartilldelad hanterad identitet. För närvarande stöder Azure Cosmos DB for PostgreSQL endast användartilldelade hanterade identiteter.
Skapa ett Azure Key Vault och lägg till en åtkomstprincip till den skapade användartilldelade hanterade identiteten med följande nyckelbehörigheter: Hämta, Packa upp nyckel och Radbryt nyckel.
Generera en nyckel i nyckelvalvet (nyckeltyper som stöds: RSA 2048, 3071, 4096).
Välj det kundhanterade nyckelkrypteringsalternativet när du skapar Azure Cosmos DB for PostgreSQL-klustret och välj lämplig användartilldelad hanterad identitet, nyckelvalv och nyckel som skapats i steg 1, 2 och 3.
Detaljerade steg
Användartilldelad hanterad identitet
Sök efter hanterade identiteter i fältet global sökning.
Skapa en ny användartilldelad hanterad identitet i samma region som ditt Azure Cosmos DB for PostgreSQL-kluster.
Läs mer om användartilldelad hanterad identitet.
Key Vault
Om du använder kundhanterade nycklar med Azure Cosmos DB for PostgreSQL måste du ange två egenskaper för den Azure Key Vault-instans som du planerar att använda som värd för krypteringsnycklarna: Mjuk borttagning och rensningsskydd.
Om du skapar en ny Azure Key Vault-instans aktiverar du dessa egenskaper när du skapar:
Om du använder en befintlig Azure Key Vault-instans kan du kontrollera att dessa egenskaper är aktiverade genom att titta på avsnittet Egenskaper på Azure Portal. Om någon av dessa egenskaper inte är aktiverade kan du läsa avsnitten "Aktivera mjuk borttagning" och "Aktivera rensningsskydd" i någon av följande artiklar.
- Så här använder du mjuk borttagning med PowerShell.
- Så här använder du mjuk borttagning med Azure CLI.
Key Vault 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 den här inställningen inte kan ändras när du har skapat det.
Viktigt!
Din Azure Key Vault-instans måste tillåta offentlig åtkomst från alla nätverk.
Lägga till en åtkomstprincip i Key Vault
Från Azure Portal går du till den Azure Key Vault-instans som du planerar att använda som värd för dina krypteringsnycklar. Välj Åtkomstkonfiguration på den vänstra menyn. Kontrollera att Åtkomstprincip för valv har valts under Behörighetsmodell och välj sedan Gå till åtkomstprinciper.
Välj + Skapa.
På fliken Behörigheter under listrutan Nyckelbehörigheter väljer du Behörigheter för Hämta, Packa upp nyckel och Radbryt nyckel.
På fliken Huvudnamn väljer du den användartilldelade hanterade identitet som du skapade i steget Krav.
Gå till Granska + skapa och välj Skapa.
Skapa/importera nyckel
Från Azure Portal går du till den Azure Key Vault-instans som du planerar att använda som värd för dina krypteringsnycklar.
Välj Nycklar på den vänstra menyn och välj sedan +Generera/importera.
Den kundhanterade nyckel som ska användas för kryptering av DEK kan bara vara asymmetrisk RSA-nyckeltyp. Alla RSA-nyckelstorlekar 2048, 3072 och 4096 stöds.
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
).Om du roterar nyckeln manuellt bör den gamla nyckelversionen inte tas bort på minst 24 timmar.
Aktivera CMK-kryptering under etableringen av ett nytt kluster
När du har etablerat ett nytt Azure Cosmos DB for PostgreSQL-kluster går du till fliken Kryptering när du har angett nödvändig information under flikarna Grundläggande och Nätverk.
Välj Kundhanterad nyckel under alternativet Datakrypteringsnyckel .
Välj den användartilldelade hanterade identiteten som skapades i föregående avsnitt.
Välj det nyckelvalv som skapades i föregående steg, där åtkomstprincipen för den användarhanterade identiteten har valts i föregående steg.
Välj nyckeln som skapades i föregående steg och välj sedan Granska + skapa.
När klustret har skapats kontrollerar du att CMK-kryptering är aktiverat genom att gå till bladet Datakryptering i Azure Cosmos DB for PostgreSQL-klustret i Azure Portal.
Kommentar
Datakryptering kan bara konfigureras när ett nytt kluster skapas och kan inte uppdateras i ett befintligt kluster. En lösning för att uppdatera krypteringskonfigurationen i ett befintligt kluster är att utföra en klusteråterställning och konfigurera datakrypteringen när det nyligen återställde klustret skapas.
Hög tillgänglighet
När CMK-kryptering är aktiverat i det primära klustret krypteras alla HA-väntelägesnoder automatiskt av det primära klustrets nyckel.
Ändra krypteringskonfigurationen genom att utföra en PITR
Krypteringskonfigurationen kan ändras från tjänsthanterad kryptering till kundhanterad kryptering eller vice versa när du utför en klusteråterställningsåtgärd (PITR – återställning till tidpunkt).
Ö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 önskemål.
Nästa steg
- Lär dig mer om datakryptering med kundhanterade nycklar
- Kolla in CMK-gränser och begränsningar i Azure Cosmos DB för PostgreSQL