New-AzCosmosDbClientEncryptionKey
建立新的 CosmosDB 用戶端加密金鑰。
語法
New-AzCosmosDbClientEncryptionKey
-ResourceGroupName <String>
-AccountName <String>
-DatabaseName <String>
-Name <String>
-EncryptionAlgorithmName <String>
-KeyWrapMetadata <PSSqlKeyWrapMetadata>
[-KeyEncryptionKeyResolver <IKeyEncryptionKeyResolver>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzCosmosDbClientEncryptionKey
-Name <String>
-EncryptionAlgorithmName <String>
-KeyWrapMetadata <PSSqlKeyWrapMetadata>
[-KeyEncryptionKeyResolver <IKeyEncryptionKeyResolver>]
-SqlDatabaseObject <PSSqlDatabaseGetResults>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
New-AzCosmosDbClientEncryptionKey 會建立新的 CosmosDB 用戶端加密密鑰。
範例
範例 1
$myKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV1","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
New-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -Name myClientEncryptionKeyName -EncryptionAlgorithmName "AEAD_AES_256_CBC_HMAC_SHA256" -KeyWrapMetadata $myKeyWrapMetadataObject
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。 第一個命令會建立名稱 AZURE_KEY_VAULT為 myKekV1 且類型為 myKekV1 的 KeyWrapMetadata 物件,並將值設定為密鑰標識碼 https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71,以及用來加密密鑰的演算法類型 “RSA-OAEP”。 在第二個命令中,會以 myClientEncryptionKeyName 變數中的名稱建立新的密鑰,並將 KeyWrapMetadata 設定為第一個命令所傳回的值。
範例 2
$myKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV1","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
$azureKeyVaultKeyResolver = [Azure.Security.KeyVault.Keys.Cryptography.KeyResolver]::new([Azure.Identity.DefaultAzureCredential]::new())
New-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -Name myClientEncryptionKeyName -EncryptionAlgorithmName "AEAD_AES_256_CBC_HMAC_SHA256" -KeyWrapMetadata $myKeyWrapMetadataObject -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 作為參數。 第一個命令會建立名稱 AZURE_KEY_VAULT為 myKekV1 且類型為 myKekV1 的 KeyWrapMetadata 物件,並將值設定為密鑰標識碼 https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71,以及用來加密密鑰的演算法類型 “RSA-OAEP”。 第二個命令會使用 Azure 預設認證來建立 Azure Key Vault KeyResolver 物件。 在第三個命令中,會以 myClientEncryptionKeyName 變數中設定的名稱建立新索引鍵,KeyWrapMetadata 會設定為第一個命令所傳回的值,而 KeyEncryptionKeyResolver 值則設定為透過第二個命令取得的 KeyResolver 物件。
參數
-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 |
-EncryptionAlgorithmName
用戶端加密演演算法名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | 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
輸出
PSSqlClientEncryptionKeyGetResults