New-SqlAzureKeyVaultColumnMasterKeySettings

Crea un oggetto SqlColumnMasterKeySettings che descrive una chiave asimmetrica archiviata nell'insieme di credenziali delle chiavi di Azure.

Sintassi

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

Descrizione

Crea un oggetto SqlColumnMasterKeySettings che descrive una chiave master della colonna archiviata in un insieme di credenziali delle chiavi o in un modulo di protezione hardware gestito in Azure Key Vault.

Se si usa il cmdlet per firmare i metadati della chiave, è necessario specificare un token di autenticazione valido per gli insiemi di credenziali delle chiavi o i moduli di protezione hardware gestiti. 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: Creare un semplice oggetto SqlColumnMasterKeySettings

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

Questo comando crea un oggetto SqlColumnMasterKeySettings che fa riferimento a una chiave in Azure Key Vault e archivia il risultato nella variabile denominata $CMKSettings

Esempio 2: Creare un oggetto SqlColumnMasterKeySettings con proprietà firmate automaticamente che consentono i calcoli dell'enclave

# 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

Questo comando crea un oggetto SqlColumnMasterKeySettings che fa riferimento a una chiave in un insieme di credenziali delle chiavi e archivia il risultato nella variabile denominata $cmkSettings. La chiave consente i calcoli dell'enclave. Poiché il parametro della firma non è specificato, il cmdlet calcola automaticamente la firma e popola la proprietà Signature dell'oggetto SqlColumnMasterKeySettings.

Questo esempio illustra come ottenere un token di autenticazione per gli insiemi di credenziali delle chiavi in Azure Key Vault e passarlo al cmdlet .

Esempio 3: Creare un oggetto SqlColumnMasterKeySettings che consenta i calcoli dell'enclave

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

Questo comando crea un oggetto SqlColumnMasterKeySettings che fa riferimento a una chiave in un insieme di credenziali delle chiavi e archivia il risultato nella variabile denominata $cmkSettings. La chiave consente i calcoli dell'enclave. La firma delle proprietà chiave viene specificata nel parametro Signature .

Parametri

-AllowEnclaveComputations

Specifica se la chiave master della colonna consente i calcoli dell'enclave. Se si specifica il parametro , le enclave sicure lato server potranno eseguire calcoli sui dati protetti con la chiave master della colonna. Non valido per SQL Server 2017 e versioni precedenti.

Type:SwitchParameter
Position:1
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyUrl

Specifica il collegamento, come URL, della chiave in Azure Key Vault o un modulo di protezione hardware gestito.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 allowEnclaveComputations è specificato, ma Signature non è , il cmdlet calcola automaticamente la firma e popola la proprietà Signature del nuovo oggetto SqlColumnMasterKeySettings .

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Output

SqlColumnMasterKeySettings