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