Sdílet prostřednictvím


Správa identit a klíčů pro TDE s klíči spravovanými zákazníkem na úrovni databáze

Platí pro:Azure SQL Database

Poznámka:

  • CmK na úrovni databáze je k dispozici pro Azure SQL Database (všechny edice SQL Database). Není k dispozici pro Azure SQL Managed Instance, místní SQL Server, Azure VMs a Azure Synapse Analytics (vyhrazené fondy SQL (dříve SQL DW)).
  • Stejnou příručku můžete použít ke konfiguraci klíčů spravovaných zákazníkem na úrovni databáze ve stejném tenantovi tak, že vyloučíte parametr ID federovaného klienta. Další informace o klíčích spravovaných zákazníkem na úrovni databáze najdete v tématu Transparentní šifrování dat (TDE) s klíči spravovanými zákazníkem na úrovni databáze.

V této příručce si projdeme postup vytvoření, aktualizace a načtení služby Azure SQL Database s transparentním šifrováním dat (TDE) a klíči spravovanými zákazníkem (CMK) na úrovni databáze s využitím spravované identity přiřazené uživatelem pro přístup ke službě Azure Key Vault. Azure Key Vault je v jiném tenantu Microsoft Entra než Azure SQL Database. Další informace najdete v tématu Klíče spravované zákazníkem napříč tenanty s transparentním šifrováním dat.

Poznámka:

ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).

Požadavky

Požadované prostředky u prvního nájemce

Pro účely tohoto kurzu předpokládáme, že první tenant patří nezávislému dodavateli softwaru (ISV) a druhý tenant pochází ze svého klienta. Další informace o tomto scénáři najdete v tématu Klíče spravované zákazníkem napříč tenanty s transparentním šifrováním dat.

Než budeme moct nakonfigurovat transparentní šifrování dat pro Azure SQL Database pomocí klíče CMK pro více tenantů, musíme mít víceklientskou aplikaci Microsoft Entra, která je nakonfigurovaná se spravovanou identitou přiřazenou uživatelem jako federovanou identitní přihlašovací údaj pro aplikaci. Postupujte podle jednoho z průvodců v části Požadavky.

  1. V prvním tenantovi, ve kterém chcete vytvořit azure SQL Database, vytvořte a nakonfigurujte aplikaci Microsoft Entra s více tenanty.

  2. Vytvořte spravovanou identitu přiřazenou uživatelem.

  3. Nakonfigurujte spravovanou identitu přiřazenou uživatelem jako přihlašovací údaje federované identity pro víceklientskou aplikaci.

  4. Poznamenejte si název aplikace a ID aplikace. Najdete ji na webu Azure Portal>v podnikových aplikacích Microsoft Entra ID>a vyhledejte vytvořenou aplikaci.

Požadované prostředky na druhém tenantovi

Poznámka:

Moduly Azure AD a MSOnline PowerShell jsou od 30. března 2024 zastaralé. V aktualizaci o ukončení podpory najdete více informací. Po tomto datu je podpora těchto modulů omezená na pomoc s migrací na sadu Microsoft Graph PowerShell SDK a opravy zabezpečení. Zastaralé moduly budou dál fungovat až do 30. března 2025.

Doporučujeme migrovat na Microsoft Graph PowerShell , abyste mohli pracovat s Microsoft Entra ID (dříve Azure AD). Běžné dotazy k migraci najdete v nejčastějších dotazech k migraci. Poznámka: Verze 1.0.x MSOnline mohou být přerušeny po 30. červnu 2024.

  1. Ve druhém tenantovi, ve kterém se nachází služba Azure Key Vault, vytvořte instanční objekt (aplikaci) pomocí ID aplikace z registrované aplikace z prvního tenanta. Tady je několik příkladů, jak zaregistrovat víceklientskou aplikaci. Nahraďte <TenantID> a <ApplicationID> ID tenanta z Microsoft Entra ID a ID aplikace z víceklientské aplikace:

    • PowerShell:

      Connect-Entra -TenantID <TenantID>
      New-EntraServicePrincipal  -AppId <ApplicationID>
      
    • Azure CLI:

      az login --tenant <TenantID>
      az ad sp create --id <ApplicationID>
      
  2. Přejděte na Azure portal>Microsoft Entra ID>Podnikové aplikace a vyhledejte aplikaci, která byla vytvořena.

  3. Pokud ho nemáte, vytvořte azure Key Vault a vytvořte klíč.

  4. Vytvořte nebo nastavte zásady přístupu.

    1. Při vytváření zásad přístupu vyberte oprávnění Získat, Zabalit klíč, Rozbalit klíč v části Oprávnění ke klíči.
    2. Při vytváření zásad přístupu vyberte víceklientní aplikaci vytvořenou v prvním kroku v možnosti Objekt zabezpečení .

    Snímek obrazovky s nabídkou zásad přístupu služby Azure Key Vault na webu Azure Portal

  5. Po vytvoření zásady přístupu a klíče nejprve načtěte klíč ze služby Azure Key Vault a poté si poznamenejte identifikátor klíče.

