Obracanie funkcji ochrony funkcji Transparent Data Encryption (TDE)

Dotyczy: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (tylko dedykowane pule SQL)

W tym artykule opisano rotację kluczy dla serwera przy użyciu funkcji ochrony TDE z usługi Azure Key Vault. Rotacja logicznej ochrony TDE dla serwera oznacza przełączenie się na nowy klucz asymetryczny, który chroni bazy danych na serwerze. Rotacja kluczy jest operacją online i powinna potrwać tylko kilka sekund, ponieważ powoduje to tylko odszyfrowywanie i ponowne szyfrowanie klucza szyfrowania danych bazy danych, a nie całej bazy danych.

W tym artykule omówiono zarówno zautomatyzowane, jak i ręczne metody rotacji funkcji ochrony TDE na serwerze.

Ważne zagadnienia dotyczące rotacji funkcji ochrony TDE

  • Gdy funkcja ochrony TDE jest zmieniana/obracana, stare kopie zapasowe bazy danych, w tym pliki dziennika kopii zapasowej, nie są aktualizowane w celu korzystania z najnowszej funkcji ochrony TDE. Aby przywrócić kopię zapasową zaszyfrowaną za pomocą funkcji ochrony TDE z usługi Key Vault, upewnij się, że materiał klucza jest dostępny dla serwera docelowego. Dlatego zalecamy zachowanie wszystkich starych wersji funkcji ochrony TDE w usłudze Azure Key Vault (AKV), aby można było przywrócić kopie zapasowe bazy danych.
  • Nawet w przypadku przełączania z klucza zarządzanego przez klienta na klucz zarządzany przez usługę zachowaj wszystkie wcześniej używane klucze w usłudze AKV. Dzięki temu kopie zapasowe bazy danych, w tym pliki dziennika kopii zapasowej, można przywrócić za pomocą funkcji ochrony TDE przechowywanych w usłudze AKV.
  • Oprócz starych kopii zapasowych pliki dziennika transakcji mogą również wymagać dostępu do starszej funkcji ochrony TDE. Aby ustalić, czy istnieją jakiekolwiek pozostałe dzienniki, które nadal wymagają starszego klucza, po wykonaniu rotacji kluczy użyj widoku zarządzania dynamicznego (DMV) sys.dm_db_log_info . Ten dynamiczny widok zarządzania zwraca informacje o pliku dziennika wirtualnego (VLF) dziennika transakcji wraz z odciskiem palca klucza szyfrowania VLF.
  • Starsze klucze muszą być przechowywane w usłudze AKV i dostępne dla serwera na podstawie okresu przechowywania kopii zapasowych skonfigurowanego jako powrót zasad przechowywania kopii zapasowych w bazie danych. Pomaga to zapewnić, że wszelkie kopie zapasowe długoterminowego przechowywania (LTR) na serwerze mogą być nadal przywracane przy użyciu starszych kluczy.

Uwaga

Przed rotacją kluczy należy wznowić wstrzymaną dedykowaną pulę SQL w usłudze Azure Synapse Analytics.

Ten artykuł dotyczy dedykowanych pul SQL Sql Database, Azure SQL Managed Instance i Azure Synapse Analytics (dawniej SQL DW). Aby uzyskać dokumentację dotyczącą przezroczystego szyfrowania danych (TDE) dla dedykowanych pul SQL w obszarach roboczych usługi Synapse, zobacz Szyfrowanie usługi Azure Synapse Analytics.

Ważne

Nie usuwaj poprzednich wersji klucza po przerzucaniu. Po przerzucaniu kluczy niektóre dane są nadal szyfrowane przy użyciu poprzednich kluczy, takich jak starsze kopie zapasowe bazy danych, pliki dziennika kopii zapasowej i pliki dziennika transakcji.

Wymagania wstępne

Napiwek

Zalecane, ale opcjonalne — najpierw utwórz materiał klucza dla funkcji ochrony TDE w sprzętowym module zabezpieczeń (HSM) lub lokalnym magazynie kluczy i zaimportuj materiał klucza do usługi Azure Key Vault. Postępuj zgodnie z instrukcjami dotyczącymi korzystania ze sprzętowego modułu zabezpieczeń (HSM) i usługi Key Vault , aby dowiedzieć się więcej.

Przejdź do witryny Azure Portal.

Automatyczne obracanie kluczy

