Włączanie szyfrowania danych przy użyciu kluczy zarządzanych przez klienta w usłudze Azure Cosmos DB for PostgreSQL
DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)
Wymagania wstępne
- Istniejące konto usługi Azure Cosmos DB for PostgreSQL.
- Jeśli masz subskrypcję platformy Azure, utwórz nowe konto.
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Alternatywnie możesz wypróbować usługę Azure Cosmos DB bezpłatnie przed zatwierdzeniem.
Włączanie szyfrowania danych przy użyciu kluczy zarządzanych przez klienta
Ważne
Utwórz wszystkie następujące zasoby w tym samym regionie, w którym zostanie wdrożony klaster usługi Azure Cosmos DB for PostgreSQL.
Utwórz tożsamość zarządzaną przypisaną przez użytkownika. Obecnie usługa Azure Cosmos DB for PostgreSQL obsługuje tylko tożsamości zarządzane przypisane przez użytkownika.
Utwórz usługę Azure Key Vault i dodaj zasady dostępu do utworzonej tożsamości zarządzanej przypisanej przez użytkownika z następującymi uprawnieniami klucza: Pobierz, Odpakuj klucz i Opakuj klucz.
Wygeneruj klucz w magazynie kluczy (obsługiwane typy kluczy: RSA 2048, 3071, 4096).
Wybierz opcję szyfrowania kluczy zarządzanych przez klienta podczas tworzenia klastra usługi Azure Cosmos DB for PostgreSQL i wybierz odpowiednią tożsamość zarządzaną przypisaną przez użytkownika, magazyn kluczy i klucz utworzony w krokach 1, 2 i 3.
Szczegółowe procedury
Tożsamość zarządzana przypisana przez użytkownika
Wyszukaj pozycję Tożsamości zarządzane na pasku wyszukiwania globalnego.
Utwórz nową tożsamość zarządzaną przypisaną przez użytkownika w tym samym regionie co klaster usługi Azure Cosmos DB for PostgreSQL.
Dowiedz się więcej o tożsamości zarządzanej przypisanej przez użytkownika.
Key Vault
Używanie kluczy zarządzanych przez klienta z usługą Azure Cosmos DB for PostgreSQL wymaga ustawienia dwóch właściwości w wystąpieniu usługi Azure Key Vault, które ma być używane do hostowania kluczy szyfrowania: Usuwanie nietrwałe i przeczyszczanie ochrony.
Jeśli tworzysz nowe wystąpienie usługi Azure Key Vault, włącz te właściwości podczas tworzenia:
Jeśli używasz istniejącego wystąpienia usługi Azure Key Vault, możesz sprawdzić, czy te właściwości są włączone, przeglądając sekcję Właściwości w witrynie Azure Portal. Jeśli którakolwiek z tych właściwości nie jest włączona, zobacz sekcje "Włączanie usuwania nietrwałego" i "Włączanie ochrony przed przeczyszczeniem" w jednym z poniższych artykułów.
- Jak używać usuwania nietrwałego za pomocą programu PowerShell.
- Jak używać usuwania nietrwałego za pomocą interfejsu wiersza polecenia platformy Azure.
Magazyn kluczy musi być ustawiony z 90 dni na przechowywanie usuniętych magazynów przez dni. Jeśli istniejący magazyn kluczy jest skonfigurowany z mniejszą liczbą, należy utworzyć nowy magazyn kluczy, ponieważ tego ustawienia nie można zmodyfikować po utworzeniu.
Ważne
Wystąpienie usługi Azure Key Vault musi zezwalać na dostęp publiczny ze wszystkich sieci.
Dodawanie zasad dostępu do usługi Key Vault
W witrynie Azure Portal przejdź do wystąpienia usługi Azure Key Vault, które ma być używane do hostowania kluczy szyfrowania. Wybierz pozycję Konfiguracja dostępu z menu po lewej stronie. Upewnij się, że w obszarze Model uprawnień wybrano zasady dostępu magazynu, a następnie wybierz pozycję Przejdź do zasad dostępu.
Wybierz + Utwórz.
Na karcie Uprawnienia w menu rozwijanym Uprawnienia klucza wybierz pozycję Pobierz, Odpakuj klucz i Opakuj uprawnienia klucza.
Na karcie Podmiot zabezpieczeń wybierz tożsamość zarządzaną przypisaną przez użytkownika utworzoną w kroku wymagań wstępnych.
Przejdź do pozycji Przejrzyj i utwórz wybierz pozycję Utwórz.
Tworzenie/importowanie klucza
W witrynie Azure Portal przejdź do wystąpienia usługi Azure Key Vault, które ma być używane do hostowania kluczy szyfrowania.
Wybierz pozycję Klucze z menu po lewej stronie, a następnie wybierz pozycję +Generuj/Importuj.
Klucz zarządzany przez klienta, który ma być używany do szyfrowania klucza DEK, może być tylko asymetryczny typ klucza RSA. Obsługiwane są wszystkie rozmiary kluczy RSA 2048, 3072 i 4096.
Data aktywacji klucza (jeśli ustawiona) musi być datą i godziną w przeszłości. Data wygaśnięcia (jeśli jest ustawiona) musi być w przyszłości datą i godziną.
Klucz musi być w stanie Włączone.
Jeśli importujesz istniejący klucz do magazynu kluczy, upewnij się, że został on w obsługiwanych formatach plików (
.pfx
,.byok
,.backup
).Jeśli ręcznie obracasz klucz, stara wersja klucza nie powinna być usuwana przez co najmniej 24 godziny.
Włączanie szyfrowania CMK podczas aprowizacji nowego klastra
Podczas aprowizacji nowego klastra usługi Azure Cosmos DB for PostgreSQL po podaniu niezbędnych informacji na kartach Podstawy i sieć przejdź do karty Szyfrowanie .
Wybierz pozycję Klucz zarządzany przez klienta w obszarze Opcja Klucz szyfrowania danych.
Wybierz tożsamość zarządzaną przypisaną przez użytkownika utworzoną w poprzedniej sekcji.
Wybierz magazyn kluczy utworzony w poprzednim kroku, który ma zasady dostępu do tożsamości zarządzanej użytkownika wybranej w poprzednim kroku.
Wybierz klucz utworzony w poprzednim kroku, a następnie wybierz pozycję Przejrzyj i utwórz.
Po utworzeniu klastra sprawdź, czy szyfrowanie cmK jest włączone, przechodząc do bloku Szyfrowanie danych klastra usługi Azure Cosmos DB for PostgreSQL w witrynie Azure Portal.
Uwaga
Szyfrowanie danych można skonfigurować tylko podczas tworzenia nowego klastra i nie można go zaktualizować w istniejącym klastrze. Obejściem aktualizacji konfiguracji szyfrowania w istniejącym klastrze jest wykonanie przywracania klastra i skonfigurowanie szyfrowania danych podczas tworzenia nowo przywróconego klastra.
Wysoka dostępność
Po włączeniu szyfrowania cmK w klastrze podstawowym wszystkie węzły rezerwowe wysokiej dostępności są automatycznie szyfrowane przez klucz klastra podstawowego.
Zmiana konfiguracji szyfrowania przez wykonanie przywracania do punktu w czasie
Konfigurację szyfrowania można zmienić z szyfrowania zarządzanego przez usługę na szyfrowanie zarządzane przez klienta lub na odwrót podczas wykonywania operacji przywracania klastra (PITR — przywracanie do punktu w czasie).
Monitorowanie klucza zarządzanego przez klienta w usłudze Key Vault
Aby monitorować stan bazy danych i włączyć alerty dotyczące utraty dostępu funkcji ochrony przezroczystego szyfrowania danych, skonfiguruj następujące funkcje platformy Azure:
Azure Resource Health: niedostępna baza danych, która utraciła dostęp do klucza klienta, jest wyświetlana jako "Niedostępna" po odmowie pierwszego połączenia z bazą danych.
Dziennik aktywności: w przypadku niepowodzenia dostępu do klucza klienta w zarządzanym przez klienta usłudze Key Vault wpisy są dodawane do dziennika aktywności. Dostęp można przywrócić tak szybko, jak to możliwe, jeśli utworzysz alerty dla tych zdarzeń.
Grupy akcji: zdefiniuj te grupy, aby wysyłać powiadomienia i alerty na podstawie preferencji.
Następne kroki
- Dowiedz się więcej o szyfrowaniu danych przy użyciu kluczy zarządzanych przez klienta
- Zapoznaj się z limitami i ograniczeniami klucza zarządzanego przez klienta w usłudze Azure Cosmos DB for PostgreSQL