Vytvoření nové služby Azure SQL Database s využitím klíčů spravovaných zákazníkem na úrovni databáze

Následuje příklad vytvoření databáze ve službě Azure SQL Database se spravovanou identitou přiřazenou uživatelem a nastavení klíče spravovaného zákazníkem napříč tenanty na úrovni databáze. Spravovaná identita přiřazená uživatelem se vyžaduje k nastavení klíče spravovaného zákazníkem pro transparentní šifrování dat během fáze vytváření databáze.

  1. Přejděte do centra Azure SQL v aka.ms/azuresqlhub.

  2. V nabídce prostředků rozbalte Azure SQL Database a vyberte databáze SQL.

  3. Vyberte rozevírací tlačítko + Vytvořit a vyberte databázi SQL.

    Snímek obrazovky webu Azure Portal zobrazující stránku databáze SQL, tlačítko Vytvořit a možnost databáze SQL

  4. Na kartě Základy formuláře Vytvořit databázi SQL v části Podrobnosti o projektu vyberte požadované předplatné Azure, skupinu prostředků a server pro vaši databázi. Pak pro název databáze použijte jedinečný název. Pokud jste pro Azure SQL Database nevytvořili logický server, přečtěte si téma Vytvoření serveru nakonfigurovaného s transparentním šifrováním dat pomocí klíče spravovaného zákazníkem napříč tenanty (CMK), kde najdete referenční informace.

  5. Když se dostanete na kartu Zabezpečení , vyberte Konfigurovat transparentní šifrování dat pro klíč na úrovni databáze.

    Snímek obrazovky webu Azure Portal a nabídky Zabezpečení při vytváření služby Azure SQL Database

  6. V nabídce Transparentní šifrování dat vyberte klíč spravovaný zákazníkem na úrovni databáze (CMK).

    Snímek obrazovky s nabídkou transparentního šifrování dat na webu Azure Portal

  7. Pokud chcete povolit uživatelsky přiřazenou spravovanou identitu, vyberte Konfigurovat pro povolení identifikace databáze a Přidat uživatelsky přiřazenou spravovanou identitu do prostředku, pokud požadovaná identita není uvedena v nabídce Identita. Potom vyberte Použít.

    Snímek obrazovky s nabídkou Identita na webu Azure Portal

    Poznámka:

    Identitu federovaného klienta můžete nakonfigurovat tady, pokud konfigurujete klíč cmk mezi tenanty pro transparentní šifrování dat.

  8. V nabídce Transparentní šifrování dat vyberte Změnit klíč. Vyberte požadované předplatné, trezor klíčů, klíč a verzi pro klíč spravovaný uživatelem, který bude použit pro TDE. Zvolte tlačítko Vybrat. Po výběru klíče můžete podle potřeby přidat další databázové klíče pomocí identifikátoru URI služby Azure Key Vault (identifikátor objektu) v nabídce Transparentní šifrování dat.

    Automatická obměna klíčů je také možné povolit na úrovni databáze pomocí zaškrtávacího políčka Automaticky otočit klíč v nabídce Transparentní šifrování dat.

    Snímek obrazovky s nabídkou transparentního šifrování dat na webu Azure Portal odkazující na přidání dalších klíčů

  9. Chcete-li pokračovat ve vytváření databáze, vyberte Použít .

  10. Vyberte Další: Další nastavení.

  11. Vyberte Další: Značky.

  12. Zvažte použití značek Azure. Například značka "Owner" nebo "CreatedBy", která identifikuje, kdo prostředek vytvořil, a značku prostředí, která identifikuje, jestli se tento prostředek nachází v produkčním prostředí, vývoji atd. Další informace najdete v tématu Vývoj strategie vytváření názvů a označování prostředků Azure.

  13. Vyberte možnost Zkontrolovat a vytvořit.

  14. Na stránce Kontrola a vytvoření po kontrole vyberte Vytvořit.

Poznámka:

Vytvoření databáze selže, pokud spravovaná identita přiřazená uživatelem nemá pro trezor klíčů povolená správná oprávnění. Spravovaná identita přiřazená uživatelem bude potřebovat oprávnění Get, wrapKey a unwrapKey v trezoru klíčů. Další informace najdete v tématu Spravované identity pro transparentní šifrování dat pomocí klíče spravovaného zákazníkem.

Aktualizace existující služby Azure SQL Database pomocí klíčů spravovaných zákazníkem na úrovni databáze

