你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Managed Database Transparent Data Encryption - Create Or Update

更新数据库的透明数据加密配置。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/transparentDataEncryption/current?api-version=2021-02-01-preview

URI 参数

Name In Required Type Description
databaseName
path True
  • string

为其定义安全警报策略的托管数据库的名称。

managedInstanceName
path True
  • string

托管实例的名称。

resourceGroupName
path True
  • string

包含该资源的资源组名称。 可以从 Azure 资源管理器 API 或门户获取此值。

subscriptionId
path True
  • string

用于标识 Azure 订阅的订阅 ID。

tdeName
path True

透明数据加密配置的名称。

api-version
query True
  • string

要用于请求的 API 版本。

请求正文

Name Required Type Description
properties.state True

指定透明数据加密的状态。

响应

Name Type Description
200 OK

已成功更新数据库透明数据加密状态。

201 Created

已成功创建数据库透明数据加密状态。

Other Status Codes

错误响应: ***

  • 400 SecurityAdalPrincipalCertExpiredError - 操作无法完成,因为 Azure 密钥保管库 主体证书已过期。

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel - 提供的密钥保管库 uri 无效。

  • 400 KeyMaterialNotFoundOnRemoteServer - 远程服务器无权访问用作 TDE 保护程序的密钥材料。

  • 400 AzureKeyVaultMismatchError - http 响应中找到意外密钥保管库区域。

  • 400 AzureKeyVaultRsaKeyNotSupported - 提供的密钥保管库使用不支持的 RSA 密钥大小或密钥类型。 支持的 RSA 密钥大小为 2048 或 3072,密钥类型为 RSA 或 RSA-HSM。

  • 400 AzureKeyVaultKeyDisabled - 无法完成服务器上的操作,因为 Azure 密钥保管库 密钥已禁用。

  • 400 AzureKeyVaultInvalidExpirationDate - 操作无法完成,因为 Azure 密钥保管库密钥过期日期无效。

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty - 无法完成该操作,因为 Azure 密钥保管库 Uri 为 null 或空。

  • 400 AzureKeyVaultNoServerIdentity - 服务器标识未正确配置。

  • 400 AzureKeyVaultInvalidUri - 来自 Azure 密钥保管库的无效响应。 请使用有效的 Azure 密钥保管库 URI。

  • 400 AzureKeyVaultMissingPermissions - 服务器缺少对 Azure 密钥保管库所需的权限。

  • 400 SecurityAzureKeyVaultInvalidKeyName - 由于服务器密钥名称无效,无法完成该操作。

  • 400 AdalGenericError - 操作无法完成,因为遇到Azure Active Directory错误。

  • 400 AdalServicePrincipalNotFound - 无法完成该操作,因为遇到Azure Active Directory库服务主体找不到错误。

  • 400 AzureKeyVaultMalformedVaultUri - 提供的密钥保管库 uri 无效。

  • 400 SecurityAzureKeyVaultGeoChainError - 使用 Azure 密钥保管库 (BYOK) 启用透明数据加密时,不支持创建辅助 (称为链接) 的进程。

  • 400 ReadOnly - 无法在只读、具有只读文件或未恢复的数据库上启用或修改数据库加密。

  • 400 CanNotDropAlterOnMirror - 请修改主数据库上的透明数据加密。

  • 400 InvalidTransparentDataEncryptionUpdateRequest - 请输入有效状态。 请使用“已启用”或“已禁用”。

  • 400 InvalidTransparentDataEncryptionName - 不支持透明数据加密密钥名称。

  • 401 CanNotChangeReadOnlyDuringTdeScan - 在加密转换正在进行时无法修改文件组只读/读写状态。

  • 409 ServerKeyNameAlreadyExists - 服务器上已存在服务器密钥。

  • 409 ServerKeyUriAlreadyExists - 服务器上已存在服务器密钥 URI。

  • 409 ServerKeyDoesNotExists - 服务器密钥不存在。

  • 409 AzureKeyVaultKeyNameNotFound - 无法完成该操作,因为 Azure 密钥保管库密钥名称不存在。

  • 409 AzureKeyVaultKeyInUse - 服务器当前正在使用密钥。

  • 409 NeedsLogBackup - 请等待几分钟才能进行日志备份。

  • 409 EncryptionInProgress - 在加密扫描正在进行时无法修改加密。

  • 409 KeyChangeInProgress - 在加密、解密或密钥更改扫描正在进行时无法更改数据库加密密钥。

  • 409 NoBulkOperationLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY 失败,因为无法将锁放置在数据库上。 请稍后再试。

  • 409 AltStateConflict - 无法对数据库执行该操作,因为它涉及数据库镜像会话或可用性组。 不允许对参与数据库镜像会话或可用性组的数据库执行某些操作。

  • 503 AzureKeyVaultConnectionFailed - 无法完成服务器上的操作,因为尝试连接到 Azure 密钥保管库失败

  • 503 AzureKeyVaultGenericConnectionError - 无法完成该操作,因为尝试检索密钥保管库信息时遇到错误。

  • 503 NoDekLock - CREATE/ALTER/DROP DATABASE ENCRYPTION KEY 失败,因为无法将锁放置在数据库上。 请稍后再试。

示例

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

Sample Request

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

{
  "properties": {
    "state": "Enabled"
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/managedInstances/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/managedInstance/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled"
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securitytde-42-rg/providers/Microsoft.Sql/managedInstances/securitytde-42/databases/testdb/transparentDataEncryption",
  "name": "current",
  "type": "Microsoft.Sql/managedInstance/databases/transparentDataEncryption",
  "properties": {
    "state": "Enabled"
  }
}

定义

ManagedTransparentDataEncryption

托管数据库透明数据加密状态。

TransparentDataEncryptionName

透明数据加密配置的名称。

TransparentDataEncryptionState

指定透明数据加密的状态。

ManagedTransparentDataEncryption

托管数据库透明数据加密状态。

Name Type Description
id
  • string

资源 ID。

name
  • string

资源名称。

properties.state

指定透明数据加密的状态。

type
  • string

资源类型。

TransparentDataEncryptionName

透明数据加密配置的名称。

Name Type Description
current
  • string

TransparentDataEncryptionState

指定透明数据加密的状态。

Name Type Description
Disabled
  • string
Enabled
  • string