共用方式為


Azure SQL Database 的透明資料加密

Azure SQL 資料庫透明資料加密 (預覽) 藉由對應用程式執行即時加密和解密資料庫、相關聯的備份和交易記錄檔,協助防範惡意活動的威脅。

TDE 會使用稱為資料庫加密金鑰的對稱金鑰來加密整個資料庫的儲存體。 在 SQL Database 中,資料庫加密金鑰是由內建伺服器憑證保護。 內建伺服器憑證對每個 SQL Database 伺服器都是唯一的。 若資料庫具有 GeoDR 關聯性,則由每部伺服器上不同的金鑰保護。 如有 2 個資料庫同時連線到同一部伺服器,則這兩個資料庫會共用同一個內建憑證。 Microsoft 會每隔 90 天自動輪換這些憑證。 如需 TDE 的一般描述,請參閱透明資料加密 (TDE)

Azure SQL 資料庫不支援 Azure 金鑰保存庫與 TDE 的整合。 SQL Server在 Azure 虛擬機器上執行,可以使用來自金鑰保存庫的非對稱金鑰。 如需詳細資訊,請參閱< Example A: Transparent Data Encryption by Using an Asymmetric Key from the Key Vault>。

適用于:某些區域中的 SQL Database V12 (Preview) 。

重要

目前是預覽功能。 我確認並同意在資料庫中實作SQL Database透明資料加密 () 受限於授權合約中的預覽條款 (例如Enterprise 合約、Microsoft Azure 合約或 Microsoft 線上訂閱合約) ,以及任何適用的Microsoft Azure 預覽版補充使用條款

即使版本系列 V12 SQL Database的版本系列 V12 已宣告為正式運作狀態,TDE 的狀態預覽仍適用。 除非 Microsoft 宣佈 TDE 從預覽升級為 GA,否則 tDE for SQL Database 不適用於生產資料庫。 如需 SQL Database V12 的詳細資訊,請參閱Azure SQL 資料庫中的新功能

權限

若要註冊預覽版,並透過 Azure 入口網站利用 REST API 或 PowerShell 設定 TDE,您必須以 Azure 擁有者、參與者或 SQL 安全性管理員的身分連線。

若要使用 Transact-SQL 設定 TDE,需要下列各項:

  • 您必須已經註冊 TDE 預覽版。

  • 若要建立資料庫加密金鑰,您必須是SQL Database系統管理員,或者必須是 master 資料庫中dbmanager角色的成員,而且具有資料庫的CONTROL許可權。

  • 若要執行 ALTER DATABASE 陳述式與 SET 選項,便只需要具備 dbmanager 角色的成員資格。

註冊 TDE 預覽版及啟用資料庫的 TDE

  1. 請造訪 Azure 入口網站, https://portal.azure.com 並使用您的 Azure 系統管理員或參與者帳戶登入。

  2. 在左邊的橫幅中,按一下以瀏覽,然後按一下 [SQL 資料庫]。

  3. 利用左窗格中選取的 [SQL 資料庫],按一下您的使用者資料庫。

  4. 在資料庫刀鋒視窗中,按一下 [所有設定]

  5. 在 [設定] 刀鋒視窗中,按一下 [透明資料加密 (預覽版)] 部分,以開啟 [透明資料加密 (預覽版)] 刀鋒視窗。 若還未註冊 TDE 預覽版,資料加密設定將會停用,直到您完成註冊為止。

  6. 按一下 [預覽條款]

  7. 閱讀預覽條款,如果您同意條款,請選取 [透明資料加密][預覽條款 ] 核取方塊,然後按一下頁面底部附近的 [ 確定 ]。 返回 [資料加密][預覽 ] 刀鋒視窗,此時應該啟用 [資料加密 ] 按鈕。

  8. 在 [資料加密預覽] 刀鋒視窗中,將 [資料加密] 按鈕移至 [開啟] ,然後按一下 [儲存] (位於頁面頂端),以套用此設定。 [加密狀態] 會顯示透明資料加密的概略進度。

    SQLDB_TDE_TermsNewUI

    您也可以使用具有VIEW DATABASE STATE許可權的資料庫使用者SQL Server Management Studio之類的查詢工具來連線到SQL Database,以監視加密進度。 encryption_state查詢sys.dm_database_encryption_keys檢視的資料

使用 TRANSACT-SQL 啟用 SQL Database 的 TDE

