New-SqlAzureKeyVaultColumnMasterKeySettings

Azure Key Vault に格納されている非対称キーを記述する SqlColumnMasterKeySettings オブジェクトを作成します。

構文

New-SqlAzureKeyVaultColumnMasterKeySettings
   [-KeyUrl] <String>
   [[-Signature] <String>]
   [-KeyVaultAccessToken <String>]
   [-ManagedHsmAccessToken <String>]
   [-AllowEnclaveComputations]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]

説明

キー コンテナーまたは Azure Key Vault のマネージド HSM に格納されている列マスター キーを記述する SqlColumnMasterKeySettings オブジェクトを作成します。

コマンドレットを使用してキー メタデータに署名する場合は、キー コンテナーまたはマネージド HSM の有効な認証トークンを指定する必要があります。 または、このコマンドレットを呼び出す前に、Add-SqlAzureAuthenticationContext を使用して Azure に対する認証を行うことができます。

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

例 1: 単純な SqlColumnMasterKeySettings オブジェクトを作成する

$CMKSettings = New-SqlAzureKeyVaultColumnMasterKeySettings -KeyUrl 'https://myvault.vault.contoso.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'

このコマンドは、Azure Key Vault 内のキーを参照し、その結果を $CMKSettings という名前の変数に格納する、SqlColumnMasterKeySettings オブジェクトを作成します。

例 2: エンクレーブ計算を可能にする自動署名プロパティを使用して SqlColumnMasterKeySettings を作成する

# Obtain an access token for key vaults.
$keyVaultAccessToken = (Get-AzAccessToken -ResourceUrl https://vault.azure.net).Token

# Pass the token to the cmdlet. It will use the token to communicate with the key vault containing the column master key to sign the column master key metadata properties.
$cmkSettings = New-SqlAzureKeyVaultColumnMasterKeySettings -KeyUrl 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -keyVaultAccessToken $keyVaultAccessToken

このコマンドは、キー コンテナー内のキーを参照し、結果を $cmkSettings という名前の変数に格納する SqlColumnMasterKeySettings オブジェクトを作成します。 キーを使用すると、エンクレーブ計算が可能になります。 シグネチャ パラメーターが指定されていないため、コマンドレットは自動的に署名を計算し、SqlColumnMasterKeySettings オブジェクトの Signature プロパティを設定します。

この例では、Azure Key Vault 内のキー コンテナーの認証トークンを取得し、コマンドレットに渡す方法を示します。

例 3: エンクレーブ計算を許可する SqlColumnMasterKeySettings オブジェクトを作成する

# Note: actual signature truncated for brevity
$signature = "0x19BEB4F27F582F...89D5433CE9266C6F867334654BE12"
$cmkSettings = New-SqlAzureKeyVaultColumnMasterKeySettings -KeyUrl 'https://myvault.vault.contoso.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature $signature

このコマンドは、キー コンテナー内のキーを参照し、結果を $cmkSettings という名前の変数に格納する SqlColumnMasterKeySettings オブジェクトを作成します。 キーを使用すると、エンクレーブ計算が可能になります。 キー プロパティのシグネチャは、Signature パラメーターで指定します。

パラメーター

-AllowEnclaveComputations

列マスター キーでエンクレーブ計算を許可するかどうかを指定します。 パラメーターが指定されている場合、サーバー側のセキュリティで保護されたエンクレーブは、列マスター キーで保護されたデータに対して計算を実行できます。 SQL Server 2017 以前のバージョンでは無効です。

型:SwitchParameter
配置:1
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-KeyUrl

Azure Key Vault またはマネージド HSM のキーのリンクを URL として指定します。

型:String
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-KeyVaultAccessToken

Azure Key Vault 内のキー コンテナーのアクセス トークンを指定します。 指定した列マスター キーが Azure Key Vault のキー コンテナーに格納されていて、コマンドレットがキー メタデータに署名することが予想される場合は、このパラメーターを使用します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ManagedHsmAccessToken

Azure Key Vault 内のマネージド HSM のアクセス トークンを指定します。 指定した列マスター キーが Azure Key Vault のマネージド HSM に格納され、コマンドレットがキー メタデータに署名することが予想される場合は、このパラメーターを使用します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ProgressAction

スクリプト、コマンドレット、またはプロバイダーによって生成された進行状況の更新 (Write-Progress コマンドレットによって生成された進行状況バーなど) に対する PowerShell の応答方法を決定します。 Write-Progress コマンドレットは、コマンドの状態を示す進行状況バーを作成します。

型:ActionPreference
Aliases:proga
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Signature

列マスター キー プロパティのデジタル署名である 16 進文字列を指定します。 クライアント ドライバーは、署名を確認して、列マスター キーのプロパティが改ざんされていないことを確認できます。

このパラメーターは、AllowEnclaveComputations 指定されている場合にのみ使用できます。 AllowEnclaveComputations 指定されているが、Signature が指定されていない場合、コマンドレットは自動的に署名を計算し、新しい SqlColumnMasterKeySettings オブジェクトの Signature プロパティを設定します。

型:String
配置:2
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

出力

SqlColumnMasterKeySettings