次の方法で共有


Azure SQL Database を使用した Transparent Data Encryption

Azure SQL Database の透過的なデータ暗号化 (プレビュー) は、アプリケーションに変更を加えることなく、データベース、関連するバックアップ、保存中のトランザクション ログ ファイルの暗号化と暗号化解除をリアルタイムで実行することで、悪意のあるアクティビティの脅威から保護するのに役立ちます。

TDE は、データベース暗号化キーと呼ばれる対称キーを使用して、データベース全体のストレージを暗号化します。 SQL Database では、データベース暗号化キーは組み込みのサーバー証明書によって保護されます。 組み込みのサーバー証明書は、SQL Database サーバーごとに一意です。 データベースが GeoDR リレーションシップにある場合、データベースはサーバーごとに異なるキーによって保護されます。 2 つのデータベースが同じサーバーに接続されている場合は、同じ組み込み証明書を共有します。 これらの証明書は、少なくとも 90 日ごとに自動的にローテーションされます。 TDE の一般的な説明については、「 Transparent Data Encryption (TDE)」を参照してください。

Azure SQL Database では、Azure Key Vault と TDE の統合はサポートされていません。 Azure 仮想マシンで実行されている SQL Server では、Key Vault の非対称キーを使用できます。 詳細については、「 例 A: Key Vault の非対称キーを使用した透過的なデータ暗号化」を参照してください

適用対象: SQL Database V12 (一部のリージョンではプレビュー)。

重要

これは現在プレビュー機能です。 データベースでの SQL Database Transparent Data Encryption の実装には、使用許諾契約書 (Enterprise Agreement、Microsoft Azure Agreement、Microsoft Online Subscription Agreement など) のプレビュー条項と、Microsoft Azure プレビューに適用される 追加使用条件が適用されることに同意します。

TDE の状態のプレビューは、SQL Database のバージョン ファミリ V12 が現在一般提供状態であると発表されている地理的リージョンのサブセットでも適用されます。 TDE for SQL Database は、Microsoft が TDE がプレビューから GA に昇格することを発表するまで、実稼働データベースでの使用を意図していません。 SQL Database V12 の詳細については、「 Azure SQL Database の新機能」を参照してください。

権限

プレビューにサインアップし、Azure portal、REST API、または PowerShell を使用して TDE を構成するには、Azure 所有者、共同作成者、または SQL Security Manager として接続する必要があります。

Transact-SQL を使用して TDE を構成するには、次のものが必要です。

  • TDE プレビューに既にサインアップしている必要があります。

  • データベース暗号化キーを作成するには、SQL Database 管理者であるか、マスター データベースの dbmanager ロールのメンバーであり、データベースに対する CONTROL 権限を持っている必要があります。

  • SET オプションを指定して ALTER DATABASE ステートメントを実行するには、 dbmanager ロールのメンバーシップのみが必要です。

