New-SqlColumnMasterKeySettings
Crea un oggetto SqlColumnMasterKeySettings che descrive una chiave master archiviata in un provider e un percorso dell'archivio chiavi specificati in modo arbitrario.
Sintassi
New-SqlColumnMasterKeySettings
[-KeyStoreProviderName] <String>
[-KeyPath] <String>
[[-Signature] <String>]
[-KeyVaultAccessToken <String>]
[-ManagedHsmAccessToken <String>]
[-AllowEnclaveComputations]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Descrizione
Il cmdlet New-SqlColumnMasterKeySettings crea un SqlColumnMasterKeySettings oggetto in memoria che archivia le proprietà di una chiave master della colonna per Always Encrypted: KeyStoreProviderName, KeyPath, AllowEnclaveComputations e Signature. Questo cmdlet può essere usato per i provider di archivi chiavi personalizzati e quando sono noti sia il nome del provider dell'archivio chiavi che un percorso di chiave completamente formattato.
Il cmdlet può comunicare con un archivio chiavi contenente la chiave master della colonna per generare una firma delle proprietà dei metadati della chiave. Se la chiave viene archiviata in Azure, è necessario specificare un token di autenticazione valido per un insieme di credenziali delle chiavi o un modulo di protezione hardware gestito che contiene la chiave. In alternativa, è possibile eseguire l'autenticazione in Azure con Add-SqlAzureAuthenticationContext prima di chiamare questo cmdlet.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Esempio
Esempio 1: Generare impostazioni per una chiave master della colonna che si trova in Azure Key Vault e non è abilitata per l'enclave.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'
Esempio 2: Generare impostazioni per una chiave master della colonna che si trova in un provider personalizzato
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'CUSTOM_PROVIDER' -KeyPath '\\SecureNetworkShare\Keys\AlwaysEncrypted.key'
Esempio 3: Generare impostazioni per una chiave master della colonna che si trova in Azure Key Vault, consente i calcoli dell'enclave e viene firmata usando la firma fornita.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature '0x19BEB4F27F582FDBBD0C7E5F92CF161D79D5E7F5A5183F9C8E710252E7028A3654FBEAF834EE45925024F1A32BD3C6D7D92B46E38690830E20E0777607B073E6665EB05E39263C02557D1208ACECB2251A108D0DEFC25232B67FD223C590258C817292FAFCE2388507812D64A0AEC9E546B0B8E4B2F3EA436053CB158F3CF478C5F5EDA511D0F752F60C3B129BF21356A93368FCC7FD6FAA8DB4E919EB551F375181CA3F4D0404A811C99BD2C8D10C0003AC12B138371F2D76611768B4E84D44116C42F00D679B36D41FBD9467B58291B1F4348C7B422793DA0614EF980CA0A7F42B6D627AFA5A753F0869D2C2F9B0FD38289D5433CE9266C6F867334654BE12'
Esempio 4: Generare impostazioni per una chiave master della colonna che si trova in Azure Key Vault, consente i calcoli dell'enclave e viene firmato automaticamente.
# 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
Parametri
-AllowEnclaveComputations
Specifica se la chiave master della colonna consente i calcoli dell'enclave. Se si specifica il parametro , le enclave sicure sul lato server potranno eseguire calcoli sui dati protetti con la chiave master della colonna. Non valido per SQL Server 2017 e versioni precedenti.
Tipo: | SwitchParameter |
Posizione: | 2 |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-KeyPath
Specifica il percorso all'interno dell'archivio chiavi della chiave master fisica.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-KeyStoreProviderName
Specifica il nome del provider dell'archivio chiavi usato per proteggere la chiave master fisica.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-KeyVaultAccessToken
Specifica un token di accesso per gli insiemi di credenziali delle chiavi in Azure Key Vault. Usare questo parametro se la chiave master della colonna specificata viene archiviata in un insieme di credenziali delle chiavi in Azure Key Vault e il cmdlet deve firmare i metadati della chiave.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ManagedHsmAccessToken
Specifica un token di accesso per i moduli di protezione hardware gestiti in Azure Key Vault. Usare questo parametro se la chiave master della colonna specificata viene archiviata in un modulo di protezione hardware gestito in Azure Key Vault e il cmdlet deve firmare i metadati della chiave.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ProgressAction
Determina in che modo PowerShell risponde agli aggiornamenti dello stato generati da uno script, un cmdlet o un provider, ad esempio le barre di stato generate dal cmdlet Write-Progress. Il cmdlet Write-Progress crea barre di stato che mostrano lo stato di un comando.
Tipo: | ActionPreference |
Alias: | proga |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Signature
Specifica una stringa esadecimale che rappresenta una firma digitale delle proprietà della chiave master della colonna. Un driver client può verificare la firma per assicurarsi che le proprietà della chiave master della colonna non siano state manomesse. Questo parametro è consentito solo se viene specificato AllowEnclaveComputations. Se viene specificato AllowEnclaveComputations, ma Signature non è , il cmdlet calcola automaticamente la firma e popola la proprietà Signature del nuovo oggetto SqlColumnMasterKeySettings.
Tipo: | String |
Posizione: | 3 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |