Server Keys - Create Or Update

Создает или обновляет ключ сервера.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/keys/{keyName}?api-version=2021-11-01

Параметры URI

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

string

Имя ключа сервера, с которым необходимо работать (обновить или создать). Имя ключа должно быть в формате "vault_key_version". Например, если параметр keyId имеет значение https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, имя ключа сервера должно быть отформатировано следующим образом: YourVaultName_YourKeyName_YourKeyVersion

resourceGroupName
path True

string

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

serverName
path True

string

Имя сервера.

subscriptionId
path True

string

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

api-version
query True

string

Версия API для использования в запросе.

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

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

ServerKeyType

Тип ключа сервера, например ServiceManaged, AzureKeyVault.

properties.uri

string

Универсальный код ресурса (URI) ключа сервера. Если serverKeyType имеет значение AzureKeyVault, то требуется универсальный код ресурса (URI). URI AKV должен иметь следующий формат: "https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion"

Ответы

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

ServerKey

Ключ сервера успешно обновлен.

201 Created

ServerKey

Ключ сервера успешно создан.

202 Accepted

Принято

Other Status Codes

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

  • 400 InvalidKeyName — для имени ключа сервера было присвоено недопустимое значение.

  • 400 InvalidKeyType — тип ключа сервера создания не поддерживается.

  • 400 InvalidUpsertKeyType — управляемые службой ключи TDE управляются службой. Управляемые службой ключи TDE не поддерживают создание или обновление пользователем.

  • 400 InvalidKeyUpsertRequest — запрос на создание ключа сервера не существует или не имеет объекта свойств.

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

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

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

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

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

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

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

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

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty — не удалось выполнить операцию, так как URI Key Vault Azure имеет значение NULL или пусто.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty — не удалось выполнить операцию, так как URI Key Vault Azure имеет значение NULL или пусто.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 404 SubscriptionDoesNotHaveServer — запрошенный сервер не найден

  • 404 ServerNotInSubscriptionResourceGroup — указанный сервер не существует в указанной группе ресурсов и подписке.

  • 404 ResourceNotFound — запрошенный ресурс не найден.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

Creates or updates a server key

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901?api-version=2021-11-01

{
  "properties": {
    "serverKeyType": "AzureKeyVault",
    "uri": "https://someVault.vault.azure.net/keys/someKey/01234567890123456789012345678901"
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901",
  "name": "sqlcrudtest-4645",
  "type": "Microsoft.Sql/servers/keys",
  "location": "Japan East",
  "kind": "azurekeyvault",
  "properties": {
    "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD",
    "creationDate": "2020-11-15T00:00:00Z",
    "autoRotationEnabled": false
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/sqlcrudtest-7398/providers/Microsoft.Sql/servers/sqlcrudtest-4645/keys/someVault_someKey_01234567890123456789012345678901",
  "name": "sqlcrudtest-4645",
  "type": "Microsoft.Sql/servers/keys",
  "location": "Japan East",
  "kind": "azurekeyvault",
  "properties": {
    "thumbprint": "00112233445566778899AABBCCDDEEFFAABBCCDD",
    "creationDate": "2020-11-15T00:00:00Z",
    "autoRotationEnabled": false
  }
}

Определения

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

Ключ сервера.

ServerKeyType

Тип ключа сервера, например ServiceManaged, AzureKeyVault.

ServerKey

Ключ сервера.

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

string

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

kind

string

Тип предохранителя шифрования. Это метаданные, используемые для портал Azure взаимодействия.

location

string

Расположение ресурса.

name

string

Имя ресурса.

properties.autoRotationEnabled

boolean

Флаг автоматического поворота ключей. Либо true, либо false.

properties.creationDate

string

Дата создания ключа сервера.

properties.serverKeyType

ServerKeyType

Тип ключа сервера, например ServiceManaged, AzureKeyVault.

properties.subregion

string

Подобласть ключа сервера.

properties.thumbprint

string

Отпечаток ключа сервера.

properties.uri

string

Универсальный код ресурса (URI) ключа сервера. Если serverKeyType имеет значение AzureKeyVault, то требуется универсальный код ресурса (URI). URI AKV должен иметь следующий формат: "https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion"

type

string

Тип ресурса.

ServerKeyType

Тип ключа сервера, например ServiceManaged, AzureKeyVault.

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

string

ServiceManaged

string