konfigurace integrace Azure Key Vault pro SQL Server na virtuálních počítačích Azure (Správce prostředků)
PLATÍ PRO:
SQL Server na virtuálním počítači Azure
existuje několik funkcí SQL Server šifrování, jako je transparentní šifrování dat (TDE), šifrování na úrovni sloupce (CLE)a šifrování záloh. Tyto formy šifrování vyžadují, abyste mohli spravovat a ukládat kryptografické klíče, které používáte pro šifrování. Služba Azure Key Vault je navržená tak, aby vylepšila zabezpečení a správu těchto klíčů v zabezpečeném a vysoce dostupném umístění. konektor SQL Server umožňuje SQL Server používat tyto klíče z Azure Key Vault.
pokud používáte SQL Server v místním prostředí, můžete postupovat podle pokynů pro přístup k Azure Key Vault z vaší místní instance SQL Server. ale pro SQL Server na virtuálních počítačích Azure můžete ušetřit čas pomocí funkce integrace Azure Key Vault .
když je tato funkce povolená, nainstaluje automaticky konektor SQL Server, nakonfiguruje poskytovatele EKM pro přístup k Azure Key Vault a vytvoří přihlašovací údaje, které vám umožní přístup k trezoru. Pokud jste si prohlédli postup uvedený v předchozí dokumentaci, vidíte, že tato funkce automatizuje kroky 2 a 3. Jedinou věcí, kterou byste pořád museli ručně udělat, je vytvoření trezoru klíčů a klíčů. odtud je celá instalace SQL Server virtuálního počítače automatizovaná. až tato funkce dokončí tuto instalaci, můžete spustit příkazy jazyka Transact-SQL (T-SQL) a začít šifrovat databáze nebo zálohy, jako byste to udělali normálně.
Příprava na integraci integrace
pokud chcete použít integraci Azure Key Vault ke konfiguraci SQL Server virtuálního počítače, máte několik požadavků:
Následující části popisují tyto požadavky a informace, které potřebujete ke shromáždění, aby později běžely rutiny prostředí PowerShell.
Poznámka
Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Nainstalovat Azure PowerShell
ujistěte se, že jste nainstalovali nejnovější modul Azure PowerShell. Další informace najdete v tématu Instalace a konfigurace Azure PowerShellu.
Registrace aplikace v Azure Active Directory
nejdřív musíte mít ve svém předplatném Azure Active Directory (AAD). Mezi mnoha výhodami vám to umožňuje udělit pro určité uživatele a aplikace oprávnění k trezoru klíčů.
V dalším kroku zaregistrujete aplikaci pomocí AAD. Tím získáte účet instančního objektu, který má přístup k trezoru klíčů, který bude váš virtuální počítač potřebovat. v Azure Key Vault článku najdete tyto kroky v části registrace aplikace s Azure Active Directory nebo můžete zobrazit postup s snímky obrazovky v části získání identity pro aplikaci v tomto blogovém příspěvku. před dokončením těchto kroků je potřeba shromáždit během této registrace následující informace, které jsou potřeba později, až povolíte Azure Key Vault integraci na svém virtuálním počítači s SQL.
Po přidání aplikace vyhledejte v okně registrovaná aplikace ID aplikace (známé také jako AAD ClientID nebo AppID). ID aplikace je přiřazeno později do parametru $spName (hlavní název služby) ve skriptu prostředí PowerShell, aby bylo možné povolit Azure Key Vault integraci.

Během těchto kroků si pro svůj klíč Zkopírujte tajný klíč, jak je znázorněno na následujícím snímku obrazovky. Tento tajný klíč klíče se přiřadí později do parametru $spSecret (hlavní klíč služby) ve skriptu PowerShellu.

