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


Transparent Data Encryptions - Create Or Update

Обновляет логическую конфигурацию шифрования данных.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/current?api-version=2025-01-01

Параметры URI

Имя В Обязательно Тип Описание
databaseName
path True

string

Имя логической базы данных, для которой определена политика оповещений системы безопасности.

resourceGroupName
path True

string

Имя группы ресурсов, содержащей ресурс. Это значение можно получить из API Azure Resource Manager или портала.

serverName
path True

string

Имени сервера.

subscriptionId
path True

string

Идентификатор подписки, идентифицирующий подписку Azure.

tdeName
path True

TransparentDataEncryptionName

Имя конфигурации прозрачного шифрования данных.

api-version
query True

string

Версия API, используемая для запроса.

Текст запроса

Имя Обязательно Тип Описание
properties.state True

TransparentDataEncryptionState

Указывает состояние прозрачного шифрования данных.

properties.scanState

TransparentDataEncryptionScanState

Указывает состояние сканирования прозрачного шифрования данных.

Ответы

Имя Тип Описание
200 OK

LogicalDatabaseTransparentDataEncryption

Успешно обновлено состояние прозрачного шифрования данных базы данных.

201 Created

LogicalDatabaseTransparentDataEncryption

Успешно создано состояние прозрачного шифрования данных базы данных.

202 Accepted

Выполняется создание или обновление конфигурации прозрачного шифрования данных базы данных.

Заголовки

Location: string

Other Status Codes

ErrorResponse

