共用方式為


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。 第一個命令會建立名稱為 myKekV2 AZURE_KEY_VAULT 且類型為 myKekV2 的 KeyWrapMetadata 物件,其值設定為密鑰標識碼 https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71,以及用來加密密鑰的演算法類型 “RSA-OAEP”。 在第二個命令中,名稱為 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 傳遞為參數。 第一個命令會建立名稱為 myKekV2 AZURE_KEY_VAULT 且類型為 myKekV2 的 KeyWrapMetadata 物件,其值設定為密鑰標識碼 https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71,以及用來加密密鑰的演算法類型 “RSA-OAEP”。 第二個命令會使用 Azure 預設認證來建立 Azure Key Vault KeyResolver 物件。 在第三個命令中,名稱為 myClientEncryptionKeyName 變數的索引鍵會更新為由第一個命令傳回的 KeyWrapMetadata 設定為值,而 KeyEncryptionKeyResolver 值則設定為透過第二個命令取得的 KeyResolver 物件。

範例 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 來更新密鑰,這是藉由讀取必須更新的索引鍵來取得。 第一個命令會建立名稱為 myKekV2 AZURE_KEY_VAULT 且類型為 myKekV2 的 KeyWrapMetadata 物件,其值設定為密鑰標識碼 https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71,以及用來加密密鑰的演算法類型 “RSA-OAEP”。 在第二個命令中,會讀取要更新的索引鍵。 第三個命令會更新第二個命令稍早讀取的金鑰。 在第二個命令中讀取的物件會當做 InputObject 傳遞,以及第一個命令中取得的更新 KeyWrapMetadata。

參數

-AccountName

Cosmos DB 資料庫帳戶的名稱。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-DatabaseName

資料庫名稱。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

類型:IAzureContextContainer
別名:AzContext, AzureRmContext, AzureCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-InputObject

用戶端加密金鑰物件。

類型:PSSqlClientEncryptionKeyGetResults
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-KeyEncryptionKeyResolver

類型為 Azure.Core.Cryptography.IKeyEncryptionKeyResolver 的 IKeyEncryptionKeyResolver 介面

類型:IKeyEncryptionKeyResolver
Position:Named
預設值:None
必要:False
接受管線輸入:True
接受萬用字元:False

-KeyWrapMetadata

類型為 Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata 類型的 KeyWrapMetaData 物件。

類型:PSSqlKeyWrapMetadata
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Name

用戶端加密金鑰名稱。

類型:String
別名:ClientEncryptionKeyName
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-ResourceGroupName

資源組名。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-SqlDatabaseObject

Sql Database 物件。

類型:PSSqlDatabaseGetResults
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

Byte[]

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

輸出