Compartilhar via


Server Keys - Create Or Update

Cria ou atualiza uma chave de servidor.

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

Parâmetros de URI

Nome Em Obrigatório Tipo Description
keyName
path True

string

O nome da chave do servidor em que será operada (atualizada ou criada). O nome da chave deve estar no formato 'vault_key_version'. Por exemplo, se a keyId for https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, o nome da chave do servidor deverá ser formatado como: YourVaultName_YourKeyName_YourKeyVersion

resourceGroupName
path True

string

O nome do grupo de recursos que contém o recurso. Você pode obter esse valor na API do Azure Resource Manager ou no portal.

serverName
path True

string

O nome do servidor.

subscriptionId
path True

string

A ID da assinatura que identifica uma assinatura do Azure.

api-version
query True

string

A versão da API a ser usada para a solicitação.

Corpo da solicitação

Nome Obrigatório Tipo Description
properties.serverKeyType True

ServerKeyType

O tipo de chave do servidor, como 'ServiceManaged', 'AzureKeyVault'.

properties.uri

string

O URI da chave do servidor. Se o ServerKeyType for AzureKeyVault, o URI será necessário. O URI do AKV é necessário para estar nesse formato: 'https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion'

Respostas

Nome Tipo Description
200 OK

ServerKey

Atualizou com êxito a chave do servidor.

201 Created

ServerKey

A chave do servidor foi criada com êxito.

202 Accepted

Aceitado

Cabeçalhos

Location: string

Other Status Codes

ErrorResponse