ID aplikace a tajný klíč budou také použity k vytvoření přihlašovacích údajů v SQL Server.
Chcete-li mít následující přístupová oprávnění, musíte autorizovat toto nové ID aplikace (nebo ID klienta): Get, wrapKey, unwrapKey. To se provádí pomocí rutiny set-AzKeyVaultAccessPolicy . Další informace najdete v tématu přehled Azure Key Vault.
Vytvoření trezoru klíčů
Abyste mohli použít Azure Key Vault k ukládání klíčů, které budete používat k šifrování na svém VIRTUÁLNÍm počítači, budete potřebovat přístup k trezoru klíčů. Pokud jste svůj Trezor klíčů ještě nevytvořili, vytvořte ho podle kroků uvedených v článku Začínáme s Azure Key Vault . před dokončením tohoto postupu je několik informací, které potřebujete ke shromáždění během této nastavení, které je potřeba provést později, když povolíte Azure Key Vault integraci na svém SQLm virtuálním počítači.
New-AzKeyVault -VaultName 'ContosoKeyVault' -ResourceGroupName 'ContosoResourceGroup' -Location 'East Asia'
Když se dostanete k kroku vytvoření trezoru klíčů, poznamenejte si vrácenou vlastnost vaultUri , která je adresa URL trezoru klíčů. V příkladu uvedeném v tomto kroku se zobrazuje název trezoru klíčů ContosoKeyVault, takže adresa URL trezoru klíčů by byla https://contosokeyvault.vault.azure.net/ .
Adresa URL trezoru klíčů se přiřadí později k parametru $akvURL ve skriptu PowerShellu, aby se aktivovala Azure Key Vault integrace.
po vytvoření trezoru klíčů musíme do trezoru klíčů přidat klíč. tento klíč se bude označovat při vytváření asymetrického klíče v SQL Server později.
Poznámka
zprostředkovatel ekm (Extensible Key Management) verze 1.0.4.0 je nainstalovaná na SQL Server virtuálním počítači prostřednictvím rozšíření SQL infrastruktury jako služby (IaaS). při upgradu rozšíření SQL IaaS nebude aktualizována verze zprostředkovatele. v případě potřeby prosím zvažte ruční upgrade verze zprostředkovatele EKM (například při migraci do spravované Instance SQL).
Povolení a konfigurace integrace Key Vault
Integraci Key Vault můžete povolit během zřizování nebo nakonfigurovat pro stávající virtuální počítače.
Nové virtuální počítače
pokud zřizujete nový SQL virtuální počítač s Správce prostředků, Azure Portal poskytuje způsob, jak povolit integraci Azure Key Vault. funkce Azure Key Vault je k dispozici pouze pro SQL Server edice Enterprise, Developer a Evaluation.

podrobný návod k zřizování najdete v tématu zřízení virtuálního počítače s SQL v Azure Portal.
Existující virtuální počítače
u stávajících virtuálních počítačů s SQL otevřete prostředek virtuálních počítačů s SQL a v části Nastavení vyberte zabezpečení . Výběrem Povolit povolte integraci Azure Key Vault.

Až skončíte, klikněte na tlačítko použít v dolní části stránky zabezpečení a uložte provedené změny.
Poznámka
název přihlašovacího údaje, který jsme vytvořili tady, se později namapuje na SQL přihlašovací údaje. to umožňuje SQL přihlašovacích údajů získat přístup k trezoru klíčů.
Poznámka
Integraci Key Vault můžete nakonfigurovat také pomocí šablony. Další informace najdete v tématu Šablona Azure pro rychlý Start pro Azure Key Vault integraci.
Další kroky
Po povolení Integrace Azure Key Vault můžete povolit SQL Server šifrování na svém VIRTUÁLNÍm počítači s SQL. Nejdřív budete muset vytvořit asymetrický klíč v trezoru klíčů a symetrický klíč v rámci SQL Server na svém VIRTUÁLNÍm počítači. Pak budete moci spustit příkazy T-SQL, které umožní šifrování pro databáze a zálohy.
Existuje několik forem šifrování, které můžete využít k těmto akcím:
Následující skripty Transact-SQL poskytují příklady pro každou z těchto oblastí.
Předpoklady pro příklady
Každý příklad je založený na těchto dvou požadavcích: asymetrický klíč z vašeho trezoru klíčů s názvem CONTOSO_KEY a přihlašovací údaje vytvořené funkcí integrace integrace s názvem Azure_EKM_cred. Následující příkazy jazyka Transact-SQL nastavte pro spuštění příkladů tyto požadavky.
USE master;
GO
--create credential
--The <<SECRET>> here requires the <Application ID> (without hyphens) and <Secret> to be passed together without a space between them.
CREATE CREDENTIAL Azure_EKM_cred
WITH IDENTITY = 'keytestvault', --keyvault
SECRET = '<<SECRET>>'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov;
--Map the credential to a SQL login that has sysadmin permissions. This allows the SQL login to access the key vault when creating the asymmetric key in the next step.
ALTER LOGIN [SQL_Login]
ADD CREDENTIAL Azure_EKM_cred;
CREATE ASYMMETRIC KEY CONTOSO_KEY
FROM PROVIDER [AzureKeyVault_EKM_Prov]
WITH PROVIDER_KEY_NAME = 'KeyName_in_KeyVault', --The key name here requires the key we created in the key vault
CREATION_DISPOSITION = OPEN_EXISTING;
Transparentní šifrování dat (TDE)
Vytvořte SQL Server přihlašovací jméno, které bude používat databázový stroj pro TDE, a pak do něj přidejte přihlašovací údaje.
USE master; -- Create a SQL Server login associated with the asymmetric key -- for the Database engine to use when it loads a database -- encrypted by TDE. CREATE LOGIN EKM_Login FROM ASYMMETRIC KEY CONTOSO_KEY; GO -- Alter the TDE Login to add the credential for use by the -- Database Engine to access the key vault ALTER LOGIN EKM_Login ADD CREDENTIAL Azure_EKM_cred; GOVytvořte šifrovací klíč databáze, který se bude používat pro TDE.
USE ContosoDatabase; GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER ASYMMETRIC KEY CONTOSO_KEY; GO -- Alter the database to enable transparent data encryption. ALTER DATABASE ContosoDatabase SET ENCRYPTION ON; GO
Šifrovaná zálohování
Vytvořte SQL Server přihlašovací jméno, které má databázový stroj použít k šifrování záloh, a přidejte do něj přihlašovací údaje.
USE master; -- Create a SQL Server login associated with the asymmetric key -- for the Database engine to use when it is encrypting the backup. CREATE LOGIN EKM_Login FROM ASYMMETRIC KEY CONTOSO_KEY; GO -- Alter the Encrypted Backup Login to add the credential for use by -- the Database Engine to access the key vault ALTER LOGIN EKM_Login ADD CREDENTIAL Azure_EKM_cred ; GOZálohuje databázi, která určuje šifrování, s asymetrickým klíčem uloženým v trezoru klíčů.
USE master; BACKUP DATABASE [DATABASE_TO_BACKUP] TO DISK = N'[PATH TO BACKUP FILE]' WITH FORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, ENCRYPTION(ALGORITHM = AES_256, SERVER ASYMMETRIC KEY = [CONTOSO_KEY]); GO
Šifrování na úrovni sloupce (CLE)
Tento skript vytvoří symetrický klíč chráněný pomocí asymetrického klíče v trezoru klíčů a potom použije symetrický klíč k šifrování dat v databázi.
CREATE SYMMETRIC KEY DATA_ENCRYPTION_KEY
WITH ALGORITHM=AES_256
ENCRYPTION BY ASYMMETRIC KEY CONTOSO_KEY;
DECLARE @DATA VARBINARY(MAX);
--Open the symmetric key for use in this session
OPEN SYMMETRIC KEY DATA_ENCRYPTION_KEY
DECRYPTION BY ASYMMETRIC KEY CONTOSO_KEY;
--Encrypt syntax
SELECT @DATA = ENCRYPTBYKEY(KEY_GUID('DATA_ENCRYPTION_KEY'), CONVERT(VARBINARY,'Plain text data to encrypt'));
-- Decrypt syntax
SELECT CONVERT(VARCHAR, DECRYPTBYKEY(@DATA));
--Close the symmetric key
CLOSE SYMMETRIC KEY DATA_ENCRYPTION_KEY;
Další zdroje informací
Další informace o tom, jak tyto funkce šifrování používat, najdete v tématu použití funkce EKM s SQL Server funkcemi šifrování.
Všimněte si, že kroky v tomto článku předpokládají, že už máte SQL Server spuštěnou na virtuálním počítači Azure. Pokud ne, přečtěte si téma zřízení virtuálního počítače s SQL Server v Azure. Další pokyny týkající se spuštění SQL Server na virtuálních počítačích Azure najdete v tématu SQL Server na azure Virtual Machines přehled.