Ответы на ошибки: ***

  • 400 SecurityAdalPrincipalCertExpiredError — операция не удалось завершить, так как срок действия сертификата субъекта Azure Key Vault истек.

  • 400 AkvHostNotResolvingFromNode - узел AKV "{0}" не разрешается из SQL, на сервере "{1}".

  • 400 AkvKeyDisabled — операции с ключом, управляемым клиентом, не разрешены в Azure Key Vault. Разрешите следующие операции с ключом: get, wrapKey, unwrapKey. Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyOperationNotAllowed — операции с ключом, управляемым клиентом, запрещены в Azure Key Vault. Разрешите следующие операции с ключом: get, wrapKey, unwrapKey. Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyOperationNotAllowedByRBAC — одна из обязательных операций с управляемым клиентом ключом не разрешена для выбранной в настоящее время роли RBAC удостоверения управляемого экземпляра в Azure Key Vault. Измените роль RBAC, разрешая следующие разрешения в хранилище ключей: get, wrapKey, unwrapKey. Сведения об устранении этой проблемы см. в разделе https://aka.ms/sqlmi-tde-troubleshooting

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel — указанный uri Key Vault недопустим.

  • 400 AkvKeyOperationNotAllowedByFirewall — подключение к Azure Key Vault было запрещено политикой брандмауэра Azure Key Vault. Ознакомьтесь с политикой брандмауэра Azure Key Vault, чтобы разрешить подключения из управляемого экземпляра. Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyAccessDenied — одна из обязательных операций с управляемым клиентом ключом в Azure Key Vault не разрешена для текущей заданной политики хранилища ключей, используемой удостоверением управляемого экземпляра. Используйте политику, разрешая следующие разрешения в хранилище ключей: get, wrapKey, unwrapKey. Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyAccessGeneral403 — операция Azure Key Vault, запрошенная управляемым экземпляром, завершилась сбоем из-за нехватки разрешений. Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 MissingKeyVaultUriForRestore — URI ключа Azure Key Vault "{0}" требуется для успешного восстановления базы данных "{1}" под сервером "{2}".

  • 400 AkvKeyDeleted — ключ, управляемый клиентом, не найден в Azure Key Vault Если он был недавно удален, восстановление может быть возможно, если в хранилище ключей включена защита обратимого удаления. Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AkvKeyTimeout — не удалось установить подключение к Azure Key Vault. Просмотрите параметры сети для Управляемый экземпляр "%s". Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 AzureKeyVaultKeyUsedOnGeoPrimary — операция не удалось завершить, так как имя ключа Azure Key Vault {0} в настоящее время задается как средство защиты шифрования в гео-первичной среде.

  • 400 AkvKeyDNS — не удалось разрешить URI Azure Key Vault. Убедитесь, что URI хранилища ключей действителен и что параметры сети для управляемого экземпляра не блокируют доступ к общедоступной службе DNS Azure. Сведения об устранении этой проблемы см. в статье https://aka.ms/sqlmi-tde-troubleshooting.

  • 400 Key MaterialNotFoundOnRemoteServer — удаленный сервер не имеет доступа к материалу ключа, используемому в качестве средства защиты TDE.

  • 400 PerDatabaseCMKAKVKeySourceMissingOnGeoSecondary — все базы данных в георепликации должны содержать тот же ключевой материал, что и средство защиты шифрования исходной базы данных. Добавьте ключ "{0}" с тем же ключевым материалом в целевую базу данных "{1}".

  • 400 AzureKeyVaultRsaKeyNotSupported. Предоставленное хранилище ключей использует неподдерживаемый размер ключа RSA или тип ключа. Поддерживаемый размер ключа RSA — 2048 или 3072, а тип ключа — RSA или RSA-HSM.

  • 400 PerDatabaseCMKAKVKeyUriMissingOnGeoSecondary — если включен автоматический поворот защиты TDE уровня базы данных, исходные и целевые базы данных должны быть подключены к одному хранилищу ключей. Добавьте ключ "{0}" (из того же хранилища ключей, подключенного к исходной базе данных) в целевую базу данных "{1}".

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithCurrentKeysWithDatabaseName — при попытке реплицировать базу данных, настроенную с помощью средства защиты шифрования уровня базы данных, текущие ключи, используемые базой данных-источником, должны передаваться в базу данных-получатель "{0}'

  • 400 ManagedInstanceNoConditionToMakeDatabaseAccessible — одна или несколько баз данных в Управляемом экземпляре SQL не могут быть доступны, так как соответствующие корневые причины недоступности не были устранены. Исправьте первопричины недоступности для всех недоступных баз данных и повторите операцию.

  • 400 UmiMissingAkvPermissions — PrimaryUserAssignedIdentityId, предоставленный пользователем, не имеет доступа к KeyId, предоставленным

  • 400 SameKeyUriNotFoundOnRemoteServer — вторичный сервер не содержит материала ключа из того же хранилища ключей, что и средство защиты шифрования первичного сервера с включенной автоматической сменой ключа.

  • 400 SameKey MaterialNotFoundOnRemoteServer — вторичный сервер не содержит ключевого материала защиты шифрования первичного сервера.

  • 400 SecurityAzureKeyVaultGeoChainError — создание вторичной (процесса, известной как цепочка) не поддерживается при включении прозрачного шифрования данных с помощью Azure Key Vault (BYOK).

  • 400 PerDatabaseCMKDWNotSupported — CMK уровня базы данных в предварительной версии не поддерживается для выпуска Datawarehouse.

  • 400 BlockSystemAssignedIdentityForCrossTenantCMK — кросстенантный cmK можно настроить только в том случае, если сервер настроен с управляемым удостоверением, назначенным пользователем. Чтобы настроить управляемое удостоверение, назначаемое пользователем, см. https://aka.ms/sqltdebyokumi.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeys . При попытке реплицировать базу данных, настроенную с помощью средства защиты шифрования уровня базы данных, текущие ключи, используемые источником, должны передаваться в базу данных-получатель.

  • 400 CannotDropDatabaseAKVError — база данных {0} на сервере {1} не может быть безопасно удалена, так как она шифруется с помощью управляемого клиентом ключа, который больше недоступен для получения последней резервной копии перед удалением. Восстановите доступ к Azure Key Vault на сервере и измените ключи, чтобы сделать эту базу данных доступной, а затем продолжайте удаление. Дополнительные сведения см. в https://aka.ms/tdecmkrestorability

  • 400 CreateDatabaseAttemptedWithRotationInProgress — операция создания базы данных не может выполняться в настоящее время из-за постоянного поворота ключа прозрачного шифрования данных (TDE) на сервере. Повторите операцию позже.

  • 400 AzureKeyVaultKeyDisabled — операция не удалось завершить на сервере, так как ключ Azure Key Vault отключен.

  • 400 PerDatabaseCMKRestoreNotSupported— восстановление базы данных не поддерживается, если cmK уровня базы данных настроен в предварительной версии.

  • 400 AzureKeyVaultInvalidExpirationDate — операция не удалось завершить, так как срок действия ключа Azure Key Vault недопустим.

  • 400 PerDatabaseCMKHSNotSupported — CMK уровня базы данных в предварительной версии не поддерживается для выпуска Hyperscale.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty — операция не может быть завершена, так как URI Хранилища ключей Azure имеет значение NULL или пусто.

  • 400 CMKOperationNotAllowed — пользователь пытался выполнить операцию на сервере, когда у сервера нет доступа к Azure Key Vault.

  • 400 AkvEndpointNotReachableFromNode - конечная точка AKV "{0}" недоступна из SQL, на сервере "{1}".

  • 400 AzureKeyVaultNoServerIdentity — удостоверение сервера неправильно настроено.

  • 400 AzureKeyVaultInvalidUri — недопустимый ответ из Azure Key Vault. Используйте допустимый универсальный код ресурса (URI) Azure Key Vault.

  • 400 AzureKeyVaultMissingPermissions. Сервер отсутствует необходимые разрешения в Azure Key Vault.

  • 400 AzureKeyVaultKeyNameCurrentlyInUse — операция не удалось завершить, так как имя ключа Azure Key Vault {0} в настоящее время используется.

  • 400 AzureKeyVaultKeyThumbprintIsDifferent — операция не может быть завершена, так как материал ключа Key Vault Azure отличается от текущего ключа защиты шифрования.

  • 400 SecurityAzureKeyVaultInvalidKeyName — операция не удалось завершить из-за недопустимого имени ключа сервера.

  • 400 OldGenerationOfAKVKeyBeingUsedError — использование старой версии ключа AKV в качестве защиты TDE запрещено. Используйте последнюю версию ключа AKV в качестве средства защиты шифрования.

  • 400 PerDatabaseCMKMissingIdentityOnGeoSecondaryDatabase — удостоверение CMK базы данных не настроено в целевой базе данных.

  • 400 AdalGenericError — операция не удалось завершить, так как возникла ошибка Azure Active Directory.

  • 400 AdalServicePrincipalNotFound — операция не удалось завершить, так как не найдена ошибка субъекта-службы библиотеки Azure Active Directory.

  • 400 AzureKeyVaultMalformedVaultVaultUri— указанный uri Key Vault недопустим.

  • 400 AttemptedEncryptionOnSystemDatabase — не удается зашифровать системную базу данных. Операции шифрования базы данных нельзя выполнять для баз данных master, model, tempdb, msdb или resource.

  • 400 TransparentDataEncryptionSuspendResumeNotSupportedForDW — сканирование, приостановка и возобновление шифрования не поддерживается в DW.

  • 400 ReadOnly— не удается включить или изменить шифрование базы данных в базе данных, доступной только для чтения, имеет файлы только для чтения или не восстанавливается.

  • 400 CanNotChangeReadOnlyDuringTdeScan — не удается изменить состояние файловой группы только для чтения и записи во время перехода шифрования.

  • 400 CanNotDropAlterOnMirror — измените прозрачное шифрование данных в базах данных-источниках.

  • 400 TransparentDataEncryptionScanCannotBeSuspendedAgain — сканирование шифрования не может быть приостановлено, так как оно уже находится в приостановленном состоянии.

  • 400 TransparentDataEncryptionCannotAlterDatabaseEncryptionKey — ключ шифрования базы данных не может быть изменен, так как база данных не зашифрована.

  • 400 TransparentDataEncryptionScanCannotBeStarted — при смене ключа разрешены только операции приостановки и возобновления.

  • 400 TransparentDataEncryptionCannotResume — сканирование шифрования не может быть возобновлено, так как сканирование шифрования не выполняется.

  • 400 TransparentDataEncryptionCannotSuspend — сканирование шифрования не может быть приостановлено, так как сканирование шифрования не выполняется.

  • 400 ManagedInstanceStoppingOrStoppingOrStopped — конфликтующая операция, отправленная во время остановки или остановки экземпляра

  • 400 ManagedInstanceStarting — конфликтующая операция, отправленная во время запуска экземпляра

  • 400 InvalidTransparentDataEncryptionUpdateRequest — введите допустимое состояние. Используйте "Включено" или "Отключено".

  • 400 InvalidTransparentDataEncryptionName — имя ключа прозрачного шифрования данных не поддерживается.

  • 404 OperationIdNotFound — операция с идентификатором не существует.

  • 409 ServerKeyNameAlreadyExists — ключ сервера уже существует на сервере.

  • 409 ServerKeyUriAlreadyExists — URI ключа сервера уже существует на сервере.

  • 409 ServerKeyDoesNotExists — ключ сервера не существует.

  • 409 AzureKeyVaultKeyNameNotFound — операция не может быть завершена, так как имя ключа Azure Key Vault не существует.

  • 409 AzureKeyVaultKeyInUse — ключ в настоящее время используется сервером.

  • 409 EncryptionInProgresss — не удается изменить шифрование во время проверки шифрования.

  • 409 KeyChangeInProgresss— невозможно изменить ключ шифрования базы данных во время выполнения проверки шифрования, расшифровки или изменения ключа.

  • 409 NoBulkOperationLock . CREATE/ALTER/DROP DATABASE ENCRYPTION KEY произошел сбой, так как блокировка не удалось поместить в базу данных. Повторите попытку позже.

  • 409 NeedsLogBackup — подождите несколько минут, пока произойдет резервное копирование журнала.

  • 409 AltStateConflict — операция не может выполняться в базе данных, так как она участвует в сеансе зеркального отображения базы данных или группе доступности. Некоторые операции запрещены в базе данных, которая участвует в сеансе зеркального отображения базы данных или в группе доступности.

  • 409 CannotCancelOperation — операция управления находится в состоянии, которое не может быть отменено.

  • 409 OperationCancelled — операция отменена пользователем.

  • 409 Operation Прервана — операция с ресурсом не удалось завершить, так как она была прервана другой операцией в том же ресурсе.

  • 429 SubscriptionTooManyCreateUpdateRequests — запросы, превышающие максимальные запросы, которые могут обрабатываться доступными ресурсами.

  • 429 SubscriptionTooManyRequests — запросы, превышающие максимальные запросы, которые могут обрабатываться доступными ресурсами.

  • 500 OperationTimedOut — время ожидания операции истекло и автоматически откатился. Повторите операцию.

  • 503 AzureKeyVaultConnectionFailed — не удалось выполнить операцию на сервере, так как попытки подключения к Azure Key Vault завершились сбоем.

  • 503 AzureKeyVaultGenericConnectionError — операция не удалось завершить, так как при попытке получить сведения Key Vault произошла ошибка.

  • 503 NoDekLock — сбой CREATE/ALTER/DROP DATABASE ENCRYPTION KEY, так как блокировка не удалось поместить в базу данных. Повторите попытку позже.

  • 503 TooManyRequests — запросы, превышающие максимальные запросы, которые могут обрабатываться доступными ресурсами.

