Поделиться через


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>]

Описание

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 KeyResolver KeyResolver по умолчанию. Первая команда создает объект KeyWrapMetadata с именем myKekV2 типа AZURE_KEY_VAULT со значением, заданным для идентификатора 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 в качестве параметра. Первая команда создает объект KeyWrapMetadata с именем myKekV2 типа AZURE_KEY_VAULT со значением, заданным для идентификатора https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 ключа и типа алгоритма RSA-OAEP, используемого для шифрования ключа. Вторая команда создает объект KeyResolver Azure KeyResolver с помощью учетных данных По умолчанию Azure. В третьей команде ключ с именем, заданным в переменной 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, полученного путем чтения ключа, который необходимо обновить. Первая команда создает объект KeyWrapMetadata с именем myKekV2 типа AZURE_KEY_VAULT со значением, заданным для идентификатора https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 ключа и типа алгоритма RSA-OAEP, используемого для шифрования ключа. Во второй команде считывается ключ, который необходимо обновить. Третья команда обновляет ключ, который был прочитан ранее во второй команде. Объект, считываемый во второй команде, передается как InputObject вместе с обновленными ключами KeyWrapMetadata, полученными в первой команде.

Параметры

-AccountName

Имя учетной записи базы данных Cosmos DB.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseName

имя базы данных.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для взаимодействия с Azure.

Тип:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Объект ключа шифрования клиента.

Тип:PSSqlClientEncryptionKeyGetResults
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-KeyEncryptionKeyResolver

Интерфейс IKeyEncryptionKeyResolver типа Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Тип:IKeyEncryptionKeyResolver
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-KeyWrapMetadata

Объект KeyWrapMetaData типа Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata.

Тип:PSSqlKeyWrapMetadata
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Имя ключа шифрования клиента.

Тип:String
Aliases:ClientEncryptionKeyName
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Имя группы ресурсов.

Тип:String
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:False
Accept wildcard characters:False

-SqlDatabaseObject

Объект Базы данных SQL.

Тип:PSSqlDatabaseGetResults
Position:Named
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

Byte[]

PSSqlKeyWrapMetadata

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

PSSqlClientEncryptionKeyGetResults

Выходные данные

PSSqlClientEncryptionKeyGetResults

ResourceNotFoundException