Respostas de erro: ***

  • 400 ManagedInstanceStoppingOrStopped – Operação conflitante enviada enquanto a instância está no estado de parada/parada

  • 400 ManagedInstanceStarting – Operação conflitante enviada enquanto a instância está no estado inicial

  • 400 InvalidKeyName - Um valor inválido foi fornecido para o nome da chave do servidor.

  • 400 InvalidKeyType – Não há suporte para o tipo de chave criar servidor.

  • 400 InvalidUpsertKeyType – As chaves TDE gerenciadas pelo serviço são gerenciadas pelo serviço. As chaves TDE gerenciadas pelo serviço não dão suporte a Criar ou Atualizar pelo usuário.

  • 400 InvalidKeyUpsertRequest - A solicitação criar chave de servidor não existe ou não tem nenhum objeto de propriedades.

  • 400 SecurityAdalPrincipalCertExpiredError – A operação não pôde ser concluída porque o certificado principal do Azure Key Vault expirou.

  • 400 AkvHostNotResolvingFromNode - host AKV '{0}' não é resolvível do SQL, no servidor '{1}'.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel - O uri do Key Vault fornecido não é válido.

  • 400 MissingKeyVaultUriForRestore – O URI da chave do Azure Key Vault '{0}' é necessário para restaurar com êxito o banco de dados '{1}' no servidor '{2}'.

  • 400 AzureKeyVaultKeyUsedOnGeoPrimary - A operação não pôde ser concluída porque o nome da chave do Azure Key Vault {0} está atualmente definido como protetor de criptografia no geo-primário.

  • 400 KeyMaterialNotFoundOnRemoteServer – O servidor remoto não tem acesso ao material de chave usado como protetor de TDE.

  • 400 PerDatabaseCMKAKVKeyMaterialMissingOnGeoSecondary - Todos os bancos de dados na replicação geográfica devem conter o mesmo material de chave que o protetor de criptografia do banco de dados de origem. Adicione a chave '{0}' com o mesmo material de chave ao banco de dados de destino '{1}'.

  • 400 AzureKeyVaultRsaKeyNotSupported – O cofre de chaves fornecido usa tamanho de chave RSA sem suporte ou tipo de chave. O tamanho da chave RSA com suporte é 2048 ou 3072 e o Tipo de Chave é RSA ou RSA-HSM.

  • 400 PerDatabaseCMKAKVKeyUriMissingOnGeoSecondary – Quando a rotação automática do Protetor de TDE no nível do banco de dados estiver habilitada, os bancos de dados de origem e de destino deverão ser conectados ao mesmo cofre de chaves. Adicione a chave '{0}' (do mesmo cofre de chaves que está conectado ao banco de dados de origem) ao banco de dados de destino '{1}'.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeysWithDatabaseName – Ao tentar replicar um banco de dados configurado com o protetor de criptografia no nível do banco de dados, as chaves atuais que estão sendo usadas pelo banco de dados primário devem ser passadas para o banco de dados secundário '{0}'

  • 400 ManagedInstanceNoConditionToMakeDatabaseAccessible - A operação não pôde ser concluída porque não há permissões suficientes para iniciar o fluxo de trabalho acessível na instância gerenciada {0}.

  • 400 UmiMissingAkvPermissions – PrimaryUserAssignedIdentityId fornecido pelo usuário não tem acesso ao KeyId fornecido

  • 400 SameKeyUriNotFoundOnRemoteServer – O servidor secundário não tem o material de chave do mesmo cofre de chaves que o protetor de criptografia do servidor primário com a rotação automática de chave habilitada.

  • 400 SameKeyMaterialNotFoundOnRemoteServer – O servidor secundário não tem o material de chave do protetor de criptografia do servidor primário.

  • 400 SecurityAzureKeyVaultGeoChainError – Não há suporte para a criação do secundário (um processo conhecido como encadeamento) ao habilitar a Transparent Data Encryption usando o Azure Key Vault (BYOK).

  • 400 PerDatabaseCMKDWNotSupported – O CMK no nível do banco de dados na versão prévia não tem suporte para a edição Datawarehouse.

  • 400 BlockSystemAssignedIdentityForCrossTenantCMK – CMK de locatário cruzado só pode ser configurado quando o servidor é configurado com uma Identidade Gerenciada Atribuída pelo Usuário. Consulte https://aka.ms/sqltdebyokumi para configurar a Identidade Gerenciada Atribuída ao Usuário.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeys – Ao tentar replicar um banco de dados configurado com o protetor de criptografia no nível do banco de dados, as chaves atuais que estão sendo usadas pelo primário devem ser passadas para o banco de dados secundário.

  • 400 CannotDropDatabaseAKVError – O banco de dados {0} no servidor {1} não pode ser descartado com segurança porque é criptografado com uma chave gerenciada pelo cliente que não está mais acessível para fazer o último backup antes da queda. Restaure o Acesso do Azure Key Vault no servidor e revalidar as chaves para tornar esse banco de dados acessível e, em seguida, prossiga com a queda. Para obter detalhes, consulte https://aka.ms/tdecmkrestorability

  • 400 CreateDatabaseAttemptedWithRotationInProgress – A operação create database não pode ser executada no momento devido à rotação de chaves TDE (Transparent Data Encryption) contínua no servidor. Tente a operação novamente mais tarde.

  • 400 AzureKeyVaultKeyDisabled – A operação não pôde ser concluída no servidor porque a chave do Azure Key Vault está desabilitada.

  • 400 PerDatabaseCMKRestoreNotSupported – A restauração do banco de dados não tem suporte quando o CMK no nível do banco de dados está configurado na versão prévia.

  • 400 AzureKeyVaultInvalidExpirationDate – A operação não pôde ser concluída porque a data de validade da chave do Azure Key Vault é inválida.

  • 400 PerDatabaseCMKHSNotSupported – O CMK no nível do banco de dados na versão prévia não tem suporte para a edição hyperscale.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty - A operação não pôde ser concluída porque o Uri do Azure Key Vault é nulo ou vazio.

  • 400 CMKOperationNotAllowed - O usuário tentou executar uma operação no servidor quando o servidor não tinha acesso ao Azure Key Vault.

  • 400 AkvEndpointNotReachableFromNode – o ponto de extremidade akv '{0}' não é acessível do SQL, no servidor '{1}'.

  • 400 AzureKeyVaultNoServerIdentity – A identidade do servidor não está configurada corretamente.

  • 400 AzureKeyVaultInvalidUri – Uma resposta inválida do Azure Key Vault. Use um URI válido do Azure Key Vault.

  • 400 AzureKeyVaultMissingPermissions – o servidor não tem permissões necessárias no Azure Key Vault.

  • 400 AzureKeyVaultKeyNameCurrentlyInUse - A operação não pôde ser concluída porque o nome da chave do Azure Key Vault {0} está em uso no momento.

  • 400 AzureKeyVaultKeyThumbprintIsDifferent - A operação não pôde ser concluída porque o material da chave do Azure Key Vault é diferente da chave de protetor de criptografia atual.

  • 400 SecurityAzureKeyVaultInvalidKeyName - A operação não pôde ser concluída devido a um nome de chave de servidor inválido.

  • 400 OldGenerationOfAKVKeyBeingUsedError – Não é permitido usar uma versão antiga da chave AKV como protetor de TDE. Use a versão mais recente da chave AKV como o protetor de criptografia

  • 400 PerDatabaseCMKMissingIdentityOnGeoSecondaryDatabase – Por identidade cmk de banco de dados não configurada no banco de dados de destino.

  • 400 AdalGenericError – A operação não pôde ser concluída porque um erro do Azure Active Directory foi encontrado.

  • 400 AdalServicePrincipalNotFound - A operação não pôde ser concluída porque uma entidade de serviço de biblioteca do Azure Active Directory não encontrou erro.

  • 400 AzureKeyVaultMalformedVaultUri – O uri do Key Vault fornecido não é válido.

  • 400 SecurityAdalPrincipalCertExpiredError – A operação não pôde ser concluída porque o certificado principal do Azure Key Vault expirou.

  • 400 AkvHostNotResolvingFromNode - host AKV '{0}' não é resolvível do SQL, no servidor '{1}'.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel - O uri do Key Vault fornecido não é válido.

  • 400 MissingKeyVaultUriForRestore – O URI da chave do Azure Key Vault '{0}' é necessário para restaurar com êxito o banco de dados '{1}' no servidor '{2}'.

  • 400 AzureKeyVaultKeyUsedOnGeoPrimary - A operação não pôde ser concluída porque o nome da chave do Azure Key Vault {0} está atualmente definido como protetor de criptografia no geo-primário.

  • 400 KeyMaterialNotFoundOnRemoteServer – O servidor remoto não tem acesso ao material de chave usado como protetor de TDE.

  • 400 PerDatabaseCMKAKVKeyMaterialMissingOnGeoSecondary - Todos os bancos de dados na replicação geográfica devem conter o mesmo material de chave que o protetor de criptografia do banco de dados de origem. Adicione a chave '{0}' com o mesmo material de chave ao banco de dados de destino '{1}'.

  • 400 AzureKeyVaultRsaKeyNotSupported – O cofre de chaves fornecido usa tamanho de chave RSA sem suporte ou tipo de chave. O tamanho da chave RSA com suporte é 2048 ou 3072 e o Tipo de Chave é RSA ou RSA-HSM.

  • 400 PerDatabaseCMKAKVKeyUriMissingOnGeoSecondary – Quando a rotação automática do Protetor de TDE no nível do banco de dados estiver habilitada, os bancos de dados de origem e de destino deverão ser conectados ao mesmo cofre de chaves. Adicione a chave '{0}' (do mesmo cofre de chaves que está conectado ao banco de dados de origem) ao banco de dados de destino '{1}'.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeysWithDatabaseName – Ao tentar replicar um banco de dados configurado com o protetor de criptografia no nível do banco de dados, as chaves atuais que estão sendo usadas pelo banco de dados primário devem ser passadas para o banco de dados secundário '{0}'

  • 400 ManagedInstanceNoConditionToMakeDatabaseAccessible - A operação não pôde ser concluída porque não há permissões suficientes para iniciar o fluxo de trabalho acessível na instância gerenciada {0}.

  • 400 UmiMissingAkvPermissions – PrimaryUserAssignedIdentityId fornecido pelo usuário não tem acesso ao KeyId fornecido

  • 400 SameKeyUriNotFoundOnRemoteServer – O servidor secundário não tem o material de chave do mesmo cofre de chaves que o protetor de criptografia do servidor primário com a rotação automática de chave habilitada.

  • 400 SameKeyMaterialNotFoundOnRemoteServer – O servidor secundário não tem o material de chave do protetor de criptografia do servidor primário.

  • 400 SecurityAzureKeyVaultGeoChainError – Não há suporte para a criação do secundário (um processo conhecido como encadeamento) ao habilitar a Transparent Data Encryption usando o Azure Key Vault (BYOK).

  • 400 PerDatabaseCMKDWNotSupported – O CMK no nível do banco de dados na versão prévia não tem suporte para a edição Datawarehouse.

  • 400 BlockSystemAssignedIdentityForCrossTenantCMK – CMK de locatário cruzado só pode ser configurado quando o servidor é configurado com uma Identidade Gerenciada Atribuída pelo Usuário. Consulte https://aka.ms/sqltdebyokumi para configurar a Identidade Gerenciada Atribuída ao Usuário.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeys – Ao tentar replicar um banco de dados configurado com o protetor de criptografia no nível do banco de dados, as chaves atuais que estão sendo usadas pelo primário devem ser passadas para o banco de dados secundário.

  • 400 CannotDropDatabaseAKVError – O banco de dados {0} no servidor {1} não pode ser descartado com segurança porque é criptografado com uma chave gerenciada pelo cliente que não está mais acessível para fazer o último backup antes da queda. Restaure o Acesso do Azure Key Vault no servidor e revalidar as chaves para tornar esse banco de dados acessível e, em seguida, prossiga com a queda. Para obter detalhes, consulte https://aka.ms/tdecmkrestorability

  • 400 CreateDatabaseAttemptedWithRotationInProgress – A operação create database não pode ser executada no momento devido à rotação de chaves TDE (Transparent Data Encryption) contínua no servidor. Tente a operação novamente mais tarde.

  • 400 AzureKeyVaultKeyDisabled – A operação não pôde ser concluída no servidor porque a chave do Azure Key Vault está desabilitada.

  • 400 PerDatabaseCMKRestoreNotSupported – A restauração do banco de dados não tem suporte quando o CMK no nível do banco de dados está configurado na versão prévia.

  • 400 AzureKeyVaultInvalidExpirationDate – A operação não pôde ser concluída porque a data de validade da chave do Azure Key Vault é inválida.

  • 400 PerDatabaseCMKHSNotSupported – O CMK no nível do banco de dados na versão prévia não tem suporte para a edição hyperscale.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty - A operação não pôde ser concluída porque o Uri do Azure Key Vault é nulo ou vazio.

  • 400 CMKOperationNotAllowed - O usuário tentou executar uma operação no servidor quando o servidor não tinha acesso ao Azure Key Vault.

  • 400 AkvEndpointNotReachableFromNode – o ponto de extremidade akv '{0}' não é acessível do SQL, no servidor '{1}'.

  • 400 AzureKeyVaultNoServerIdentity – A identidade do servidor não está configurada corretamente.

  • 400 AzureKeyVaultInvalidUri – Uma resposta inválida do Azure Key Vault. Use um URI válido do Azure Key Vault.

  • 400 AzureKeyVaultMissingPermissions – o servidor não tem permissões necessárias no Azure Key Vault.

  • 400 AzureKeyVaultKeyNameCurrentlyInUse - A operação não pôde ser concluída porque o nome da chave do Azure Key Vault {0} está em uso no momento.

  • 400 AzureKeyVaultKeyThumbprintIsDifferent - A operação não pôde ser concluída porque o material da chave do Azure Key Vault é diferente da chave de protetor de criptografia atual.

  • 400 SecurityAzureKeyVaultInvalidKeyName - A operação não pôde ser concluída devido a um nome de chave de servidor inválido.

  • 400 OldGenerationOfAKVKeyBeingUsedError – Não é permitido usar uma versão antiga da chave AKV como protetor de TDE. Use a versão mais recente da chave AKV como o protetor de criptografia

  • 400 PerDatabaseCMKMissingIdentityOnGeoSecondaryDatabase – Por identidade cmk de banco de dados não configurada no banco de dados de destino.

  • 400 AdalGenericError – A operação não pôde ser concluída porque um erro do Azure Active Directory foi encontrado.

  • 400 AdalServicePrincipalNotFound - A operação não pôde ser concluída porque uma entidade de serviço de biblioteca do Azure Active Directory não encontrou erro.

  • 400 AzureKeyVaultMalformedVaultUri – O uri do Key Vault fornecido não é válido.

  • 404 ServerNotInSubscriptionResourceGroup – O servidor especificado não existe no grupo de recursos e na assinatura especificados.

  • 404 SubscriptionDoesNotHaveServer – O servidor solicitado não foi encontrado

  • 404 ResourceNotFound – O recurso solicitado não foi encontrado.

  • 404 OperationIdNotFound – A operação com id não existe.

  • 409 ServerKeyNameAlreadyExists – A chave do servidor já existe no servidor.

  • 409 ServerKeyUriAlreadyExists – O URI da chave do servidor já existe no servidor.

  • 409 ServerKeyDoesNotExists – A chave do servidor não existe.

  • 409 AzureKeyVaultKeyNameNotFound – A operação não pôde ser concluída porque o nome da chave do Azure Key Vault não existe.

  • 409 AzureKeyVaultKeyInUse – A chave está sendo usada no momento pelo servidor.

  • 409 ServerKeyNameAlreadyExists – A chave do servidor já existe no servidor.

  • 409 ServerKeyUriAlreadyExists – O URI da chave do servidor já existe no servidor.

  • 409 ServerKeyDoesNotExists – A chave do servidor não existe.

  • 409 AzureKeyVaultKeyNameNotFound – A operação não pôde ser concluída porque o nome da chave do Azure Key Vault não existe.

  • 409 AzureKeyVaultKeyInUse – A chave está sendo usada no momento pelo servidor.

  • 409 CannotCancelOperation – A operação de gerenciamento está em um estado que não pode ser cancelado.

  • 409 OperationCancelled – A operação foi cancelada pelo usuário.

  • 409 OperationInterrupted – A operação no recurso não pôde ser concluída porque foi interrompida por outra operação no mesmo recurso.

  • 429 SubscriptionTooManyCreateUpdateRequests – Solicitações além do máximo de solicitações que podem ser processadas por recursos disponíveis.

  • 429 SubscriptionTooManyRequests – Solicitações além das solicitações máximas que podem ser processadas por recursos disponíveis.

  • 500 OperationTimedOut – A operação atingiu o tempo limite e foi revertida automaticamente. Tente novamente a operação.

  • 503 AzureKeyVaultConnectionFailed – A operação não pôde ser concluída no servidor porque as tentativas de conexão com o Azure Key Vault falharam

  • 503 AzureKeyVaultGenericConnectionError – A operação não pôde ser concluída porque um erro foi encontrado ao tentar recuperar informações do Key Vault.

  • 503 AzureKeyVaultConnectionFailed – A operação não pôde ser concluída no servidor porque as tentativas de conexão com o Azure Key Vault falharam

  • 503 AzureKeyVaultGenericConnectionError – A operação não pôde ser concluída porque um erro foi encontrado ao tentar recuperar informações do Key Vault.

  • 503 TooManyRequests – Solicitações além das solicitações máximas que podem ser processadas por recursos disponíveis.

