Compartir a través de


Server Keys - Create Or Update

Crea o actualiza una clave 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 identificador URI

Nombre En Requerido Tipo Description
keyName
path True

string

Nombre de la clave de servidor en la que se va a operar (actualizado o creado). El nombre de clave debe tener el formato "vault_key_version". Por ejemplo, si el valor de keyId es https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion, el nombre de la clave de servidor debe tener el formato siguiente: YourVaultName_YourKeyName_YourKeyVersion

resourceGroupName
path True

string

Nombre del grupo de recursos que contiene el recurso. Puede obtener este valor desde la API de Azure Resource Manager o el portal.

serverName
path True

string

Nombre del servidor.

subscriptionId
path True

string

Identificador de suscripción que identifica una suscripción de Azure.

api-version
query True

string

Versión de la API que se va a usar para la solicitud.

Cuerpo de la solicitud

Nombre Requerido Tipo Description
properties.serverKeyType True

ServerKeyType

El tipo de clave de servidor, como "ServiceManaged", "AzureKeyVault".

properties.uri

string

Identificador URI de la clave del servidor. Si ServerKeyType es AzureKeyVault, se requiere el URI. El URI de AKV debe estar en este formato: "https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion"

Respuestas

Nombre Tipo Description
200 OK

ServerKey

Se actualizó correctamente la clave del servidor.

201 Created

ServerKey

Ha creado correctamente la clave de servidor.

202 Accepted

Aceptado

Encabezados

Location: string

Other Status Codes

ErrorResponse

