Bagikan melalui


New-SqlColumnMasterKeySettings

Membuat objek SqlColumnMasterKeySettings yang menjelaskan kunci master yang disimpan dalam penyedia dan jalur penyimpanan kunci yang ditentukan secara sembarangan.

Sintaks

New-SqlColumnMasterKeySettings
   [-KeyStoreProviderName] <String>
   [-KeyPath] <String>
   [[-Signature] <String>]
   [-KeyVaultAccessToken <String>]
   [-ManagedHsmAccessToken <String>]
   [-AllowEnclaveComputations]
   [-ProgressAction <ActionPreference>]
   [<CommonParameters>]

Deskripsi

cmdlet New-SqlColumnMasterKeySettings membuat SqlColumnMasterKeySettings objek dalam memori yang menyimpan properti kunci master kolom untuk Always Encrypted: KeyStoreProviderName, KeyPath, AllowEnclaveComputations, dan Signature. Cmdlet ini dapat digunakan untuk penyedia penyimpanan kunci kustom dan ketika nama penyedia penyimpanan kunci dan jalur kunci yang sepenuhnya diformat diketahui.

Cmdlet dapat berkomunikasi dengan penyimpanan kunci yang memegang kunci master kolom untuk menghasilkan tanda tangan properti metadata kunci. Jika kunci disimpan di Azure, Anda perlu menentukan token autentikasi yang valid untuk brankas kunci atau HSM terkelola yang memegang kunci. Atau, Anda dapat mengautentikasi ke Azure dengan Add-SqlAzureAuthenticationContext sebelum memanggil cmdlet ini.

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

Contoh

Contoh 1: Buat pengaturan untuk kunci master kolom yang ada di Azure Key Vault dan tidak diaktifkan dengan enklaved.

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'

Contoh 2: Menghasilkan pengaturan untuk kunci master kolom yang ada di penyedia kustom

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'CUSTOM_PROVIDER' -KeyPath '\\SecureNetworkShare\Keys\AlwaysEncrypted.key'

Contoh 3: Menghasilkan pengaturan untuk kunci master kolom yang ada di Azure Key Vault, memungkinkan komputasi enklave dan ditandatangani menggunakan tanda tangan yang disediakan.

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature '0x19BEB4F27F582FDBBD0C7E5F92CF161D79D5E7F5A5183F9C8E710252E7028A3654FBEAF834EE45925024F1A32BD3C6D7D92B46E38690830E20E0777607B073E6665EB05E39263C02557D1208ACECB2251A108D0DEFC25232B67FD223C590258C817292FAFCE2388507812D64A0AEC9E546B0B8E4B2F3EA436053CB158F3CF478C5F5EDA511D0F752F60C3B129BF21356A93368FCC7FD6FAA8DB4E919EB551F375181CA3F4D0404A811C99BD2C8D10C0003AC12B138371F2D76611768B4E84D44116C42F00D679B36D41FBD9467B58291B1F4348C7B422793DA0614EF980CA0A7F42B6D627AFA5A753F0869D2C2F9B0FD38289D5433CE9266C6F867334654BE12'

Contoh 4: Menghasilkan pengaturan untuk kunci master kolom yang ada di Azure Key Vault, memungkinkan komputasi enklave dan ditandatangani secara otomatis.

# Connect to Azure account.
Import-Module Az.Accounts -MinimumVersion 2.2.0
Connect-AzAccount

# 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 a key vault in Azure Key Vault to sign the column master key properties.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -KeyVaultAccessToken $keyVaultAccessToken

Parameter

-AllowEnclaveComputations

Menentukan apakah kunci master kolom memungkinkan komputasi enklave. Jika parameter ditentukan, enklave aman sisi server akan diizinkan untuk melakukan komputasi pada data yang dilindungi dengan kunci master kolom. Tidak valid untuk SQL Server 2017 dan versi yang lebih lama.

Jenis:SwitchParameter
Position:2
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-KeyPath

Menentukan jalur dalam penyimpanan kunci kunci master fisik.

Jenis:String
Position:1
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-KeyStoreProviderName

Menentukan nama penyedia penyimpanan kunci yang digunakan untuk melindungi kunci master fisik.

Jenis:String
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-KeyVaultAccessToken

Menentukan token akses untuk brankas kunci di Azure Key Vault. Gunakan parameter ini jika kunci master kolom yang ditentukan disimpan dalam brankas kunci di Azure Key Vault dan cmdlet diharapkan untuk menandatangani metadata kunci.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ManagedHsmAccessToken

Menentukan token akses untuk HSM terkelola di Azure Key Vault. Gunakan parameter ini jika kunci master kolom yang ditentukan disimpan di HSM terkelola di Azure Key Vault dan cmdlet diharapkan untuk menandatangani metadata kunci.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ProgressAction

Menentukan bagaimana PowerShell merespons pembaruan kemajuan yang dihasilkan oleh skrip, cmdlet, atau penyedia, seperti bilah kemajuan yang dihasilkan oleh cmdlet Write-Progress. cmdlet Write-Progress membuat bilah kemajuan yang memperlihatkan status perintah.

Jenis:ActionPreference
Alias:proga
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Signature

Menentukan string heksadesimal yang merupakan tanda tangan digital properti kunci master kolom. Driver klien dapat memverifikasi tanda tangan untuk memastikan properti kunci master kolom belum dirusak. Parameter ini diperbolehkan hanya jika AllowEnclaveComputations ditentukan. Jika AllowEnclaveComputations ditentukan, tetapi Signature tidak, cmdlet secara otomatis menghitung tanda tangan dan mengisi properti Tanda Tangan dari objek SqlColumnMasterKeySettings baru.

Jenis:String
Position:3
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False