Automatyczna rotacja funkcji ochrony TDE można włączyć podczas konfigurowania funkcji ochrony TDE dla serwera lub bazy danych w witrynie Azure Portal lub przy użyciu poniższych poleceń programu PowerShell lub interfejsu wiersza polecenia platformy Azure. Po włączeniu serwer lub baza danych będzie stale sprawdzać magazyn kluczy pod kątem wszelkich nowych wersji klucza używanego jako funkcja ochrony TDE. Jeśli zostanie wykryta nowa wersja klucza, funkcja ochrony TDE na serwerze lub bazie danych zostanie automatycznie obracana do najnowszej wersji klucza w ciągu 24 godzin.

Automatyczna rotacja na serwerze, bazie danych lub wystąpieniu zarządzanym może być używana z automatycznym rotacją kluczy w usłudze Azure Key Vault, aby umożliwić kompleksową rotację dotykową bezobsługową dla kluczy TDE.

Uwaga

Jeśli serwer lub wystąpienie zarządzane ma skonfigurowaną replikację geograficzną, przed włączeniem automatycznej rotacji należy postępować zgodnie z poniższymi wytycznymi.

Korzystanie z witryny Azure Portal:

  1. Przejdź do sekcji Transparent Data Encryption dla istniejącego serwera lub wystąpienia zarządzanego.
  2. Wybierz opcję Klucz zarządzany przez klienta i wybierz magazyn kluczy i klucz, który ma być używany jako funkcja ochrony TDE.
  3. Zaznacz pole wyboru Automatyczne obracanie klucza.
  4. Wybierz pozycję Zapisz.

Screenshot of auto rotate key configuration for Transparent data encryption.

Automatyczna rotacja kluczy na poziomie bazy danych

Automatyczne obracanie kluczy można również włączyć na poziomie bazy danych dla usługi Azure SQL Database. Jest to przydatne, gdy chcesz włączyć automatyczną rotację kluczy tylko dla jednego lub podzbioru baz danych na serwerze. Aby uzyskać więcej informacji, zobacz Zarządzanie tożsamościami i kluczami dla funkcji TDE przy użyciu kluczy zarządzanych przez klienta na poziomie bazy danych.

Aby uzyskać informacje na temat konfigurowania automatycznego obracania kluczy na poziomie bazy danych, zobacz Aktualizowanie istniejącej bazy danych Azure SQL Database przy użyciu kluczy zarządzanych przez klienta na poziomie bazy danych.

Automatyczne obracanie kluczy dla konfiguracji replikacji geograficznej

W konfiguracji replikacji geograficznej usługi Azure SQL Database, w której serwer podstawowy ma używać funkcji TDE z kluczem CMK, należy również skonfigurować serwer pomocniczy w celu włączenia funkcji TDE z kluczem CMK z tym samym kluczem używanym na serwerze podstawowym.

Korzystanie z witryny Azure Portal:

  1. Przejdź do sekcji Transparent Data Encryption dla serwera podstawowego.

  2. Wybierz opcję Klucz zarządzany przez klienta i wybierz magazyn kluczy i klucz, który ma być używany jako funkcja ochrony TDE.

  3. Zaznacz pole wyboru Automatyczne obracanie klucza.

  4. Wybierz pozycję Zapisz.

    Screenshot of auto rotate key configuration for transparent data encryption in a geo-replication scenario on the primary server.

  5. Przejdź do sekcji Transparent Data Encryption dla serwera pomocniczego.

  6. Wybierz opcję Klucz zarządzany przez klienta i wybierz magazyn kluczy i klucz, który ma być używany jako funkcja ochrony TDE. Użyj tego samego klucza, który był używany dla serwera podstawowego.

  7. Usuń zaznaczenie pola wyboru Ustaw ten klucz jako domyślną funkcję ochrony TDE.

  8. Wybierz pozycję Zapisz.

    Screenshot of auto rotate key configuration for transparent data encryption in a geo-replication scenario on the secondary server.

Gdy klucz jest obracany na serwerze podstawowym, jest on automatycznie przesyłany do serwera pomocniczego.

Użyj różnych kluczy dla każdego serwera

Istnieje możliwość skonfigurowania serwerów podstawowych i pomocniczych przy użyciu innego klucza magazynu kluczy podczas konfigurowania funkcji TDE przy użyciu klucza zarządzanego przez klienta w witrynie Azure Portal. Nie jest oczywiste w witrynie Azure Portal, że klucz używany do ochrony serwera podstawowego jest również tym samym kluczem, który chroni podstawową bazę danych, która została zreplikowana na serwer pomocniczy. Można jednak użyć programu PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsów API REST, aby uzyskać szczegółowe informacje o kluczach używanych na serwerze. Pokazuje to, że automatycznie obracane klucze są przenoszone z serwera podstawowego do serwera pomocniczego.