Respuestas de error: ***

  • 400 ManagedInstanceStoppingOrStopped: operación en conflicto enviada mientras la instancia está en estado de detención o detención

  • 400 ManagedInstanceStarting: operación en conflicto enviada mientras la instancia está en estado de inicio

  • 400 InvalidKeyName: se ha proporcionado un valor no válido para el nombre de clave del servidor.

  • 400 InvalidKeyType: no se admite el tipo de clave de servidor create.

  • 400 InvalidUpsertKeyType: el servicio administra las claves TDE administradas por el servicio. Las claves TDE administradas por el servicio no admiten la creación o actualización por parte del usuario.

  • 400 InvalidKeyUpsertRequest: la solicitud de creación de clave de servidor no existe o no tiene ningún objeto properties.

  • 400 SecurityAdalPrincipalCertExpiredError: no se pudo completar la operación porque el certificado de entidad de seguridad de Azure Key Vault ha expirado.

  • 400 AkvHostNotResolvingFromNode - host de AKV '{0}' no se puede resolver desde SQL, en el servidor '{1}'.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel: el URI proporcionado de Key Vault no es válido.

  • 400 MissingKeyVaultUriForRestore: URI de clave de Azure Key Vault '{0}' es necesario para restaurar correctamente la base de datos '{1}' en el servidor '{2}'.

  • 400 AzureKeyVaultKeyUsedOnGeoPrimary: no se pudo completar la operación porque el nombre de la clave de Azure Key Vault {0} está establecido actualmente como protector de cifrado en la base de datos geográfica principal.

  • 400 KeyMaterialNotFoundOnRemoteServer: el servidor remoto no tiene acceso al material de clave usado como protector TDE.

  • 400 PerDatabaseCMKAKVKeyMaterialMissingOnGeoSecondary: todas las bases de datos de replicación geográfica deben contener el mismo material de clave que el protector de cifrado de la base de datos de origen. Agregue la clave "{0}" con el mismo material de clave a la base de datos de destino "{1}".

  • 400 AzureKeyVaultRsaKeyNotSupported: el almacén de claves proporcionado usa el tamaño de clave RSA o el tipo de clave RSA no admitidos. El tamaño de clave RSA admitido es 2048 o 3072 y el tipo de clave es RSA o RSA-HSM.

  • 400 PerDatabaseCMKAKVKeyUriMissingOnGeoSecondary: cuando se habilita la rotación automática del protector de TDE de nivel de base de datos, las bases de datos de origen y de destino deben estar conectadas al mismo almacén de claves. Agregue la clave "{0}" (desde el mismo almacén de claves que está conectado a la base de datos de origen) a la base de datos de destino "{1}".

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeysWithDatabaseName: al intentar replicar una base de datos configurada con el protector de cifrado de nivel de base de datos, las claves actuales que usa la base de datos principal deben pasarse a la base de datos secundaria "{0}"

  • 400 ManagedInstanceNoConditionToMakeDatabaseAccessible: no se pudo completar la operación porque no hay permisos suficientes para iniciar el flujo de trabajo accesible en la instancia administrada {0}.

  • 400 UmiMissingAkvPermissions: PrimaryUserAssignedIdentityId proporcionado por el usuario no tiene acceso a KeyId proporcionado

  • 400 SameKeyUriNotFoundOnRemoteServer: el servidor secundario no tiene el material de clave del mismo almacén de claves que el protector de cifrado del servidor principal con la rotación automática de claves habilitada.

  • 400 SameKeyMaterialNotFoundOnRemoteServer: el servidor secundario no tiene el material clave del protector de cifrado del servidor principal.

  • 400 SecurityAzureKeyVaultGeoChainError: no se admite la creación de una base de datos secundaria (un proceso conocido como encadenamiento) al habilitar el cifrado de datos transparente mediante Azure Key Vault (BYOK).

  • 400 PerDatabaseCMKDWNotSupported: cmK de nivel de base de datos en versión preliminar no se admite para datawarehouse edition.

  • 400 BlockSystemAssignedIdentityForCrossTenantCMK : CMK entre inquilinos solo se puede configurar cuando el servidor está configurado con una identidad administrada asignada por el usuario. Consulte https://aka.ms/sqltdebyokumi para configurar la identidad administrada asignada por el usuario.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeys: al intentar replicar una base de datos configurada con el protector de cifrado de nivel de base de datos, las claves actuales que usa la base de datos principal deben pasarse a la base de datos secundaria.

  • 400 CannotDropDatabaseAKVError: la base de datos {0} en el servidor {1} no se puede quitar de forma segura porque está cifrada con una clave administrada por el cliente que ya no es accesible para realizar la última copia de seguridad antes de la eliminación. Restaure el acceso a Azure Key Vault en el servidor y vuelva a validar las claves para que esta base de datos sea accesible y, a continuación, continúe con la eliminación. Para obtener más información, consulte https://aka.ms/tdecmkrestorability

  • 400 CreateDatabaseAttemptedWithRotationInProgress: la operación de creación de la base de datos no se puede realizar en este momento debido a la rotación de claves del cifrado de datos transparente (TDE) en curso en el servidor. Vuelva a intentar la operación más tarde.

  • 400 AzureKeyVaultKeyDisabled: no se pudo completar la operación en el servidor porque la clave de Azure Key Vault está deshabilitada.

  • 400 PerDatabaseCMKRestoreNotSupported: no se admite la restauración de la base de datos cuando cmK de nivel de base de datos está configurado en versión preliminar.

  • 400 AzureKeyVaultInvalidExpirationDate: no se pudo completar la operación porque la fecha de expiración de la clave de Azure Key Vault no es válida.

  • 400 PerDatabaseCMKHSNotSupported: cmK de nivel de base de datos en versión preliminar no se admite para la edición Hiperescala.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty: no se pudo completar la operación porque el URI de Azure Key Vault es nulo o está vacío.

  • 400 CMKOperationNotAllowed: el usuario intentó realizar una operación en el servidor cuando el servidor no tenía acceso a Azure Key Vault.

  • 400 AkvEndpointNotReachableFromNode : punto de conexión de AKV '{0}' no es accesible desde SQL, en el servidor '{1}'.

  • 400 AzureKeyVaultNoServerIdentity: la identidad del servidor no está configurada correctamente.

  • 400 AzureKeyVaultInvalidUri: una respuesta no válida de Azure Key Vault. Use un URI de Azure Key Vault válido.

  • 400 AzureKeyVaultMissingPermissions: faltan permisos necesarios en el servidor de Azure Key Vault.

  • 400 AzureKeyVaultKeyNameCurrentlyInUse: no se pudo completar la operación porque el nombre de la clave de Azure Key Vault {0} está actualmente en uso.

  • 400 AzureKeyVaultKeyThumbprintIsDifferent: no se pudo completar la operación porque el material de clave de Azure Key Vault es diferente de la clave del protector de cifrado actual.

  • 400 SecurityAzureKeyVaultInvalidKeyName: no se pudo completar la operación debido a un nombre de clave de servidor no válido.

  • 400 OldGenerationOfAKVKeyBeingUsedError: no se permite usar una versión anterior de la clave de AKV, ya que no se permite el protector de TDE. Use la versión más reciente de la clave de AKV como protector de cifrado.

  • 400 PerDatabaseCMKMissingIdentityOnGeoSecondaryDatabase: la identidad de CMK por base de datos no está configurada en la base de datos de destino.

  • 400 AdalGenericError: no se pudo completar la operación porque se encontró un error de Azure Active Directory.

  • 400 AdalServicePrincipalNotFound: no se pudo completar la operación porque no se encontró un error en una entidad de servicio de biblioteca de Azure Active Directory.

  • 400 AzureKeyVaultMalformedVaultUri: el URI proporcionado de Key Vault no es válido.

  • 400 SecurityAdalPrincipalCertExpiredError: no se pudo completar la operación porque el certificado de entidad de seguridad de Azure Key Vault ha expirado.

  • 400 AkvHostNotResolvingFromNode - host de AKV '{0}' no se puede resolver desde SQL, en el servidor '{1}'.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel: el URI proporcionado de Key Vault no es válido.

  • 400 MissingKeyVaultUriForRestore: URI de clave de Azure Key Vault '{0}' es necesario para restaurar correctamente la base de datos '{1}' en el servidor '{2}'.

  • 400 AzureKeyVaultKeyUsedOnGeoPrimary: no se pudo completar la operación porque el nombre de la clave de Azure Key Vault {0} está establecido actualmente como protector de cifrado en la base de datos geográfica principal.

  • 400 KeyMaterialNotFoundOnRemoteServer: el servidor remoto no tiene acceso al material de clave usado como protector TDE.

  • 400 PerDatabaseCMKAKVKeyMaterialMissingOnGeoSecondary: todas las bases de datos de replicación geográfica deben contener el mismo material de clave que el protector de cifrado de la base de datos de origen. Agregue la clave "{0}" con el mismo material de clave a la base de datos de destino "{1}".

  • 400 AzureKeyVaultRsaKeyNotSupported: el almacén de claves proporcionado usa el tamaño de clave RSA o el tipo de clave RSA no admitidos. El tamaño de clave RSA admitido es 2048 o 3072 y el tipo de clave es RSA o RSA-HSM.

  • 400 PerDatabaseCMKAKVKeyUriMissingOnGeoSecondary: cuando se habilita la rotación automática del protector de TDE de nivel de base de datos, las bases de datos de origen y de destino deben estar conectadas al mismo almacén de claves. Agregue la clave "{0}" (desde el mismo almacén de claves que está conectado a la base de datos de origen) a la base de datos de destino "{1}".

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeysWithDatabaseName: al intentar replicar una base de datos configurada con el protector de cifrado de nivel de base de datos, las claves actuales que usa la base de datos principal deben pasarse a la base de datos secundaria "{0}"

  • 400 ManagedInstanceNoConditionToMakeDatabaseAccessible: no se pudo completar la operación porque no hay permisos suficientes para iniciar el flujo de trabajo accesible en la instancia administrada {0}.

  • 400 UmiMissingAkvPermissions: PrimaryUserAssignedIdentityId proporcionado por el usuario no tiene acceso a KeyId proporcionado

  • 400 SameKeyUriNotFoundOnRemoteServer: el servidor secundario no tiene el material de clave del mismo almacén de claves que el protector de cifrado del servidor principal con la rotación automática de claves habilitada.

  • 400 SameKeyMaterialNotFoundOnRemoteServer: el servidor secundario no tiene el material clave del protector de cifrado del servidor principal.

  • 400 SecurityAzureKeyVaultGeoChainError: no se admite la creación de una base de datos secundaria (un proceso conocido como encadenamiento) al habilitar el cifrado de datos transparente mediante Azure Key Vault (BYOK).

  • 400 PerDatabaseCMKDWNotSupported: cmK de nivel de base de datos en versión preliminar no se admite para datawarehouse edition.

  • 400 BlockSystemAssignedIdentityForCrossTenantCMK : CMK entre inquilinos solo se puede configurar cuando el servidor está configurado con una identidad administrada asignada por el usuario. Consulte https://aka.ms/sqltdebyokumi para configurar la identidad administrada asignada por el usuario.

  • 400 PerDatabaseCMKCopyOrReplicationAttemptedWithoutCurrentKeys: al intentar replicar una base de datos configurada con el protector de cifrado de nivel de base de datos, las claves actuales que usa la base de datos principal deben pasarse a la base de datos secundaria.

  • 400 CannotDropDatabaseAKVError: la base de datos {0} en el servidor {1} no se puede quitar de forma segura porque está cifrada con una clave administrada por el cliente que ya no es accesible para realizar la última copia de seguridad antes de la eliminación. Restaure el acceso a Azure Key Vault en el servidor y vuelva a validar las claves para que esta base de datos sea accesible y, a continuación, continúe con la eliminación. Para obtener más información, consulte https://aka.ms/tdecmkrestorability

  • 400 CreateDatabaseAttemptedWithRotationInProgress: la operación de creación de la base de datos no se puede realizar en este momento debido a la rotación de claves del cifrado de datos transparente (TDE) en curso en el servidor. Vuelva a intentar la operación más tarde.

  • 400 AzureKeyVaultKeyDisabled: no se pudo completar la operación en el servidor porque la clave de Azure Key Vault está deshabilitada.

  • 400 PerDatabaseCMKRestoreNotSupported: no se admite la restauración de la base de datos cuando cmK de nivel de base de datos está configurado en versión preliminar.

  • 400 AzureKeyVaultInvalidExpirationDate: no se pudo completar la operación porque la fecha de expiración de la clave de Azure Key Vault no es válida.

  • 400 PerDatabaseCMKHSNotSupported: cmK de nivel de base de datos en versión preliminar no se admite para la edición Hiperescala.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty: no se pudo completar la operación porque el URI de Azure Key Vault es nulo o está vacío.

  • 400 CMKOperationNotAllowed: el usuario intentó realizar una operación en el servidor cuando el servidor no tenía acceso a Azure Key Vault.

  • 400 AkvEndpointNotReachableFromNode : punto de conexión de AKV '{0}' no es accesible desde SQL, en el servidor '{1}'.

  • 400 AzureKeyVaultNoServerIdentity: la identidad del servidor no está configurada correctamente.

  • 400 AzureKeyVaultInvalidUri: una respuesta no válida de Azure Key Vault. Use un URI de Azure Key Vault válido.

  • 400 AzureKeyVaultMissingPermissions: faltan permisos necesarios en el servidor de Azure Key Vault.

  • 400 AzureKeyVaultKeyNameCurrentlyInUse: no se pudo completar la operación porque el nombre de la clave de Azure Key Vault {0} está actualmente en uso.

  • 400 AzureKeyVaultKeyThumbprintIsDifferent: no se pudo completar la operación porque el material de clave de Azure Key Vault es diferente de la clave del protector de cifrado actual.

  • 400 SecurityAzureKeyVaultInvalidKeyName: no se pudo completar la operación debido a un nombre de clave de servidor no válido.

  • 400 OldGenerationOfAKVKeyBeingUsedError: no se permite usar una versión anterior de la clave de AKV, ya que no se permite el protector de TDE. Use la versión más reciente de la clave de AKV como protector de cifrado.

  • 400 PerDatabaseCMKMissingIdentityOnGeoSecondaryDatabase: la identidad de CMK por base de datos no está configurada en la base de datos de destino.

  • 400 AdalGenericError: no se pudo completar la operación porque se encontró un error de Azure Active Directory.

  • 400 AdalServicePrincipalNotFound: no se pudo completar la operación porque no se encontró un error en una entidad de servicio de biblioteca de Azure Active Directory.

  • 400 AzureKeyVaultMalformedVaultUri: el URI proporcionado de Key Vault no es válido.

  • 404 ServerNotInSubscriptionResourceGroup: el servidor especificado no existe en el grupo de recursos y la suscripción especificados.

  • 404 SubscriptionDoesNotHaveServer: no se encontró el servidor solicitado.

  • 404 ResourceNotFound: no se encontró el recurso solicitado.

  • 404 OperationIdNotFound: la operación con id. no existe.

  • 409 ServerKeyNameAlreadyExists: la clave de servidor ya existe en el servidor.

  • 409 ServerKeyUriAlreadyExists: el URI de la clave de servidor ya existe en el servidor.

  • 409 ServerKeyDoesNotExists: la clave del servidor no existe.

  • 409 AzureKeyVaultKeyNameNotFound: no se pudo completar la operación porque el nombre de la clave de Azure Key Vault no existe.

  • 409 AzureKeyVaultKeyInUse: el servidor usa actualmente la clave.

  • 409 ServerKeyNameAlreadyExists: la clave de servidor ya existe en el servidor.

  • 409 ServerKeyUriAlreadyExists: el URI de la clave de servidor ya existe en el servidor.

  • 409 ServerKeyDoesNotExists: la clave del servidor no existe.

  • 409 AzureKeyVaultKeyNameNotFound: no se pudo completar la operación porque el nombre de la clave de Azure Key Vault no existe.

  • 409 AzureKeyVaultKeyInUse: el servidor usa actualmente la clave.

  • 409 CannotCancelOperation: la operación de administración está en un estado que no se puede cancelar.

  • 409 OperationCancelled: el usuario canceló la operación.

  • 409 OperationInterrupted: no se pudo completar la operación en el recurso porque se interrumpió otra operación en el mismo recurso.

  • 429 SubscriptionTooManyCreateUpdateRequests: solicitudes más allá de las solicitudes máximas que pueden procesar los recursos disponibles.

  • 429 SubscriptionTooManyRequests: solicitudes más allá de las solicitudes máximas que los recursos disponibles pueden procesar.

  • 500 OperationTimedOut: la operación agota el tiempo de espera y se revierte automáticamente. Vuelva a intentar la operación.

  • 503 AzureKeyVaultConnectionFailed: no se pudo completar la operación en el servidor porque se ha producido un error al intentar conectarse a Azure Key Vault

  • 503 AzureKeyVaultGenericConnectionError: no se pudo completar la operación porque se encontró un error al intentar recuperar información de Key Vault.

  • 503 AzureKeyVaultConnectionFailed: no se pudo completar la operación en el servidor porque se ha producido un error al intentar conectarse a Azure Key Vault

  • 503 AzureKeyVaultGenericConnectionError: no se pudo completar la operación porque se encontró un error al intentar recuperar información de Key Vault.

  • 503 TooManyRequests: solicitudes más allá de las solicitudes máximas que pueden procesar los recursos disponibles.

