Crea un oggetto SqlColumnMasterKeySettings che descrive una chiave master archiviata in un provider e un percorso dell'archivio chiavi specificati in modo arbitrario.
Il cmdlet New-SqlColumnMasterKeySettings crea un oggetto SqlColumnMasterKeySettings 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.
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.
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.
Proprietà dei parametri
Tipo:
SwitchParameter
Valore predefinito:
False
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
2
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-KeyPath
Specifica il percorso all'interno dell'archivio chiavi della chiave master fisica.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
1
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-KeyStoreProviderName
Specifica il nome del provider dell'archivio chiavi usato per proteggere la chiave master fisica.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
0
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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 è specificato AllowEnclaveComputations . Se si specifica AllowEnclaveComputations , ma Signature non è , il cmdlet calcola automaticamente la firma e popola la proprietà Signature del nuovo oggetto SqlColumnMasterKeySettings .
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
3
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.