下列步驟中假設您已經註冊預覽版。

  1. 使用 master 資料庫中之 dbmanager 角色的系統管理員或成員身分的登入,連接到資料庫。

  2. 執行下列陳述式,以建立資料庫加密金鑰及加密資料庫。

    -- Create the database encryption key that will be used for TDE.
    CREATE DATABASE ENCRYPTION KEY 
    WITH ALGORITHM = AES_256 
    ENCRYPTION BY SERVER CERTIFICATE ##MS_TdeCertificate##;
    
    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION ON;
    GO
    
  3. 若要監視SQL Database加密進度,具有VIEW DATABASE STATE許可權的資料庫使用者可以查詢 encryption_state檢視sys.dm_database_encryption_keys資料行。

使用 PowerShell 啟用 SQL Database 的 TDE

您可以使用 Azure PowerShell,執行下列命令開啟/關閉 TDE。 您必須將您的帳戶連接到 PS 視窗,才能執行此命令。 下列步驟中假設您已經註冊預覽版。 如需 PowerShell 的其他相關資訊,請參閱 如何安裝及設定 Azure PowerShell

  1. 啟用 TDE、傳回 TDE 狀態及檢視加密活動。

    Switch-AzureMode -Name AzureResourceManager
    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Enabled"
    
    Get-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    Get-AzureSqlDatabaseTransparentDataEncryptionActivity -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    
  2. 若要停用 TDE:

    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Disabled"
    Switch-AzureMode -Name AzureServiceManagement
    

解密 SQL Database 上受 TDE 保護的資料庫

使用 Azure 入口網站停用 TDE

  1. 請造訪 Azure 入口網站, https://portal.azure.com 並使用您的 Azure 系統管理員或參與者帳戶登入。

  2. 在左邊的橫幅中,按一下以瀏覽,然後按一下 [SQL 資料庫]。

  3. 利用左窗格中選取的 [SQL 資料庫],按一下您的使用者資料庫。

  4. 在資料庫刀鋒視窗中,按一下 [所有設定]

  5. 在 [設定] 刀鋒視窗中,按一下 [透明資料加密 (預覽版)] 部分,以開啟 [透明資料加密 (預覽版)] 刀鋒視窗。

  6. 在 [透明資料加密預覽] 刀鋒視窗中,將 [資料加密] 按鈕移至 [關閉] ,然後按一下 [儲存] (位於頁面頂端),以套用此設定。 [加密狀態] 會顯示透明資料解密的概略進度。

    您也可以使用 Management Studio 之類的查詢工具,搭配VIEW DATABASE STATE許可權,以監視 SQL Database解密的進度。 encryption_state查詢sys.dm_database_encryption_keys檢視的資料行。

使用 TRANSACT-SQL 停用 TDE

  1. 使用 master 資料庫中之 dbmanager 角色的系統管理員或成員身分的登入,連接到資料庫。

  2. 執行下列陳述式,以解密資料庫。

    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION OFF;
    GO
    
  3. 若要監視SQL Database加密進度,具有VIEW DATABASE STATE許可權的資料庫使用者可以查詢 encryption_state檢視sys.dm_database_encryption_keys資料行。

使用 SQL Database 上受 TDE 保護的資料庫

您無須解密資料庫,即可在 Azure 執行作業。 目標會自動繼承來源資料庫或主要資料庫的 TDE 設定。 這包括下列作業:

  • 異地複原

  • 自助時間點還原

  • 還原已刪除的資料庫

  • 使用中的異地複寫

  • 建立資料庫複本

使用 .Bacpac 檔案移動受 TDE 保護的資料庫

使用 Azure SQL 資料庫入口網站中的 [匯出資料庫] 函數或 SQL Server [匯入和匯出精靈] 匯出受 TDE 保護的資料庫時,不會加密資料庫的內容。 該內容會儲存在未加密的 .bacpac 檔案中。 請務必為 .bacpac 檔案施以適當的保護措施,並在匯入新資料庫作業完成時,立即啟用 TDE。

使用 EKM 啟用 TDE

另請參閱

透明資料加密 (TDE) CREATE CREDENTIAL (Transact-SQL) CREATE ASYMMETRIC KEY (Transact-SQL) CREATE DATABASE ENCRYPTION KEY (Transact-SQL) ALTER DATABASE (Transact-SQL) ALTER DATABASE SET 選項 (Transact-SQL)