Oto przykład użycia poleceń programu PowerShell do sprawdzania kluczy przesyłanych z serwera podstawowego do serwera pomocniczego po rotacji kluczy.

  1. Wykonaj następujące polecenie na serwerze podstawowym, aby wyświetlić kluczowe szczegóły serwera:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  2. Powinny zostać wyświetlone wyniki podobne do następujących:

    ResourceGroupName : <SQLDatabaseResourceGroupName> 
    ServerName        : <logicalServerName> 
    ServerKeyName     : <keyVaultKeyName> 
    Type              : AzureKeyVault 
    Uri               : https://<keyvaultname>.vault.azure.net/keys/<keyName>/<GUID> 
    Thumbprint        : <thumbprint> 
    CreationDate      : 12/13/2022 8:56:32 PM
    
  3. Wykonaj to samo Get-AzSqlServerKeyVaultKey polecenie na serwerze pomocniczym:

    Get-AzSqlServerKeyVaultKey -ServerName <logicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> 
    
  4. Jeśli serwer pomocniczy ma domyślną funkcję ochrony TDE przy użyciu innego klucza niż serwer podstawowy, powinny zostać wyświetlone dwa (lub więcej) kluczy. Pierwszym kluczem jest domyślna funkcja ochrony TDE, a drugi klucz jest kluczem używanym na serwerze podstawowym używanym do ochrony replikowanej bazy danych.

  5. Gdy klucz jest obracany na serwerze podstawowym, jest on automatycznie przesyłany do serwera pomocniczego. W przypadku ponownego Get-AzSqlServerKeyVaultKey uruchomienia polecenia na serwerze podstawowym powinny zostać wyświetlone dwa klucze. Pierwszy klucz to oryginalny klucz, a drugi klucz, który jest bieżącym kluczem, który został wygenerowany w ramach rotacji kluczy.

  6. Get-AzSqlServerKeyVaultKey Uruchomienie polecenia na serwerze pomocniczym powinno również zawierać te same klucze, które znajdują się na serwerze podstawowym. Potwierdza to, że obracane klucze na serwerze podstawowym są automatycznie przenoszone na serwer pomocniczy i używane do ochrony repliki bazy danych.

Ręczne obracanie kluczy

Ręczne obracanie kluczy używa następujących poleceń, aby dodać nowy klucz, który może być pod nową nazwą klucza, a nawet innym magazynem kluczy. Użycie tego podejścia umożliwia dodanie tego samego klucza do różnych magazynów kluczy w celu obsługi scenariuszy wysokiej dostępności i odzyskiwania geograficznego. Ręczne obracanie kluczy można również wykonać przy użyciu witryny Azure Portal.

W przypadku ręcznego obracania kluczy, gdy nowa wersja klucza jest generowana w magazynie kluczy (ręcznie lub za pośrednictwem zasad automatycznego rotacji kluczy w magazynie kluczy), należy ręcznie ustawić tę samą funkcję jako funkcję ochrony TDE na serwerze.

Uwaga

Łączna długość nazwy magazynu kluczy i nazwy klucza nie może przekraczać 94 znaków.

Przy użyciu witryny Azure Portal:

  1. Przejdź do menu Transparent Data Encryption dla istniejącego serwera lub wystąpienia zarządzanego.
  2. Wybierz opcję Klucz zarządzany przez klienta i wybierz magazyn kluczy i klucz, który ma być używany jako nowa funkcja ochrony TDE.
  3. Wybierz pozycję Zapisz.

Screenshot of manually rotate key configuration for Transparent data encryption.

Przełączanie trybu ochrony TDE

Za pomocą witryny Azure Portal przełącz funkcję ochrony TDE z zarządzanej przez firmę Microsoft do trybu BYOK:

  1. Przejdź do menu Transparent Data Encryption dla istniejącego serwera lub wystąpienia zarządzanego.
  2. Wybierz opcję Klucz zarządzany przez klienta.
  3. Wybierz magazyn kluczy i klucz, który ma być używany jako funkcja ochrony TDE.
  4. Wybierz pozycję Zapisz.