Примеры

Update a database's Transparent Data Encryption state with minimal parameters

Образец запроса

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption/current?api-version=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "scanState": "Suspend"
  }
}

Пример ответа

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled",
    "scanState": "Suspend"
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/servers/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/servers/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled",
    "scanState": "Suspend"
  }
}
Location: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/locations/southeastasia/transparentDataEncryptionOperationResults/11111111-1111-1111-1111-111111111111

Определения

Имя Описание
ErrorAdditionalInfo

Ошибка управления ресурсами дополнительная информация.

ErrorDetail

Детали ошибки.

ErrorResponse

Ответ на ошибку

LogicalDatabaseTransparentDataEncryption

Состояние сканирования прозрачного шифрования данных логической базы данных.

TransparentDataEncryptionName

Имя конфигурации прозрачного шифрования данных.

TransparentDataEncryptionScanState

Указывает состояние сканирования прозрачного шифрования данных.

TransparentDataEncryptionState

Указывает состояние прозрачного шифрования данных.

ErrorAdditionalInfo

Ошибка управления ресурсами дополнительная информация.

Имя Тип Описание
info

object

Дополнительная информация.

type

string

Тип дополнительной информации.

ErrorDetail

Детали ошибки.

Имя Тип Описание
additionalInfo

ErrorAdditionalInfo[]

Ошибка дополнительная информация.

code

string

Код ошибки.

details

ErrorDetail[]

Сведения об ошибке.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

ErrorResponse

Ответ на ошибку

Имя Тип Описание
error

ErrorDetail

Объект ошибки.

LogicalDatabaseTransparentDataEncryption

Состояние сканирования прозрачного шифрования данных логической базы данных.

Имя Тип Описание
id

string

Идентификатор ресурса.

name

string

Имя ресурса.

properties.scanState

TransparentDataEncryptionScanState

Указывает состояние сканирования прозрачного шифрования данных.

properties.state

TransparentDataEncryptionState

Указывает состояние прозрачного шифрования данных.

type

string

Тип ресурса.

TransparentDataEncryptionName

Имя конфигурации прозрачного шифрования данных.

Значение Описание
current

TransparentDataEncryptionScanState

Указывает состояние сканирования прозрачного шифрования данных.

Значение Описание
None
Resume
Running
Suspend
Aborted
Completed

TransparentDataEncryptionState

Указывает состояние прозрачного шифрования данных.

Значение Описание
Enabled
Disabled