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

Encryption Protectors - Create Or Update

更新现有的加密保护程序。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/current?api-version=2020-08-01-preview

URI 参数

Name In Required Type Description
encryptionProtectorName
path True

要更新的加密保护程序的名称。

resourceGroupName
path True
  • string

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

serverName
path True
  • string

服务器的名称。

subscriptionId
path True
  • string

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

api-version
query True
  • string

要用于请求的 API 版本。

请求正文

Name Required Type Description
properties.serverKeyType True

加密保护程序类型,如“ServiceManaged”、“AzureKeyVault”。

properties.autoRotationEnabled
  • boolean

密钥自动轮换选择加入标志。 true 或 false。

properties.serverKeyName
  • string

服务器密钥的名称。

响应

Name Type Description
200 OK

已成功更新加密保护程序。

202 Accepted

已接受

Other Status Codes

错误响应: ***

  • 400 InvalidKeyName - 为服务器密钥名称提供无效值。

  • 400 InvalidKeyType - 不支持创建服务器密钥类型。

  • 400 InvalidUpsertKeyType - 服务管理的 TDE 密钥由服务管理。 服务管理的 TDE 密钥不支持用户创建或更新。

  • 400 InvalidKeyUpsertRequest - 创建服务器密钥请求不存在或没有属性对象。

  • 400 InvalidEncryptionProtectorName - 不支持加密保护程序密钥名称。

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

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

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

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

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

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

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

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

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

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

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

  • 401 AzureKeyVaultKeyDisabled - 无法完成该操作,因为 Azure 密钥保管库 密钥已禁用。

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

  • 401 AzureKeyVaultMissingPermissions - 服务器缺少对 Azure Key Vault 的必需权限。

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

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

  • 404 SubscriptionDoesNotHaveServer - 找不到请求的服务器

  • 404 ServerNotInSubscriptionResourceGroup - 指定的服务器在指定的资源组和订阅中不存在。

  • 404 ResourceNotFound - 找不到请求的资源。

  • 404 ServerKeyNotFound - 在当前订阅上找不到请求的服务器密钥。

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

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

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

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

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

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

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

示例

Update the encryption protector to key vault
Update the encryption protector to service managed

Update the encryption protector to key vault

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current?api-version=2020-08-01-preview

{
  "properties": {
    "serverKeyType": "AzureKeyVault",
    "serverKeyName": "someVault_someKey_01234567890123456789012345678901",
    "autoRotationEnabled": false
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current",
  "name": "current",
  "type": "Microsoft.Sql/servers/encryptionProtector",
  "location": "West US",
  "kind": "azurekeyvault",
  "properties": {
    "serverKeyName": "someVault_someKey_01234567890123456789012345678901",
    "serverKeyType": "AzureKeyVault",
    "autoRotationEnabled": false
  }
}

Update the encryption protector to service managed

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current?api-version=2020-08-01-preview

{
  "properties": {
    "serverKeyType": "ServiceManaged",
    "serverKeyName": "ServiceManaged"
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/encryptionProtector/current",
  "name": "current",
  "type": "Microsoft.Sql/servers/encryptionProtector",
  "location": "West US",
  "kind": "servicemanaged",
  "properties": {
    "serverKeyName": "ServiceManaged",
    "serverKeyType": "ServiceManaged"
  }
}

定义

EncryptionProtector

服务器加密保护程序。

EncryptionProtectorName

要更新的加密保护程序的名称。

ServerKeyType

加密保护程序类型,如“ServiceManaged”、“AzureKeyVault”。

EncryptionProtector

服务器加密保护程序。

Name Type Description
id
  • string

资源 ID。

kind
  • string

加密保护程序的类型。 这是用于Azure 门户体验的元数据。

location
  • string

资源位置。

name
  • string

资源名称。

properties.autoRotationEnabled
  • boolean

密钥自动轮换选择加入标志。 true 或 false。

properties.serverKeyName
  • string

服务器密钥的名称。

properties.serverKeyType

加密保护程序类型,如“ServiceManaged”、“AzureKeyVault”。

properties.subregion
  • string

加密保护器的子区域。

properties.thumbprint
  • string

服务器密钥的指纹。

properties.uri
  • string

服务器密钥的 URI。

type
  • string

资源类型。

EncryptionProtectorName

要更新的加密保护程序的名称。

Name Type Description
current
  • string

ServerKeyType

加密保护程序类型,如“ServiceManaged”、“AzureKeyVault”。

Name Type Description
AzureKeyVault
  • string
ServiceManaged
  • string