New-SqlColumnMasterKeySettings

임의로 지정된 키 저장소 공급자 및 경로에 저장된 master 키를 설명하는 SqlColumnMasterKeySettings 개체를 만듭니다.

Syntax

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

Description

New-SqlColumnMasterKeySettings cmdlet은 Always Encrypted 대한 열 master 키의 속성을 저장하는 SqlColumnMasterKeySettings 메모리 내 개체를 만듭니다. KeyStoreProviderName, KeyPath, AllowEnclaveComputations 및 Signature. 이 cmdlet은 사용자 지정 키 저장소 공급자 및 키 저장소 공급자 이름과 완전히 형식이 지정된 키 경로가 모두 알려진 경우에 사용할 수 있습니다.

cmdlet은 키 메타데이터 속성의 서명을 생성하기 위해 열 master 키를 포함하는 키 저장소와 통신할 수 있습니다. 키가 Azure에 저장된 경우 키 자격 증명 모음에 대한 유효한 인증 토큰 또는 키를 보유하는 관리형 HSM을 지정해야 합니다. 또는 이 cmdlet을 호출하기 전에 Add-SqlAzureAuthenticationContext 사용하여 Azure에 인증할 수 있습니다.

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

예제

예제 1: Azure Key Vault 있고 enclave를 사용하도록 설정되지 않은 열 master 키에 대한 설정을 생성합니다.

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

예제 2: 사용자 지정 공급자에 있는 열 master 키에 대한 설정 생성

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

예제 3: Azure Key Vault 열 master 키에 대한 설정을 생성하고, enclave 계산을 허용하고, 제공된 서명을 사용하여 서명합니다.

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

예제 4: Azure Key Vault 열 master 키에 대한 설정을 생성하고 enclave 계산을 허용하며 자동 서명됩니다.

# 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

매개 변수

-AllowEnclaveComputations

열 master 키가 enclave 계산을 허용하는지 여부를 지정합니다. 매개 변수가 지정된 경우 서버 쪽 보안 enclave는 열 master 키로 보호된 데이터에 대해 계산을 수행할 수 있습니다. SQL Server 2017 및 이전 버전에는 유효하지 않습니다.

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

-KeyPath

물리적 master 키의 키 저장소 내 경로를 지정합니다.

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

-KeyStoreProviderName

물리적 master 키를 보호하는 데 사용되는 키 저장소의 공급자 이름을 지정합니다.

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

-KeyVaultAccessToken

Azure Key Vault 키 자격 증명 모음에 대한 액세스 토큰을 지정합니다. 지정된 열 master 키가 Azure Key Vault 키 자격 증명 모음에 저장되고 cmdlet이 키 메타데이터에 서명해야 하는 경우 이 매개 변수를 사용합니다.

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

-ManagedHsmAccessToken

Azure Key Vault 관리형 HSM에 대한 액세스 토큰을 지정합니다. 지정된 열 master 키가 Azure Key Vault 관리되는 HSM에 저장되고 cmdlet이 키 메타데이터에 서명해야 하는 경우 이 매개 변수를 사용합니다.

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

-Signature

열 master 키 속성의 디지털 서명인 16진수 문자열을 지정합니다. 클라이언트 드라이버는 서명을 확인하여 열 master 키 속성이 변조되지 않았는지 확인할 수 있습니다. 이 매개 변수는 AllowEnclaveComputations 가 지정된 경우에만 허용됩니다. AllowEnclaveComputations가 지정되었지만 Signature이 아닌 경우 cmdlet은 서명을 자동으로 계산하고 새 SqlColumnMasterKeySettings 개체의 Signature 속성을 채웁니다.

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