Exemplos

Creates or updates a server key

Solicitação de exemplo

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

Resposta de exemplo

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

Definições

Nome Description
ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

ErrorDetail

O detalhe do erro.

ErrorResponse

Resposta de erro

ServerKey

Uma chave de servidor.

ServerKeyType

O tipo de chave do servidor, como 'ServiceManaged', 'AzureKeyVault'.

ErrorAdditionalInfo

As informações adicionais do erro de gerenciamento de recursos.

Nome Tipo Description
info

object

As informações adicionais.

type

string

O tipo de informação adicional.

ErrorDetail

O detalhe do erro.

Nome Tipo Description
additionalInfo

ErrorAdditionalInfo[]

As informações adicionais do erro.

code

string

O código de erro.

details

ErrorDetail[]

Os detalhes do erro.

message

string

A mensagem de erro.

target

string

O destino do erro.

ErrorResponse

Resposta de erro

Nome Tipo Description
error

ErrorDetail

O objeto de erro.

ServerKey

Uma chave de servidor.

Nome Tipo Description
id

string

ID do recurso.

kind

string

Tipo de protetor de criptografia. Esses são metadados usados para a experiência do portal do Azure.

location

string

Local do recurso.

name

string

Nome do recurso.

properties.autoRotationEnabled

boolean

Sinalizador de aceitação de rotação automática de chaves. Verdadeiro ou falso.

properties.creationDate

string (date-time)

A data de criação da chave do servidor.

properties.serverKeyType

ServerKeyType

O tipo de chave do servidor, como 'ServiceManaged', 'AzureKeyVault'.

properties.subregion

string

Sub-região da chave do servidor.

properties.thumbprint

string

Impressão digital da chave do servidor.

properties.uri

string

O URI da chave do servidor. Se o ServerKeyType for AzureKeyVault, o URI será necessário. O URI do AKV é necessário para estar nesse formato: 'https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion'

type

string

Tipo de recurso.

ServerKeyType

O tipo de chave do servidor, como 'ServiceManaged', 'AzureKeyVault'.

Valor Description
ServiceManaged
AzureKeyVault