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


Server Keys - Create Or Update

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

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

Параметры URI

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

string

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

resourceGroupName
path True

string

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

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

Принятый

Заголовки

Location: string

Other Status Codes

ErrorResponse

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

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

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

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

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

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

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

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

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

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

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

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

  • 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 — операция не может быть завершена, так как нет достаточных разрешений для запуска рабочего процесса с доступным доступом в управляемом экземпляре {0}.

  • 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 SecurityAdalPrincipalCertExpiredError — операция не удалось завершить, так как срок действия сертификата субъекта Azure Key Vault истек.

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

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

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

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

  • 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 — операция не может быть завершена, так как нет достаточных разрешений для запуска рабочего процесса с доступным доступом в управляемом экземпляре {0}.

  • 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 недопустим.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 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

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

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=2023-08-01

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

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

{
  "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
  }
}

Определения

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

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

ErrorDetail

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

ErrorResponse

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

ServerKey

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

ServerKeyType

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

ErrorAdditionalInfo

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

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

object

Дополнительные сведения.

type

string

Дополнительный тип сведений.

ErrorDetail

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

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

ErrorAdditionalInfo[]

Дополнительные сведения об ошибке.

code

string

Код ошибки.

details

ErrorDetail[]

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

message

string

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

target

string

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

ErrorResponse

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

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

ErrorDetail

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

ServerKey

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

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

string

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

kind

string

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

location

string

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

name

string

Имя ресурса.

properties.autoRotationEnabled

boolean

Флаг автоматического поворота клавиши. Значение true или false.

properties.creationDate

string (date-time)

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

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
ServiceManaged