Always Encrypted ウイザードAlways Encrypted Wizard

適用対象: ○SQL Server ○Azure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Always Encrypted ウイザード を利用すれば、SQL Server データベースに保存されている機密データを保護できます。Use the Always Encrypted Wizard to help protect sensitive data stored in a SQL Server database. Always Encrypted を使用すると、クライアントは SQL Server に暗号化キーを開示することなく、クライアント アプリケーション内の機密データを暗号化することができます。Always Encrypted allows clients to encrypt sensitive data inside client applications and never reveal the encryption keys to SQL Server. 結果として、Always Encrypted は、データを所有 (および表示できる) 人とデータを管理する (ただし、アクセス権を与えない) 人を分離します。As a result, Always Encrypted provides a separation between those who own the data (and can view it) and those who manage the data (but should have no access). 機能の詳細については、「 Always Encrypted (データベース エンジン)」を参照してください。For a full description of the feature, see Always Encrypted (Database Engine).

Always Encrypted ウイザード を開くTo Open the Always Encrypted Wizard

  1. SQL ServerSQL Server のオブジェクト エクスプローラー コンポーネントで SQL Server Management StudioSQL Server Management Studioに接続します。Connect to your SQL ServerSQL Server with the Object Explorer component of SQL Server Management StudioSQL Server Management Studio.

  2. データベースを右クリックして [タスク] をポイントし、 [列の暗号化] をクリックします。Right-click your database, point to Tasks, and then click Encrypt Columns.

列の選択ページColumn Selection Page

  • テーブルと列を見つけ、選択した列の暗号化の種類 (決定性またはランダム) と暗号化鍵を選択します。Locate a table and column, and then select an encryption type (deterministic or randomized) and an encryption key for selected columns. 現在暗号化されている列の暗号化を解除するには、 [プレーン テキスト] を選択します。To decrypt an column that is currently encrypted, select Plaintext. 列の暗号化鍵を回転させるには、別の暗号化鍵を選択します。ウィザードが列の暗号化を解除し、新しい鍵で列を再び暗号化します。To rotate a column encryption key, select different encryption key and the wizard will decrypt the column and re-encrypt the column with the new key. (テンポラル テーブルとインメモリ テーブルの暗号化は SQL ServerSQL Server でサポートされていますが、このウィザードでは構成できません。)(Encrypting temporal and In-Memory tables is supported by SQL ServerSQL Server but cannot be configured by this wizard.)

マスター キーの構成ページMaster Key Configuration Page

  • Windows 証明書ストアまたは Azure Key Vault で列の新しいマスター キーを作成します。Create a new column master key in the Windows Certificate Store or Azure Key Vault. 詳細については、「キー ストレージ」以下のリンクを参照してください。For more information, see the links below under Key Storage.

  • [列の選択] ページで列の暗号化鍵の自動生成を選択した場合、列に生成された暗号化鍵を暗号化する列のマスター キーを設定する必要があります。If you chose an auto-generated column encryption key in the Column Selection page, you must configure a column master key that the generated column encryption key will be encrypted with. 列のマスター キーが既にデータベースに定義されている場合、それを選択できます。If you already have a column master key defined in your database, you can select it. (既存のマスター キーを使用するには、その鍵にアクセスするための権限が必要になります。)あるいは、選択したキー ストア (Windows 証明書ストアまたは Azure Key Vault) で列のマスター キーを生成し、そのキーをデータベースで定義できます。(To use an existing column master key, the user must have permission to access the key.) Or, you can generate a column master key in a selected key store (Windows Certificate Store or Azure Key Vault) and define the key in the database.

キー ストレージKey Storage

  • 列のマスター キーの格納場所を選択します。Choose where the column master key will be stored.

  • Azure Key Vault で列のマスター キーを生成するには、Key Vault の WrapKeyUnwrapKeyVerifySign 権限が必要になります。To generate a column master key in the Azure Key Vault, the user must have the WrapKey, UnwrapKey, Verify, and Sign permissions to the key vault. GetListCreateDeleteUpdateImportBackupRestore 権限も場合によっては必要になります。Users might also need the Get, List, Create, Delete, Update, Import, Backup, and Restore permissions. 詳しくは、「Azure Key Vault とは」および「Set-AzKeyVaultAccessPolicy」をご覧ください。For more information, see What is Azure Key Vault? and Set-AzKeyVaultAccessPolicy.

  • ウィザードでは 2 つのオプションのみがサポートされました。The wizard only supported two options. ハードウェア セキュリティ モジュールとカスタマー ストアを CREATE COLUMN MASTER KEY (Transact-SQL)Transact-SQLTransact-SQL で構成する必要があります。Hardware Security Modules and customer stores must be configured using CREATE COLUMN MASTER KEY (Transact-SQL)Transact-SQLTransact-SQL.

Always Encrypted 用語Always Encrypted Terms

  • 確定的な暗号化 は常に任意のプレーン テキストを指定した値の場合は、同じ暗号化された値を生成するメソッドを使用します。Deterministic encryption uses a method which always generates the same encrypted value for any given plain text value. 明確な暗号化では、暗号化された値に基づくグループ化、等値によるフィルター処理、テーブル結合が可能ですが、暗号化されている列のパターンを調べることて、無許可のユーザーが暗号化されている値を推測できます。Using deterministic encryption allows grouping, filtering by equality, and joining tables based on encrypted values, but can also allow unauthorized users to guess information about encrypted values by examining patterns in the encrypted column. 暗号化されている値が True/False や North/South/East/West リージョンのような小さな集合である場合は、脆弱性が上がります。This weakness is increased when there is a small set of possible encrypted values, such as True/False, or North/South/East/West region. 明確な暗号化では、バイナリ 2 文字型の列の並べ替え順序を持つ列の照合順序を使用する必要があります。Deterministic encryption must use a column collation with a binary2 sort order for character columns.

  • 暗号化をランダム化 は低い予測可能な方法でデータを暗号化するためのメソッドを使用します。Randomized encryption uses a method that encrypts data in a less predictable manner. 暗号のランダム化は安全性が上がりますが、暗号化する列で同等性による検索、グループ化、インデックス作成、結合ができなくなります。Randomized encryption is more secure, but prevents equality searches, grouping, indexing, and joining on encrypted columns.

  • 列のマスター キー は、列の暗号化鍵の暗号化に使用される保護鍵です。Column master keys are protecting keys used to encrypt column encryption keys. 列のマスター キーは信頼できる鍵の保管場所に保管する必要があります。Column master keys must be stored in a trusted key store. 場所など、列のマスター キーに関する情報はシステム カタログ ビューのデータベースに保管されます。Information about column master keys, including their location, is stored in the database in system catalog views.

  • 列の暗号化鍵 は、データベース列に保存されている機密データの暗号化に使用されます。Column encryption keys are used to encrypt sensitive data stored in database columns. 列のすべての値を 1 つの列暗号化鍵で暗号化できます。All values in a column can be encrypted using a single column encryption key. 列暗号化鍵の暗号化された値は、システム カタログ ビューでデータベースに保存されます。Encrypted values of column encryption keys are stored in the database in system catalog views. 列の暗号化キーは、バックアップとして安全で信頼できる場所に格納する必要があります。You should store column encryption keys in a secure/trusted location for backup.

参照See Also