Tady jsou příklady aktualizace existující databáze ve službě Azure SQL Database pomocí spravované identity přiřazené uživatelem a nastavení klíče spravovaného zákazníkem napříč tenanty na úrovni databáze. Spravovaná identita přiřazená uživatelem se vyžaduje k nastavení klíče spravovaného zákazníkem pro transparentní šifrování dat během fáze vytváření databáze.

  1. Přejděte do centra Azure SQL v aka.ms/azuresqlhub.

  2. V nabídce prostředků rozbalte Azure SQL Database a vyberte databáze SQL.

  3. Vyberte prostředek databáze SQL , který chcete aktualizovat pomocí klíče spravovaného zákazníkem na úrovni databáze.

  4. V nabídce prostředků v části Zabezpečení vyberte Identita.

  5. V části Spravovaná identita přiřazená uživatelem vyberte Přidat.

  6. V podokně Vybrat uživatelsky přiřazenou spravovanou identitu vyberte příslušnou spravovanou identitu.

  7. Vyberte Přidat.

  8. Zvolte Uložit.

  9. V nabídce prostředků v části Zabezpečení vyberte Šifrování dat.

  10. V případě transparentního šifrování dat vyberte tlačítko klíče spravovaného zákazníkem na úrovni databáze (CMK). Identita databáze by měla být už povolená, protože jste ji nakonfigurovali v posledním kroku.

  11. Vyberte Změnit klíč. Vyberte požadované předplatné, trezor klíčů, klíč a verzi pro klíč spravovaný uživatelem, který bude použit pro TDE. Zvolte tlačítko Vybrat. Po výběru klíče můžete podle potřeby přidat další databázové klíče pomocí identifikátoru URI služby Azure Key Vault (identifikátor objektu) v nabídce Šifrování dat.

  12. Pokud chcete povolit automatické obměně klíčů na úrovni databáze, zaškrtněte políčko Automaticky otočit klíč.

    Snímek obrazovky s nabídkou transparentního šifrování dat na webu Azure Portal při aktualizaci existující databáze

  13. Zvolte Uložit.

Zobrazení nastavení klíče spravovaného zákazníkem na úrovni databáze ve službě Azure SQL Database

Následuje příklad načtení klíčů spravovaných zákazníkem na úrovni databáze pro databázi. Výchozí nastavení prostředku Microsoft.Sql/servers/databases ARM zobrazuje pouze ochranu TDE a spravovanou identitu nakonfigurovanou na databázi. Chcete-li rozbalit úplný seznam klíčů, použijte parametr , -ExpandKeyList. Kromě toho je možné použít filtry, jako je -KeysFilter "current" a hodnota k určitému bodu v čase (například 2023-01-01), k načtení aktuálně použitých klíčů a klíčů použitých v minulosti v konkrétním časovém okamžiku. Tyto filtry jsou podporovány pouze pro jednotlivé databázové dotazy, a ne pro dotazy na úrovni serveru.

Pokud chcete zobrazit klíče spravované zákazníkem na úrovni databáze na webu Azure Portal, přejděte do nabídky Šifrování dat prostředku databáze SQL.

Výpis všech klíčů na logickém serveru

Pokud chcete načíst seznam všech klíčů (nejen primární ochrany) používaných jednotlivými databázemi na serveru, musí být dotazován jednotlivě pomocí filtrů klíčů. Následuje příklad dotazu PowerShellu, který vypíše každý klíč pod logickým serverem.

Použijte rutinu Get-AzSqlDatabase .

$dbs = Get-AzSqlDatabase -resourceGroupName <ResourceGroupName> -ServerName <ServerName>
foreach ($db in $dbs)
{
Get-AzSqlDatabase -DatabaseName $db.DatabaseName -ServerName $db.ServerName -ResourceGroupName $db.ResourceGroupName -ExpandKeyList
}

Obnovení klíče spravovaného zákazníkem na úrovni databáze ve službě Azure SQL Database

V případě nepřístupné ochrany transparentním šifrováním dat, jak je popsáno v transparentním šifrování dat Azure SQL pomocí klíče spravovaného zákazníkem, je možné po opravě přístupu ke klíči použít operaci opětovného ověření klíče, aby byla databáze přístupná. Příklady najdete v následujících pokynech nebo příkazech.

Pomocí Azure portal vyhledejte prostředek databáze SQL. Jakmile vyberete prostředek databáze SQL, přejděte na kartu Transparentní šifrování dat v nabídce Šifrování dat v nastavení Zabezpečení. Pokud databáze ztratila přístup ke službě Azure Key Vault, zobrazí se tlačítko Znovu obnovit klíč a vy budete mít možnost znovu obnovit stávající klíč výběrem možnosti Opakovat existující klíč nebo jiný klíč výběrem možnosti Vybrat záložní klíč.

Vrácení klíče spravovaného zákazníkem na úrovni databáze ve službě Azure SQL Database

Databáze nakonfigurovaná pomocí klíče CMK na úrovni databáze se dá vrátit k šifrování na úrovni serveru, pokud je server nakonfigurovaný pomocí klíče spravovaného službou pomocí následujících příkazů.

Pokud chcete v portálu Azure přepnout nastavení klíče spravovaného zákazníkem na úrovni databáze zpět na úroveň šifrovacího klíče serveru, přejděte na kartu Transparentní šifrování dat v nabídce Šifrování dat prostředku SQL databáze. Vyberte šifrovací klíč na úrovni serveru a výběrem možnosti Uložit uložte nastavení.

Poznámka:

Aby bylo možné použít nastavení šifrovacího klíče na úrovni serveru pro jednotlivé databáze, musí být logický server pro Azure SQL Database nakonfigurován tak, aby používal klíč spravovaný službou pro TDE.