Update-AzCosmosDbClientEncryptionKey
CosmosDB 클라이언트 암호화 키를 업데이트합니다. 기존 클라이언트 암호화 키를 읽어 클라이언트 쪽 패치 작업을 수행합니다.
구문
Update-AzCosmosDbClientEncryptionKey
-ResourceGroupName <String>
-AccountName <String>
-DatabaseName <String>
-Name <String>
-KeyWrapMetadata <PSSqlKeyWrapMetadata>
[-KeyEncryptionKeyResolver <IKeyEncryptionKeyResolver>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzCosmosDbClientEncryptionKey
-Name <String>
-KeyWrapMetadata <PSSqlKeyWrapMetadata>
[-KeyEncryptionKeyResolver <IKeyEncryptionKeyResolver>]
-SqlDatabaseObject <PSSqlDatabaseGetResults>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-AzCosmosDbClientEncryptionKey
-KeyWrapMetadata <PSSqlKeyWrapMetadata>
[-KeyEncryptionKeyResolver <IKeyEncryptionKeyResolver>]
-InputObject <PSSqlClientEncryptionKeyGetResults>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Update-AzCosmosDbClientEncryptionKey CosmosDb 클라이언트 암호화 키를 업데이트합니다. 기존 CosmosDB 클라이언트 암호화 키를 읽어 클라이언트 쪽 패치 작업을 수행합니다.
예제
예제 1
$updatedKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV2","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
Update-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -Name myClientEncryptionKeyName -KeyWrapMetadata $updatedKeyWrapMetadataObject
Name : myContainerName
Id : /subscriptions/mySubscriptionId/resourceGroups/myRgName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlDatabases/myDatabaseName/clientEncryptionKeys/myClientEncryptionKeyName
Resource : Microsoft.Azure.Commands.CosmosDB.Models.PSSqlClientEncryptionKeyGetPropertiesResource
이 예제에서는 키를 업데이트하는 방법을 보여줍니다. KeyEncryptionKeyResolver가 전달되지 않은 경우 Azure Key Vault KeyResolver는 기본적으로 사용됩니다. 첫 번째 명령은 키 id https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 값이 설정된 AZURE_KEY_VAULT 형식의 myKekV2 이름과 키를 암호화하는 데 사용되는 알고리즘 형식 "RSA-OAEP"를 사용하여 KeyWrapMetadata 개체를 만듭니다. 두 번째 명령에서 myClientEncryptionKeyName 변수에 설정된 이름의 키가 첫 번째 명령에서 반환된 값으로 설정된 KeyWrapMetadata로 업데이트됩니다.
예제 2
$updatedKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV2","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
$azureKeyVaultKeyResolver = [Azure.Security.KeyVault.Keys.Cryptography.KeyResolver]::new([Azure.Identity.DefaultAzureCredential]::new())
Update-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -Name myClientEncryptionKeyName -KeyWrapMetadata $updatedKeyWrapMetadataObject -KeyEncryptionKeyResolver $azureKeyVaultKeyResolver
Name : myContainerName
Id : /subscriptions/mySubscriptionId/resourceGroups/myRgName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlDatabases/myDatabaseName/clientEncryptionKeys/myClientEncryptionKeyName
Resource : Microsoft.Azure.Commands.CosmosDB.Models.PSSqlClientEncryptionKeyGetPropertiesResource
이 예제에서는 키가 업데이트되는 방법과 KeyEncryptionKeyResolver를 매개 변수로 전달하는 방법을 보여 줍니다. 첫 번째 명령은 키 id https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 값이 설정된 AZURE_KEY_VAULT 형식의 myKekV2 이름과 키를 암호화하는 데 사용되는 알고리즘 형식 "RSA-OAEP"를 사용하여 KeyWrapMetadata 개체를 만듭니다. 두 번째 명령은 Azure 기본 자격 증명을 사용하여 Azure Key Vault KeyResolver 개체를 만듭니다. 세 번째 명령에서 myClientEncryptionKeyName 변수에 설정된 이름의 키가 첫 번째 명령에서 반환된 값으로 설정된 KeyWrapMetadata와 두 번째 명령을 통해 가져온 KeyResolver 개체로 설정된 KeyEncryptionKeyResolver 값으로 업데이트됩니다.
예제 3
$updatedKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV2","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
$keyToUpdate = Get-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -ClientEncryptionKeyName myClientEncryptionKeyName
Update-AzCosmosDbClientEncryptionKey -InputObject $keyToUpdate -KeyWrapMetadata $updatedKeyWrapMetadataObject -KeyEncryptionKeyResolver $azureKeyVaultKeyResolver
Name : myContainerName
Id : /subscriptions/mySubscriptionId/resourceGroups/myRgName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlDatabases/myDatabaseName/clientEncryptionKeys/myClientEncryptionKeyName
Resource : Microsoft.Azure.Commands.CosmosDB.Models.PSSqlClientEncryptionKeyGetPropertiesResource
이 예제에서는 업데이트해야 하는 키를 읽어 가져온 InputObject를 사용하여 키를 업데이트하는 방법을 보여줍니다. 첫 번째 명령은 키 id https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 값이 설정된 AZURE_KEY_VAULT 형식의 myKekV2 이름과 키를 암호화하는 데 사용되는 알고리즘 형식 "RSA-OAEP"를 사용하여 KeyWrapMetadata 개체를 만듭니다. 두 번째 명령에서 업데이트할 키를 읽습니다. 세 번째 명령은 두 번째 명령의 앞부분에서 읽은 키를 업데이트합니다. 두 번째 명령에서 읽은 개체는 첫 번째 명령에서 가져온 업데이트된 KeyWrapMetadata와 함께 InputObject로 전달됩니다.
매개 변수
-AccountName
Cosmos DB 데이터베이스 계정의 이름입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Confirm
cmdlet을 실행하기 전에 확인 메시지를 표시합니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DatabaseName
데이터베이스 이름입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DefaultProfile
Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.
형식: | IAzureContextContainer |
별칭: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-InputObject
클라이언트 암호화 키 개체입니다.
형식: | PSSqlClientEncryptionKeyGetResults |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-KeyEncryptionKeyResolver
Azure.Core.Cryptography.IKeyEncryptionKeyResolver 형식의 IKeyEncryptionKeyResolver 인터페이스
형식: | IKeyEncryptionKeyResolver |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-KeyWrapMetadata
Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata 형식의 KeyWrapMetaData 개체입니다.
형식: | PSSqlKeyWrapMetadata |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Name
클라이언트 암호화 키 이름입니다.
형식: | String |
별칭: | ClientEncryptionKeyName |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ResourceGroupName
리소스 그룹의 이름입니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SqlDatabaseObject
Sql Database 개체입니다.
형식: | PSSqlDatabaseGetResults |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
Byte[]
Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider
출력
관련 링크
Azure PowerShell