共用方式為


New-SqlAzureKeyVaultColumnMasterKeySettings

建立 SqlColumnMasterKeySettings 物件,描述儲存在 Azure 金鑰保存庫中的非對稱金鑰。

語法

Default (預設值)

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

Description

建立 SqlColumnMasterKeySettings 物件,描述儲存在密鑰保存庫或 Azure Key Vault 中受控 HSM 中的數據行主要密鑰。

如果您使用 Cmdlet 簽署金鑰元資料,您必須為金鑰保存庫或受控 HSM 指定有效的驗證權杖。 或者,您可以在呼叫此 Cmdlet 之前,先使用 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'

此命令會建立 SqlColumnMasterKeySettings 物件,該對象會參考 Azure Key Vault 中的密鑰,並將結果儲存在名為 $CMKSettings 的變數

範例 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

此命令會建立 SqlColumnMasterKeySettings 物件,該物件會參考密鑰保存庫中的密鑰,並將結果儲存在名為 $cmkSettings 的變數中。 金鑰允許記憶體保護區計算。 由於未指定 signature 參數,Cmdlet 會自動計算簽章,並填入 SqlColumnMasterKeySettings 物件的 Signature 屬性。

此範例說明如何取得 Azure Key Vault 中密鑰保存庫的驗證令牌,並將它傳遞至 Cmdlet。

範例 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

此命令會建立 SqlColumnMasterKeySettings 物件,該物件會參考密鑰保存庫中的密鑰,並將結果儲存在名為 $cmkSettings 的變數中。 金鑰允許記憶體保護區計算。 Key 屬性的簽 章是在 Signature 參數中指定。

參數

-AllowEnclaveComputations

指定資料列主要金鑰是否允許記憶體保護區計算。 如果指定 參數,則允許伺服器端安全記憶體保護區對使用數據行主要密鑰保護的數據執行計算。 不適用於 SQL Server 2017 和舊版。

參數屬性

類型:SwitchParameter
預設值:False
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:1
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-KeyUrl

將 Azure Key Vault 或受控 HSM 中的密鑰連結指定為 URL。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:0
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-KeyVaultAccessToken

指定 Azure Key Vault 中金鑰保存庫的存取令牌。 如果指定的數據行主要密鑰儲存在 Azure Key Vault 中的金鑰保存庫中,而且 Cmdlet 應該簽署金鑰元數據,請使用此參數。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ManagedHsmAccessToken

指定 Azure Key Vault 中受控 HSM 的存取令牌。 如果指定的數據行主要密鑰儲存在 Azure Key Vault 中的受控 HSM 中,而且 Cmdlet 預期會簽署金鑰元數據,請使用此參數。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Signature

指定十六進位字串,這是數據行主要密鑰屬性的數字簽名。 用戶端驅動程式可以驗證簽章,以確保數據行主要密鑰屬性尚未遭到竄改。

只有在指定 AllowEnclaveComputations 時,才允許此參數。 如果指定 AllowEnclaveComputations ,但 Signature 不是,Cmdlet 會自動計算簽章,並填入新 SqlColumnMasterKeySettings 物件的 Signature 屬性。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:2
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸出

SqlColumnMasterKeySettings