Ejemplos

Creates or updates a server key

Solicitud de ejemplo

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

Respuesta de muestra

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

Definiciones

Nombre Description
ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta de error

ServerKey

Una clave de servidor.

ServerKeyType

El tipo de clave de servidor, como "ServiceManaged", "AzureKeyVault".

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

Nombre Tipo Description
info

object

Información adicional.

type

string

Tipo de información adicional.

ErrorDetail

Detalle del error.

Nombre Tipo Description
additionalInfo

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Detalles del error.

message

string

Mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

Objeto de error.

ServerKey

Una clave de servidor.

Nombre Tipo Description
id

string

Identificador de recurso.

kind

string

Tipo de protector de cifrado. Estos son los metadatos que se usan para la experiencia de Azure Portal.

location

string

Ubicación del recurso.

name

string

Nombre del recurso.

properties.autoRotationEnabled

boolean

Marca de participación de rotación automática de claves. True o false.

properties.creationDate

string (date-time)

Fecha de creación de la clave de servidor.

properties.serverKeyType

ServerKeyType

El tipo de clave de servidor, como "ServiceManaged", "AzureKeyVault".

properties.subregion

string

Subdivisión de la clave de servidor.

properties.thumbprint

string

Huella digital de la clave del servidor.

properties.uri

string

Identificador URI de la clave del servidor. Si ServerKeyType es AzureKeyVault, se requiere el URI. El URI de AKV debe estar en este formato: "https://YourVaultName.vault.azure.net/keys/YourKeyName/YourKeyVersion"

type

string

Tipo de recurso.

ServerKeyType

El tipo de clave de servidor, como "ServiceManaged", "AzureKeyVault".

Valor Description
AzureKeyVault
ServiceManaged