TDE のプレビューにサインアップし、データベースで TDE を有効にする

  1. https://portal.azure.comで Azure Portal にアクセスし、Azure 管理者または共同作成者アカウントでサインインします。

  2. 左側のバナーで、[ 参照] をクリックし、[ SQL データベース] をクリックします。

  3. 左側のウィンドウで SQL データベース が選択されている状態で、ユーザー データベースをクリックします。

  4. データベース ブレードで、[ すべての設定] をクリックします。

  5. [設定] ブレードで、[Transparent Data Encryption (プレビュー)] パーツをクリックして [Transparent Data Encryption PREVIEW] ブレードを開きます。 まだ TDE プレビューにサインアップしていない場合、サインアップが完了するまでデータ暗号化設定は無効になります。

  6. [ プレビュー条項] をクリックします。

  7. プレビューの条件を読み、条件に同意する場合は、[ Transparent Data encryptionPreview terms ] チェック ボックスをオンにして、ページの下部にある [ OK] をクリックします[Data encryptionPREVIEW] ブレードに戻り、[データ暗号化] ボタンを有効にする必要があります。

  8. [ データ暗号化プレビュー ] ブレードで、[ データ暗号化 ] ボタンを [オン] に移動し、ページの上部にある [ 保存 ] をクリックして設定を適用します。 暗号化の状態は、透過的なデータ暗号化の進行状況を概算します。

    SQLDB_TDE_TermsNewUI

    また、 VIEW DATABASE STATE 権限を持つデータベース ユーザーとして SQL Server Management Studio などのクエリ ツールを使用して SQL Database に接続することで、暗号化の進行状況を監視することもできます。 sys.dm_database_encryption_keys ビューの encryption_state 列に対してクエリ を実行 します。

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 権限を持つデータベース ユーザーは、sys.dm_database_encryption_keys ビューのencryption_state列に対してクエリを実行できます。

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 Portal を使用して TDE を無効にするには

  1. https://portal.azure.comで Azure Portal にアクセスし、Azure 管理者または共同作成者アカウントでサインインします。

  2. 左側のバナーで、[ 参照] をクリックし、[ SQL データベース] をクリックします。

  3. 左側のウィンドウで SQL データベース が選択されている状態で、ユーザー データベースをクリックします。

  4. データベース ブレードで、[ すべての設定] をクリックします。

  5. [設定] ブレードで、[Transparent Data Encryption (プレビュー)] パーツをクリックして [Transparent Data Encryption PREVIEW] ブレードを開きます。

  6. [ Transparent Data Encryption PREVIEW ] ブレードで、[ データ暗号化 ] ボタンを [オフ] に移動し、[ 保存 ] (ページの上部) をクリックして設定を適用します。 暗号化の状態は、透過的なデータ暗号化解除の進行状況を概算します。

    また、 VIEW DATABASE STATE 権限を持つデータベース ユーザーとして Management Studio などのクエリ ツールを使用して SQL Database に接続することで、復号化の進行状況を監視することもできます。 sys.dm_database_encryption_keys ビューの encryption_state 列に対してクエリ を実行します。

Transact-SQL を使用して TDE を無効にするには

  1. master データベースの dbmanager ロールの管理者またはメンバーであるログインを使用して、データベースに接続します。

  2. 次のステートメントを実行して、データベースの暗号化を解除します。

    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION OFF;
    GO
    
  3. SQL Database での暗号化の進行状況を監視するために、VIEW DATABASE STATE 権限を持つデータベース ユーザーは、sys.dm_database_encryption_keys ビューのencryption_state列に対してクエリを実行できます。

SQL Database での TDE 保護されたデータベースの操作

Azure 内の操作のためにデータベースの暗号化を解除する必要はありません。 ソース データベースまたはプライマリ データベースの TDE の設定は、ターゲットに透過的に継承されます。 これには、次の操作が含まれます。

  • geo リストア

  • Self-Service ポイントインタイム リストア

  • 削除されたデータベースを復元する

  • アクティブなGeo_Replication

  • データベース コピーの作成

.Bacpac ファイルを使用した TDE 暗号化されたデータベースの移動

Azure SQL Database ポータルまたは SQL Server インポートおよびエクスポート ウィザードでデータベースのエクスポート機能を使用して TDE で保護されたデータベースをエクスポートする場合、データベースの内容は暗号化されません。 コンテンツは、暗号化されていない .bacpac ファイルに格納されます。 新しいデータベースのインポートが完了したら、.bacpac ファイルを適切に保護し、TDE を有効にしてください。

EKM を使用して TDE を有効にする

こちらもご覧ください

Transparent Data Encryption (透明データ暗号化, TDE)CREATE CREDENTIAL (資格情報を作成する,Transact-SQL)CREATE ASYMMETRIC KEY (非対称キーを作成する,Transact-SQL)CREATE DATABASE ENCRYPTION KEY (データベース暗号化キーを作成する,Transact-SQL)ALTER DATABASE (データベースを変更する,Transact-SQL)ALTER DATABASE SET Options (データベース設定オプションを変更する,Transact-SQL)