Správa identit a klíčů pro transparentní šifrování dat s využitím klíčů spravovaných 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, virtuální počítače Azure 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 tenantovi 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 v prvním tenantovi

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 mezi tenanty, musíme mít víceklientskou aplikaci Microsoft Entra, která je nakonfigurovaná se spravovanou identitou přiřazenou uživatelem přiřazenou jako přihlašovací údaje federované identity pro aplikaci. Postupujte podle jednoho z průvodců v části Požadavky.

  1. V prvním tenantovi, ve kterém chcete vytvořit službu 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 aplikaci s více tenanty.

  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 ve druhém tenantovi

Poznámka:

Moduly Azure AD a MSOnline PowerShell jsou od 30. března 2024 zastaralé. Další informace najdete v aktualizaci vyřazení. 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 dojít k přerušení 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 aplikaci s více tenanty. Nahraďte a nahraďte <TenantID> ID klienta z Microsoft Entra ID a ID aplikace z aplikace s více tenanty<ApplicationID>, v uvedeném pořadí:

    • PowerShell:

      Connect-AzureAD -TenantID <TenantID>
      New-AzADServicePrincipal  -ApplicationId <ApplicationID>
      
    • Azure CLI:

      az login --tenant <TenantID>
      az ad sp create --id <ApplicationID>
      
  2. Přejděte na web Azure Portal>Microsoft Entra ID>Podnikových aplikací 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 aplikaci s více tenanty vytvořenou v prvním kroku v možnosti Objekt zabezpečení .

    Snímek obrazovky s nabídkou zásad přístupu trezoru klíčů na webu Azure Portal

  5. Po vytvoření zásady přístupu a klíče načtěte klíč ze služby Key Vault a poznamenejte si 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. Na webu Azure Portal přejděte na stránku Vybrat nasazení SQL.

  2. Pokud ještě nejste přihlášení k webu Azure Portal, přihlaste se po zobrazení výzvy.

  3. V části Databáze SQL ponechte typ prostředku nastavený na Jednoúčelová databáze a vyberte Vytvořit.

  4. Na kartě Základy formuláře Vytvořit databázi SQL vyberte v části Project podrobnosti o požadovaném předplatném Azure, skupině prostředků a serveru 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. Až se dostanete na kartu Zabezpečení , vyberte Konfigurovat transparentní šifrování dat.

    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 spravovanou identitu přiřazenou uživatelem povolit, vyberte Konfigurovat a přidejte do prostředku spravovanou identitu přiřazenou uživatelem, pokud požadovaná identita není v nabídce Identita v seznamu 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 klíče spravovaného zákazníkem, který se má použít pro transparentní šifrování dat. 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. V dolní části stránky vyberte Zkontrolovat a vytvořit .

  11. Na stránce Zkontrolovat a vytvořit vyberte po kontrole možnost 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. Na webu Azure Portal přejděte k prostředku databáze SQL, který chcete aktualizovat pomocí klíče spravovaného zákazníkem na úrovni databáze.

  2. V části Zabezpečení vyberte Identita. Přidejte spravovanou identitu přiřazenou uživatelem pro tuto databázi a pak vyberte Uložit.

  3. Teď přejděte do nabídky Šifrování dat v části Zabezpečení databáze. Vyberte klíč spravovaný zákazníkem na úrovni databáze (CMK). Identita databáze pro databázi by už měla být povolená, protože jste v posledním kroku nakonfigurovali identitu.

  4. Vyberte Změnit klíč. Vyberte požadované předplatné, trezor klíčů, klíč a verzi klíče spravovaného zákazníkem, který se má použít pro transparentní šifrování dat. 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.

    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

  5. 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. Prostředek Microsoft.Sql/servers/databases ARM ve výchozím nastavení zobrazuje pouze ochranu transparentním šifrováním dat a spravovanou identitu nakonfigurovanou v databázi. Chcete-li rozbalit úplný seznam klíčů, použijte parametr , -ExpandKeyList. Kromě toho je možné použít filtry, jako -KeysFilter "current" je hodnota k určitému bodu v čase (například 2023-01-01) k načtení aktuálních klíčů použitých a klíčů použitých v minulosti v určité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í šifrování dat (TDE) s CMK, 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í webu Azure Portal vyhledejte prostředek databáze SQL. Jakmile vyberete prostředek databáze SQL, přejděte na kartu transparentní šifrování dat nabídky Šifrování dat v části 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 vrátit nastavení klíče spravovaného zákazníkem na úrovni databáze na úrovni serveru na webu Azure Portal, přejděte na kartu transparentní šifrování dat v nabídce Šifrování dat prostředku databáze SQL. 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 službu Azure SQL Database nakonfigurovaný tak, aby pro transparentní šifrování dat používal klíč spravovaný službou.

Další kroky

Projděte si následující dokumentaci k různým operacím CMK na úrovni databáze: