Udostępnij za pośrednictwem


Zmień klucz zabezpieczający Transparent Data Encryption (TDE)

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

W tym artykule opisano rotację kluczy dla serwera przy użyciu protektora 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 protektor TDE jest zmieniany/obracany, stare kopie zapasowe bazy danych, w tym pliki dziennika, nie są aktualizowane, aby używać najnowszego protektora 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 dynamicznego widoku zarządzania sys.dm_db_log_info (DMV). 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 zgodnie z okresem przechowywania kopii zapasowej skonfigurowanym w ramach zasad retencji 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

Aby wznowić wstrzymaną dedykowaną pulę SQL w usłudze Azure Synapse Analytics, należy to zrobić przed rotacją kluczy.

Ten artykuł dotyczy Azure SQL Database, Azure SQL Managed Instance i dedykowanych pul SQL w 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

  • W tym przewodniku z instrukcjami założono, że używasz już klucza z usługi Azure Key Vault jako funkcji ochrony TDE dla usługi Azure SQL Database lub Azure Synapse Analytics. Zobacz Transparent Data Encryption with BYOK Support (transparentne szyfrowanie danych z obsługą BYOK).
  • Musisz mieć zainstalowany i uruchomiony program Azure PowerShell.

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 w poszukiwaniu wszelkich nowych wersji klucza używanego jako protektor 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, w bazie danych lub wystąpieniu zarządzanym może być używana z automatyczną rotacją kluczy w usłudze Azure Key Vault, aby umożliwić kompleksową, bezinterwencyjną rotację 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 oraz klucz, który ma być używany jako zabezpieczenie TDE.
  3. Zaznacz pole wyboru Automatyczne obracanie klucza.
  4. Wybierz pozycję Zapisz.

Zrzut ekranu przedstawiający konfigurację automatycznego obracania klucza dla funkcji 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.

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 użytkownika i wybierz magazyn kluczy oraz klucz, które mają być używane jako protektor TDE.

  3. Zaznacz pole wyboru Automatyczne obracanie klucza.

  4. Wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający konfigurację automatycznego obracania klucza na potrzeby przezroczystego szyfrowania danych w scenariuszu replikacji geograficznej na serwerze podstawowym.

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

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

  7. Odznacz Ustaw ten klucz jako domyślny protektor TDE.

  8. Wybierz pozycję Zapisz.

    Zrzut ekranu przedstawiający konfigurację automatycznego obracania klucza na potrzeby przezroczystego szyfrowania danych w scenariuszu replikacji geograficznej na serwerze pomocniczym.

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

Uwaga

Jeśli ten sam klucz magazynu kluczy na serwerze podstawowym jest używany jako domyślna funkcja ochrony TDE na serwerze pomocniczym, upewnij się, że dla obu serwerów jest włączony klucz automatycznego obracania. Niepowodzenie tej czynności może prowadzić do przejścia do stanu błędu automatycznych przepływów pracy rotacji i uniemożliwić dalsze ręczne rotacje kluczy.

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

Jest możliwe skonfigurowanie serwerów podstawowych i pomocniczych przy użyciu innego klucza w skarbcu kluczy podczas konfigurowania TDE z kluczem zarządzanym przez klienta w portalu Azure. 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. Gdybyś ponownie uruchomił Get-AzSqlServerKeyVaultKey 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 posługuje się poniższymi poleceniami, aby dodać nowy klucz, który może być zapisany pod nową nazwą lub nawet w innym magazynie 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ęcznej rotacji kluczy, gdy nowa wersja klucza zostanie wygenerowana w magazynie kluczy (ręcznie lub poprzez automatyczną rotację kluczy), należy ręcznie ustawić ją jako ochronę TDE na serwerze.

Uwaga

Całkowita długość nazwy skarbca 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.

Zrzut ekranu przedstawiający ręczną rotację konfiguracji klucza dla funkcji Transparent Data Encryption.

Przełącz tryb 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 Transparentnego Szyfrowania Danych 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.