你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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>]
说明
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 密钥库 KeyResolver。 第一个命令创建名为 myKekV1 的 KeyWrapMetadata 对象,该对象的类型 AZURE_KEY_VAULT为 myKekV1,其值设置为密钥 ID 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 作为参数传递。 第一个命令创建名为 myKekV1 的 KeyWrapMetadata 对象,该对象的类型 AZURE_KEY_VAULT为 myKekV1,其值设置为密钥 ID https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 和算法类型“RSA-OAEP”,用于加密密钥。 第二个命令使用 Azure 默认凭据创建 Azure 密钥库 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 数据库对象。
类型: | 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