IBM Cloud Docs
Mensajes de error

Mensajes de error

Estos mensajes de error los crea Key Protect y se muestra en la interfaz de usuario (IU).

La mayoría de los mensajes de error tienen uno o más ejemplos, normalmente curl, que muestran la solicitud y la respuesta.

Esta no es una lista completa de mensajes de error. Algunos mensajes los crean otros sistemas, como por ejemplo IAM (Identity and Access Management), donde el mensaje de error se pasa desde otro sistema, como por ejemplo IAM, a Key Protect al usuario.

Tabla de contenido

La tabla de contenido está ordenada por mensaje de error.

Algunos mensajes de error aparecen más de una vez; en estos casos se incluye el código de estado de HTTP al final del mensaje de error.

  1. El total de recopilación no coincide con el número... detalles
  2. Los datos del cuerpo no coinciden con los datos que necesita... detalles
  3. No se ha podido extraer el asunto de la señal portadora... detalles
  4. Se han pasado datos de cuerpo no válidos... detalles
  5. Error de campo no válido... detalles
  6. No se ha podido suprimir la clave... detalles
  7. La clave ya se ha suprimido... detalles
  8. La clave no está en un estado válido (409) detalles
  9. La clave no está en un estado válido (422) detalles
  10. La clave está protegiendo uno o más recursos... detalles
  11. Los metadatos de clave han quedado dañados... detalles
  12. La restauración de la clave ha caducado detalles
  13. Política de instancia KeyCreateImportAccess... detalles
  14. Falta el cuerpo en la solicitud detalles
  15. Número de autorizaciones necesarias para... detalles
  16. Sólo se puede crear una política de una sola instancia... detalles
  17. Only imported keys may be restored detalles
  18. La acción solicitada solo se puede completar con una clave raíz (400) detalles
  19. La acción solicitada solo se puede completar con una clave raíz (422) detalles
  20. El cambio solicitado no es compatible con las reglas de configuración detalles
  21. La firma no es válida detalles
  22. No se ha podido llevar a cabo la acción en... detalles
  23. El nonce cifrado proporcionado no coincide... detalles
  24. La señal de importación ha caducado detalles
  25. La clave no se puede suprimir porque está... detalles
  26. La clave no tiene autorización dual habilitada y... detalles
  27. La clave se ha actualizado recientemente details
  28. El texto cifrado proporcionado no es válido o... detalles
  29. El nonce de cifrado proporcionado no estaba... detalles
  30. El o los recursos consultados no pertenecen al servicio. detalles
  31. Esta acción solo la puede realizar un servicio... detalles
  32. Esta acción no está permitida en este... detalles
  33. Esta solicitud requiere que la versión de clave... detalles
  34. Esta clave raíz se ha rotado dentro de... detalles
  35. Esta clave raíz se ha creado con material de clave... detalles
  36. No autorizado: El usuario no tiene... detalles

1 - La recopilación total no coincide con el número de...

Mensaje

El total de la recopilación no coincide con el número de recursos

Código de razón: COLLECTION_TOTAL_MISMATCH_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se produce cuando una política de instancia se crea.

El valor del campo metadata.collectionTotal no coincide con el número de recursos de la matriz resources.

La solicitud create instance policy falla porque el metadata.collectionTotal es 2, mientras que se ha proporcionado 1 (uno) recurso en el Matriz resources.

# this request fails because the collectionTotal is 2 and there is 1 (one) resource
$ curl -X PUT \
    "https://us-south.kms.cloud.ibm.com/api/v2/instance/policies?policy=dualAuthDelete" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.policy+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.policy+json",
                "collectionTotal": 2
            },
            "resources": [
                {
                    "policy_type": "dualAuthDelete",
                    "policy_data": {
                        "enabled": false
                    }
                }
            ]
        }'

Respuesta JSON

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources":[
        {
            "errorMsg": "Bad Request: Instance policy could not be created. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "COLLECTION_TOTAL_MISMATCH_ERR",
                    "message": "Collection total does not match number of resources",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

2 - Los datos del cuerpo no coinciden con los datos necesarios...

Mensaje

Los datos del cuerpo no coinciden con los datos que necesita el parámetro de consulta

Código de razón: BODY_QUERY_PARAM_MISMATCH_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se produce cuando una política de instancia se crea.

El parámetro de consulta, que especifica la política dualAuthDelete, allowedNetwork, o allowedIP ), no coincide con el primer policy_type en el campo resources matriz.

La solicitud create instance policy falla porque el parámetro de consulta policy (dualAuthDelete) no coincide con resources.policy_type (badName).

# this request fails because the query parameter does not match the resource
$ curl -X PUT \
    "https://us-south.kms.cloud.ibm.com/api/v2/instance/policies?policy=dualAuthDelete" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.policy+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.policy+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "policy_type": "badName",
                    "policy_data": {
                        "enabled": false
                    }
                }
            ]
        }'

Respuesta JSON

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Instance policy could not be created. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "BODY_QUERY_PARAM_MISMATCH_ERR",
                    "message": "Data in body does not match data required by query parameter",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

3 - Extracción del asunto desde la señal de portadora...

Mensaje

No se ha podido extraer el asunto desde la señal de portadora: Asegúrese de que la señal de portadora que se ha pasado sea la correcta (y tenga el formato correcto) y que pueda realizar las acciones solicitadas

Código de razón: BEARER_SUB_EXTRACTION_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

La señal de acceso de Identity and Access Management (IAM) o su formato no son válidos. Si se trata de una solicitud curl, por lo que la cabecera authorization se debe establecer con este formato:

-H "authorization: Bearer $ACCESS_TOKEN"

En función de la plataforma (Linux, Mac, Windows) o del shell (bash, sh, zsh) que utilice, debe tener en cuenta el uso de comillas simples o dobles. Algunos sistemas no interpretarán las variables especificadas entre comillas simples, Por ejemplo, ('Bearer $ACCESS_TOKEN') no puede sustituir $ACCESS_TOKEN por el valor.

Asegúrese de que especifica una señal de IAM válida. Es posible que tenga que iniciar una sesión (de nuevo) si la señal ha caducado. Estas son algunas líneas del código de la interfaz de línea de mandatos (CLI) para iniciar sesión y establecer la señal de acceso.

# login with single sign on (sso)
$ ibmcloud login --sso

# set the region (-r) and resource group (-g)
$ ibmcloud target -r us-south -g Default

# set the ACCESS_TOKEN environment variable (with Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'`

# show the access token
$ echo $ACCESS_TOKEN

Bearer eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh...<redacted>...o4qlcKjl9sVqLa8Q

# set the ACCESS_TOKEN environment variable (without Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d ' ' -f 5 | sed 's/^ *//'`

eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh...<redacted>...o4qlcKjl9sVqLa8Q

4 - Se han pasado datos del cuerpo no válidos...

Mensaje

Se han pasado datos del cuerpo no válidos: Asegúrese de que los datos que se han pasado tengan el formato válido sin caracteres no válidos

Código de razón: BAD_BODY_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Estos son algunos ejemplos de este error:

  • Cree una política de la instancia

    • Solo se puede crear una de cada política
    • No se ha proporcionado ninguna sección resources
    • Campos superfluos en la sección resources (consulte el ejemplo 1)
  • Crear una clave

    • Se requiere un recurso (consulte el ejemplo 2)
    • Los metadatos están vacíos (consulte el ejemplo 3)
    • La clave tiene un valor de cero o está vacía

Ejemplo 1

La solicitud create instance policy falla debido a que el recurso contiene un campo adicional (extra_field).

# this request fails because there is an extra field in the body
$ curl -X PUT \
    "https://us-south.kms.cloud.ibm.com/api/v2/instance/policies?policy=dualAuthDelete" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.policy+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.policy+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "policy_type": "dualAuthDelete",
                    "policy_data": {
                        "enabled": false
                    },
                    "extra_field": "junk data"
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Instance policy could not be created. Please see `reasons` for more details.",
            "reasons":[
                {
                    "code": "BAD_BODY_ERR",
                    "message": "Invalid body data was passed. Please ensure the data passed had valid formatting with no invalid characters: json: unknown field \"extra_field\"",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Ejemplo 2

La solicitud create key falla porque hay más de 1 (un) recurso.

# this request fails because there is more than 1 (one) resource
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "Root-key-1",
                    "description": "example-key",
                    "extractable": false
                },
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "Root-key-2",
                    "description": "example-key",
                    "extractable": false
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Key could not be created. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "BAD_BODY_ERR",
                    "message": "Invalid body data was passed. Please ensure the data passed had valid formatting with no invalid characters: Only creation of one key per request is supported",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Ejemplo 3

Esta solicitud de creación de clave falla debido a que la sección metadata está vacía.

# this request fails because the metadata is empty
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json" \
    -d '{
            "metadata": {},
            "resources": [
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "Root-key-1",
                    "description": "example-key",
                    "extractable": false
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Key could not be created. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "BAD_BODY_ERR",
                    "message": "Invalid body data was passed. Please ensure the data passed had valid formatting with no invalid characters: CollectionMetadata is empty",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

5- Error de clave no válida...

Mensaje

Al envolver una clave, el mensaje The field 'plaintext' must be: a base64 encoded key material se mostrará si se pasa un texto sin formato no válido en la solicitud.

Al desenvolver una clave, el mensaje The field 'ciphertext' must be: the original base64 encoded ciphertext from the wrap operation si se pasa un texto cifrado no válido.

Código de estado HTTP

400

Contexto

Una solicitud de ejemplo para envolver una clave que falla:

curl -X POST \
"https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/wrap" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "bluemix-instance: <KP_INSTANCE_ID>" \
-H "application/vnd.ibm.kms.key_action+json" \
-d '{
    "plaintext": "q+x3Qi.../BVb8bPj....vVD;",
}'

La respuesta:

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Wrap with key could not be performed: Please see `reasons` for more details (INVALID_FIELD_ERR)",
            "reasons": [
                {
                    "code": "INVALID_FIELD_ERR",
                    "message": "The field `plaintext` must be: a base64 encoded key material: illegal base64 data at input byte 38",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect",
                    "target": {
                        "type": "field",
                        "name": "plaintext"
                    }
                }
            ]
        }
    ]
}

Una solicitud de ejemplo para desenvolver una clave que falla:

request:

curl -X POST \
"https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/unwrap" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "bluemix-instance: <KP_INSTANCE_ID>" \
-H "application/vnd.ibm.kms.key_action+json" \
-d '{
    "ciphertext": "eyJjaXBoZXJ0ZXh0IjoiUnl...hYTUtNDNmMi05NTc5LWM2NjAzN2EwNjhkNyJ"
}'

La respuesta:

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Unwrap with key could not be performed: Please see 'reasons' for more details (INVALID_FIELD_ERR)",
            "reasons": [
                {
                    "code": "INVALID_FIELD_ERR",
                    "message": "The field 'ciphertext' must be: the original base64 encoded ciphertext from the wrap operation: illegal base64 data at input byte 208",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect",
                    "target": {
                        "type": "field",
                        "name": "ciphertext"
                    }
                }
            ]
        }
    ]
}

6 - No se ha podido suprimir la clave...

Código de estado HTTP

409 - Conflicto

El código de respuesta de error del cliente HTTP 409 Conflict indica que se puede resolver un error en la solicitud de cliente según el código de razón especificado devuelto.

Contexto

El mensaje devuelve una razón en el mensaje que proporciona el contexto específico.

Mensaje

Código de razón: AUTHORIZATIONS_NOT_MET

La clave no se puede suprimir porque ha fallado la solicitud de autorización dual. Antes de suprimir esta clave, asegúrese de que se siguen los procedimientos de autorización dual. Consulte el tema Supresión de claves utilizando la autorización dual.

Código de razón: PROTECTED_RESOURCE_ERR

La clave no se puede suprimir porque la clave tiene uno o varios recursos asociados. Consulte el tema Consideraciones antes de suprimir y depurar una clave.

Código de razón: PREV_KEY_DEL_ERR

La clave no se puede suprimir porque protege un recurso en la nube que tiene una política de retención. Antes de suprimir esta clave, póngase en contacto con el propietario de una cuenta para eliminar la política de retención de cada recurso asociado a la clave. Consulte el tema Consideraciones antes de suprimir y depurar una clave.

Respuesta de ejemplo 1

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Key could not be deleted. Please 'reasons' for more details.",
            "reasons": [
                {
                    "code": "AUTHORIZATIONS_NOT_MET",
                    "message": "The key cannot be deleted because it failed the dual authorization request.",
                    "status": 409,
                    "moreInfo":"https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Respuesta de ejemplo 2

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Key could not be deleted. Please 'reasons' for more details.",
            "reasons": [
                {
                    "code": "PROTECTED_RESOURCE_ERR",
                    "message": "The key cannot be deleted because the key has one or more associated resources.",
                    "status": 409,
                    "moreInfo":"https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Respuesta de ejemplo 3

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Key could not be deleted. Please 'reasons' for more details.",
            "reasons": [
                {
                    "code": "PREV_KEY_DEL_ERR",
                    "message": "The key cannot be deleted because it's protecting a cloud resource that has a retention policy.",
                    "status": 409,
                    "moreInfo":"https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

7 - La clave ya se ha suprimido...

Mensaje

La clave ya se ha suprimido, Suprima las referencias a esta clave

Código de razón: KEY_DELETED_ERR

Código de estado HTTP

410 - Ausente

El código de respuesta de error del cliente HTTP 410 Gone indica que el acceso al recurso de destino ya no está disponible en el servidor de origen y que es probable que esta condición sea permanente.

Si no sabe si esta condición es temporal o permanente, se debe utilizar un código de estado 404 en su lugar.

De forma predeterminada, una respuesta 410 se puede guardar en la memoria caché.

Contexto

La solicitud delete key falla debido a que la clave se ha suprimido anteriormente. No puede suprimir una clave más de una vez.

Ejemplo

# delete an existing key
$ ibmcloud kp key delete $KEY_ID -i $KP_INSTANCE_ID

Deleting key: '0c17...<redacted>...5c34', from instance: 'a192...<redacted>...7411'...
OK
Deleted Key
0c17...<redeacted>...5c34

# this request fails because the key was previously deleted
$ curl -X DELETE \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Gone: Key could not be deleted. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "KEY_DELETED_ERR",
                    "message": "Key has already been deleted. Please delete references to this key.",
                    "status": 410,
                    "moreInfo":"https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

7 - La clave no está en un estado válido

Mensaje

La clave no está en un estado válido

Código de razón: KEY_ACTION_INVALID_STATE_ERR

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Este error se genera cuando se realiza una "acción" en una clave y el estado de la clave no es válido.

Algunas acciones a tener en cuenta:

  • El estado de la clave debe ser activo (el valor de estado es 1) para poder envolver, desenvolver, rotar, establecer la clave para supresión (autorización dual), anular el establecimiento de una clave para supresión (autorización dual) o para inhabilitar la clave

  • Este error se genera cuando intenta habilitar una clave caducada (el valor de estado es 3) o restaurar una clave que se ha destruido (el valor de estado es 5)

Ejemplo 1

La solicitud key disable falla debido a que no puede inhabilitar una clave que se ha inhabilitado anteriormente.

# disable a key the first time
$ ibmcloud kp key disable $KEY_ID -i $KP_INSTANCE_ID

Disabling key: '6933...<redacted>...5dbf', in instance: 'a192...<redacted>...7411'...
OK

# this CLI request fails because the key is deleted a second time
$ ibmcloud key disable $KEY_ID -i $KP_INSTANCE_ID

Disabling key: '69332...<redacted>...5dbf', in instance: 'a192...<redacted>...7411'...
FAILED
kp.Error:
    correlation_id='aca1...<redacted>...66e9',
    msg='Conflict:
        Key is not in active state:
        Key could not be disabled.
        Please see `reasons` for more details.',
    reasons='[KEY_ACTION_INVALID_STATE_ERR:
        Key is not in a valid state -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

# this API request fails because the key is deleted a third time
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/disable" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: Key is not in active state: Key could not be disabled. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "KEY_ACTION_INVALID_STATE_ERR",
                    "message": "Key is not in a valid state",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Ejemplo 2

La solicitud key disable falla debido a que la clave ha caducado y está intentando cambiar el estado de la clave de inhabilitado (el valor del estado es 3) a habilitado (el valor del estado es 1).

Los pasos siguientes devuelven un error de key has been disabled.

  1. Cree una clave con una fecha de caducidad

  2. Dejar que transcurra la fecha de caducidad

  3. Habilite la clave

# on a Mac, add 1 (one) minute to the current time
$ EXPIRE=$(date -u -v+1M "+%Y-%m-%dT%H:%M:%SZ")

$ echo $EXPIRE

# step 1 - create a key with an expiration date
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "Root-key-1",
                    "description": "example-key",
                    "expirationDate": "'$EXPIRE'",
                    "extractable": false
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "type": "application/vnd.ibm.kms.key+json",
            "id": "88d649f8-41b8-4426-b52b-45c88953d5b8",
            "name": "Root-key-1",
            "description": "example-key",
            "state": 1,
            "expirationDate": "2020-08-12T23:38:09Z",
            "extractable": false,
            "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:88d649f8-41b8-4426-b52b-45c88953d5b8",
            "imported": false,
            "deleted": false
        }
    ]
}
# capture the key id
$ KEY_ID=88d649f8-41b8-4426-b52b-45c88953d5b8

# step 2 - allow the expiration date to pass by sleeping for 1 (one) minute
$ sleep 60

# step 3 - fails because you cannot enable a key after the expiration date
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/enable" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: Key is not in suspended state: Key could not be enabled. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code":" KEY_ACTION_INVALID_STATE_ERR",
                    "message": "Key is not in a valid state",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

8 - La clave no está en un estado válido

Mensaje

La clave no está en un estado válido

Código de razón: KEY_ACTION_INVALID_STATE_ERR

Código de estado HTTP

422 - Entidad no procesable

El código de estado HTTP de respuesta 422 Unprocessable Entity indica que el servidor comprende el tipo de contenido de la entidad de la solicitud, y la sintaxis de la entidad de la solicitud es correcta, pero no ha podido procesar las instrucciones que contiene.

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se aplica a las claves utilizadas para los "Registros."

El estado la clave debe ser activo (el valor de estado es 1) cuando se registra la clave con un recurso de nube.

Los registros son asociaciones entre las claves raíz y otros recursos de nube, tales como los grupos de COS (Cloud Object Storage) o los despliegues de bases de datos de la nube.

Para obtener más información sobre los registros, consulte visualización de asociaciones entre claves raíz y recursos cifrados de IBM Cloud.

9 - La clave está protegiendo una o varias nubes...

Mensaje

La clave está protegiendo uno o varios recursos de nube

Código de razón: PROTECTED_RESOURCE_ERR

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Este error se aplica a las claves utilizadas para los "Registros."

Una clave registrada para un recurso en la nube no puede eliminarse a menos que la clave force está especificada.

Debe utilizar la opción force para suprimir una clave raíz que esté registrada con otro recurso de nube.

Los registros son asociaciones entre las claves raíz y otros recursos de nube, tales como los grupos de COS (Cloud Object Storage) o los despliegues de bases de datos de la nube.

Para obtener más información sobre los registros, consulte visualización de asociaciones entre claves raíz y recursos cifrados de IBM Cloud.

Véase esta explicación sobre la eliminación de claves que están registradas en otro recurso de la nube (consulte la sección force ).

# this CLI request fails because the registration was not deleted
$ ibmcloud kp key delete $KEY_ID -i $KP_INSTANCE_ID

Deleting key: 52a9d772-8982-4620-bfb4-b070dd812a0c, from instance: b0d84b32-09d0-4314-8049-da78e3b9ab6f...
FAILED
kp.Error:
    correlation_id='c27b7948-4a1f-4cbd-8770-cb3616888e27',
    msg='Conflict:
        Key could not be deleted.
        Please see "reasons" for more details.',
    reasons='[PROTECTED_RESOURCE_ERR:
        Key is protecting one or more cloud resources -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/docs/key-protect?topic=key-protect-troubleshooting#unable-to-delete-keys]'

# this CLI request succeeds when using the --force option
# the registration between Key Protect and the cloud resource exists
$ ibmcloud kp key delete $KEY_ID -i $KP_INSTANCE_ID --force --output json

{
    "id": "52a9d772-8982-4620-bfb4-b070dd812a0c"
}

10 - Los metadatos de la clave se han dañado...

Mensaje

Los metadatos de la clave se han dañado: Suprima esta clave

Código de razón: INCOMPLETE_METADATA_ERR

Código de estado HTTP

500 Error de servidor interno

El código de respuesta HTTP de error del servidor 500 Internal Server indica que el servidor ha encontrado una condición inesperada que le ha impedido cumplir la solicitud.

Esta respuesta de error es una respuesta genérica de tipo "catch-all". Normalmente, esto indica que el servidor no puede encontrar un código de error 5xx mejor como respuesta. Algunas veces, los administradores del servidor registran respuestas de error como el código de estado 500 con más detalles sobre la solicitud para impedir que se repita el error en el futuro.

Contexto

Este error se devuelve cuando hay un error interno.

Si obtiene este error, póngase en contacto con Soporte IBM

11 - La restauración de claves ha caducado

Mensaje

La restauración de claves ha caducado

Código de razón: KEY_RESTORE_EXPIRED

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se genera cuando intenta restaurar una clave que se ha suprimido hace más de 30 días.

12 - Política de instancia de KeyCreateImportAccess...

Mensaje

La política de la instancia de KeyCreateImportAccess no permite esta acción

Código de razón: KEY_CREATE_IMPORT_ACCESS_ERR

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

La política de instancia de KeyCreateImportAccess se ha habilitado y no se ha permitido una solicitud para crear o importar una clave.

Por ejemplo, la política de la instancia no permite crear una clave estándar y se ha rechazado una solicitud para crear una clave estándar.

Ejemplo

Los pasos siguientes devuelven este error.

  1. Habilitar la política de instancia y evitar la creación de claves estándar

  2. Intento de crear una clave estándar, que falla

  3. Eliminar (inhabilitar) la política de instancia, que permite crear claves estándar

  4. Crear una clave estándar, que tiene éxito

# step 1 - enable an instance policy, which prevents creating standard keys
$ curl -X PUT \
    "https://us-south.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess" \
    -H "accept: application/vnd.ibm.kms.policy+json" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.policy+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.policy+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "policy_type": "keyCreateImportAccess",
                    "policy_data": {
                        "enabled": true,
                        "attributes": {
                            "create_root_key": true,
                            "create_standard_key": false,
                            "import_root_key": true,
                            "import_standard_key": true,
                            "enforce_token": true
                        }
                    }
                }
            ]
        }'

# step 2a - fails when using the ibmcloud CLI
# because the instance policy prevents creating standard keys
$ ibmcloud kp key create my-standard-key --standard-key

FAILED
kp.Error:
    correlation_id='43c45c85-7a1f-478c-b235-49decec8c88f',
    msg='Conflict:
        Key could not be created:
        Please see `reasons` for more details (KEY_CREATE_IMPORT_ACCESS_ERR)',
    reasons='[KEY_CREATE_IMPORT_ACCESS_ERR:
        KeyCreateImportAccess instance policy does not allow this action -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

# step 2b - fails when using the the ibmcloud API
# because the instance policy prevents creating standard keys
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "my-standard-key",
                    "description": "my-standard-key",
                    "extractable": true
                }
            ]
        }'

Respuesta JSON de la API de ibmcloud

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: Key could not be created: Please see `reasons` for more details (KEY_CREATE_IMPORT_ACCESS_ERR)",
            "reasons": [
                {
                    "code": "KEY_CREATE_IMPORT_ACCESS_ERR",
                    "message": "KeyCreateImportAccess instance policy does not allow this action",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Los pasos 3-4 inhabilitan la política keyCreateImportAccess y crean correctamente una clave estándar.

# step 3 - disable the policy, that is, enable creating standard keys
$ curl -X PUT \
    "https://us-south.kms.cloud.ibm.com/api/v2/instance/policies?policy=keyCreateImportAccess" \
    -H "accept: application/vnd.ibm.kms.policy+json" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.policy+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.policy+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "policy_type": "keyCreateImportAccess",
                    "policy_data": {
                        "enabled": false
                    }
                }
            ]
        }'

# step 4a - create a standard key using the ibmcloud CLI
$ ibmcloud kp key create my-standard-key --standard-key -o json

{
    "id": "3511e0bc-e32d-40b8-b6c2-96cd651858a4",
    "name": "my-standard-key",
    "type": "application/vnd.ibm.kms.key+json",
    "extractable": true,
    "state": 1,
    "crn": "crn:v1:bluemic:public:kms:us-south:a/819bdf4436ef4c198fdf4f0b81d53116:87fa68d0-fa10-47d0-a201-603949808530:key:3511e0bc-e32d-40b8-b6c2-96cd651858a4",
    "deleted": false
}

# step 4b - create a standard key using the ibmcloud API
curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "my-standard-key",
                    "description": "my-standard-key",
                    "extractable": true
                }
            ]
        }'

Respuesta JSON de la API de ibmcloud

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "type": "application/vnd.ibm.kms.key+json",
            "id": "60d72058-ec53-4d77-b7ef-ba56443e76d5",
            "name": "my-standard-key",
            "description": "my-standard-key",
            "state": 1,
            "extractable": true,
            "crn":"crn:v1:bluemix:public:kms:us-south:a/819bdf4436ef4c198fdf4f0b81d53116:87fa68d0-fa10-47d0-a201-603949808530:key:60d72058-ec53-4d77-b7ef-ba56443e76d5",
            "imported": false,
            "deleted": false
        }
    ]
}

13 - Falta el cuerpo en la solicitud

Mensaje

Falta el cuerpo de la solicitud

Código de razón: BAD_BODY_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se produce cuando se "vuelve a envolver" o se "desenvuelve" una clave y no hay ningún cuerpo.

Ejemplo

Los pasos siguientes devuelven un error de missing body in request.

  1. Cree una clave raíz

  2. Cree una clave de cifrado de datos (DEK), es decir el plaintext

  3. Envuelva la DEK con la clave raíz, lo que crea un texto cifrado (ciphertext)

  4. La solicitud falla cuando intenta desenvolver el nuevo texto cifrado para revelar la DEK (texto sin formato) original debido a que falta el cuerpo

  5. La solicitud desenvuelve correctamente el nuevo texto cifrado para revelar la DEK original (texto sin formato) debido a que se ha especificado el cuerpo

# step 1 - create a root key
$ KEY_ID=$(ibmcloud kp key create example-key -i $KP_INSTANCE_ID --output json | jq -r '.["id"]')

$ echo $KEY_ID

66ffaf5b-86c8-4a50-8a2a-920ae71f86dc

# step 2 - create a random, base64-encoded, 32-byte data encryption key (DEK)
$ PLAINTEXT=$(openssl rand -base64 32)

$ echo $PLAINTEXT

2eLAD3LyD3H2bq8dIDAy0A/lN9DSE/Ne3bwu40CdErs=

# step 3 - wrap the DEK (plaintext key) with the root key, creating the ciphertext
$ CIPHERTEXT=$(ibmcloud kp key wrap $KEY_ID -i $KP_INSTANCE_ID -p $PLAINTEXT --output json | jq -r '.["Ciphertext"]')

$ echo $CIPHERTEXT

eyJjaXBoZXJ0ZXh0IjoiR0VnTFZGSmpK...<redacted>...YWU3MWY4NmRjIn0=

# step 4 - fails to unwrap the ciphertext, which reveals the original DEK
# (plaintext), because there is no body (the -d option)
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/unwrap" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json"

Respuesta JSON

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Action could not be performed on key. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "NO_BODY_ERR",
                    "message": "Missing body in request",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}
# step 5 - succeeds to unwrap the ciphertext because the request is complete
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/unwrap" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json" \
    -d '{
            "ciphertext": "'$CIPHERTEXT'"
        }'

Respuesta JSON

{
    "plaintext": "2eLAD3LyD3H2bq8dIDAy0A/lN9DSE/Ne3bwu40CdErs=",
    "keyVersion": {
        "id": "66ffaf5b-86c8-4a50-8a2a-920ae71f86dc"
    }
}

14 - Número de autorizaciones necesarias para...

Mensaje

No se cumple con el número de autorizaciones necesarias para la supresión

Código de razón: AUTHORIZATIONS_NOT_MET

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Una clave con una dual authorization policy no se puede suprimir sin la autorización de dos usuarios.

Ejemplo

En estos pasos se muestra cómo crear el mensaje de error.

  1. Cree una clave raíz

  2. Habilite la política de autorización dual

  3. Obtenga una lista de las políticas (verifique que la autorización dual está habilitada)

  4. Suprima la clave, lo cual falla debido a que no hay suficientes autorizaciones para suprimir la clave

# step 1 - create a root key
$ KEY_ID=$(ibmcloud kp key create example-key -i $KP_INSTANCE_ID --output json | jq -r '.["id"]')

$ echo $KEY_ID

8f97b016-bc31-4e3d-9cd6-a0a1c7caffdb

# step 2 - enable the dual authorization policy
$ ibmcloud kp key policy-update dual-auth-delete $KEY_ID -i $KP_INSTANCE_ID --enable

Setting a rotation interval for key ID: 8f97b016-bc31-4e3d-9cd6-a0a1c7caffdb...
OK

Key ID          8f97b016-bc31-4e3d-9cd6-a0a1c7caffdb
Created By      IBMid-...<redacted>...
Creation Date   2020-08-13T22:33:50Z
Last Updated    2020-08-13T22:33:50Z
Updated By      IBMid-...<redacted>...
Enabled         true

# step 3 - list the policies (verify dual authorization is enabled)
$ ibmcloud kp key policies $KEY_ID -i $KP_INSTANCE_ID --output json

[
    {
        "createdBy": "IBMid-...<redacted>...",
        "creationDate": "2020-08-13T22:33:50Z",
        "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:policy:0b93cd65-8359-4891-9289-8701f4c6ad9c",
        "lastUpdateDate": "2020-08-13T22:33:50Z",
        "updatedBy": "IBMid-...<redacted>...",
        "dualAuthDelete": {
            "enabled": true
        }
    }
]

# step 4 - fails because not enough authorizations are met to delete the key
$ curl -X DELETE \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: 1 prior authorization(s) are required for deletion: Key could not be deleted. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "AUTHORIZATIONS_NOT_MET",
                    "message": "Number of authorizations required to delete is not met",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

15 - Sólo una única política puede ser...

Mensaje

Only a single instance policy may be created per query parameter: Please pass single resource object (Solo se puede crear una sola política de instancia por parámetro query: pase un solo objeto resource)

Código de razón: NUM_COLLECTION_RESOURCE_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

La solicitud create instance policy falla debido a que se ha especificado la misma política más de una vez.

Puede especificar varias políticas en la solicitud siempre que cada política sea exclusiva. Por ejemplo, puede crear políticas de instancia para dualAuthDelete y allowedIP en la misma solicitud.

Ejemplo

Esta solicitud falla debido a que se ha especificado más de una política de instancia.

# this request fails because the dualAuthDelete policy was specified more than once
$ curl -X PUT \
    "https://us-south.kms.cloud.ibm.com/api/v2/instance/policies?policy=dualAuthDelete" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.policy+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.policy+json",
                "collectionTotal": 2
            },
            "resources": [
                {
                    "policy_type": "dualAuthDelete",
                    "policy_data": {
                        "enabled": false
                    }
                },
                {
                    "policy_type": "dualAuthDelete",
                    "policy_data": {
                        "enabled": false
                    }
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Instance policy could not be created. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "NUM_COLLECTION_RESOURCE_ERR",
                    "message": "Only a single instance policy may be created per query parameter. Please pass single resource object",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

16 - Sólo se pueden restaurar las claves importadas

Mensaje

Only imported keys may be restored (Solo se pueden restaurar claves importadas)

Código de razón: KEY_IMPT_REQ_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Key Protect puede restaurar una clave raíz suprimida anteriormente, lo cual restaura el acceso a sus datos asociados en la nube.

Como administrador, es posible que tenga que restaurar una clave raíz que se haya importado en Key Protect para acceder a los datos que la clave protegía anteriormente.

Cuando se restaura una clave, la clave pasa del estado Destruido (valor de estado 5) al estado Activo (valor de estado 1) y se restaura el acceso a cualquier dato que se hubiera cifrado anteriormente con la clave.

Puede restaurar una clave suprimida en un plazo de 30 días a partir de su supresión. Esta función solo está disponible para las claves raíz que se han creado con el key material, conocido también como "carga útil".

Solo puede restaurar las claves raíz que se han creado con el key material mediante el mandato kp key create con la opción -k, --key-material. No se puede restaurar una clave raíz si no se ha especificado la opción --key-material.

Si desea restaurar una clave raíz suprimida, debe guardar la key material que se ha utilizado para crear la clave raíz. No se puede restaurar una clave suprimida sin proporcionar el key material original.

Ejemplo

Siga estos pasos para crear el error que indica que only imported keys may be restored.

  1. Cree una clave raíz sin material de clave (carga útil)

  2. Suprimir la clave

  3. Espere 30 segundos

  4. Crear un material clave

  5. Restaure la clave y proporcione un material de clave (carga útil)

# step 1 - create a root key without a key material (payload)
$ KEY_ID=$(ibmcloud kp key create example-key -i $KP_INSTANCE_ID --output json | jq -r '.["id"]')

$ echo $KEY_ID

e631925f-affb-457e-886d-57cb2a5f565b

# step 2 - delete the key
$ ibmcloud kp key delete $KEY_ID -i $KP_INSTANCE_ID

Deleting key: 'e631925f-affb-457e-886d-57cb2a5f565b', from instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
OK
Deleted Key
e631925f-affb-457e-886d-57cb2a5f565b

# step 3 - sleep 30 seconds
$ sleep 30

# step 4 - create a key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL

lZM/guRnn/VklwRBoNOP/AUdCtpDNSo3+xXXhwrnO7c=

# step 5 - this CLI request fails because you can only restore keys
# that were imported (created with a key material or an import token)
$ ibmcloud kp key restore $KEY_ID -i $KP_INSTANCE_ID --key-material $KEY_MATERIAL

Restoring key: 'e631925f-affb-457e-886d-57cb2a5f565b', in instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
FAILED
kp.Error:
    correlation_id='6d000f60-47f2-4a49-ba72-f02a8efa2945',
    msg='Bad Request:
        Key could not be restored.
        Please see `reasons` for more details.',
    reasons='[KEY_IMPT_REQ_ERR:
        Only imported keys may be restored. -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

# step 5 - this API request fails because you can only restore keys
# that were imported (created with a key material or an import token)
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/restore" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "payload": "'$KEY_MATERIAL'"
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Key could not be restored. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "KEY_IMPT_REQ_ERR",
                    "message": "Only imported keys may be restored.",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

17 - La acción solicitada solo se puede completar...

Mensaje

La acción solicitada solo se puede completar con una clave raíz

Código de razón: KEY_ROOT_REQ_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Muchas "acciones" de clave solo se pueden realizar en las claves "raíz". Esta es la lista de mandatos que solo se pueden realizar en las claves raíz.

  • inhabilitar clave
  • habilitar clave
  • restaurar clave
  • rotar clave
  • desenvolver clave
  • envolver clave

Ejemplo

Este ejemplo crea una clave "estándar" y luego intenta inhabilitarla. Esta acción falla porque solo se pueden inhabilitar las claves "raíz".

# create a standard key
$ KEY_ID=$(ibmcloud kp key create example-key -i $KP_INSTANCE_ID --output json --standard-key | jq -r '.["id"]')

$ echo $KEY_ID

b2dae7bb-2da5-493e-99d2-a6379e35e58c

# this request fails because a standard key cannot be disabled
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/disable" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Key could not be disabled. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "KEY_ROOT_REQ_ERR",
                    "message": "Requested action can only be completed with a root key.",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

18 - La acción solicitada sólo se puede completar...

Mensaje

La acción solicitada solo se puede completar con una clave raíz

Código de razón: KEY_ROOT_REQ_REG_ERR

Código de estado HTTP

422 - Entidad no procesable

El código de estado HTTP de respuesta 422 Unprocessable Entity indica que el servidor comprende el tipo de contenido de la entidad de la solicitud, y la sintaxis de la entidad de la solicitud es correcta, pero no ha podido procesar las instrucciones que contiene.

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se aplica a las claves utilizadas para los "Registros." Se necesita una clave "raíz" para crear un registro. Este error se devuelve cuando se realiza una solicitud API de creación de registro se realiza.

Los registros son asociaciones entre las claves raíz y otros recursos de nube, tales como los grupos de COS (Cloud Object Storage) o los despliegues de bases de datos de la nube.

Para obtener más información sobre los registros, consulte visualización de asociaciones entre claves raíz y recursos cifrados de IBM Cloud.

19 - El cambio solicitado no es compatible...

Mensaje

El cambio solicitado no cumple con las reglas de configuración

Código de razón: CONFIG_RULE_CONFLICT_ERR

Código de estado HTTP

403 - Prohibido

El código de respuesta HTTP 403 Forbidden de estado de error del cliente indica que el servidor ha comprendido la solicitud pero se ha negado a autorizarla.

Este estado es similar al 401, pero en este caso, volver a autenticar no tendrá diferencia alguna. El acceso está permanentemente prohibido y está vinculado a la lógica de la aplicación, por ejemplo a derechos insuficientes para un recurso.

Contexto

Este mensaje de error se genera cuando una política de instancia impide el acceso a un recurso. Por ejemplo, si la solicitud se ha originado desde una dirección IP pública y la política de la instancia prohíbe el acceso desde una dirección IP pública, recibirá este mensaje de error.

20 - La firma no es válida

Mensaje

La firma no es válida

Código de razón: INVALID_SIG_EXP_ERR

Código de estado HTTP

422 - Entidad no procesable

El código de estado HTTP de respuesta 422 Unprocessable Entity indica que el servidor comprende el tipo de contenido de la entidad de la solicitud, y la sintaxis de la entidad de la solicitud es correcta, pero no ha podido procesar las instrucciones que contiene.

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Se ha producido un error cuando se ha envuelto de nuevo una clave.

Si obtiene este error, póngase en contacto con Soporte IBM

21 - La acción no se ha podido realizar en...

Mensaje

No se ha podido realizar la acción en la clave debido a que la clave ha caducado

Código de razón: KEY_EXPIRED_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se genera cuando se restaura una clave suprimida después de que haya caducado la clave.

Ejemplo

Una solicitud key restore falla debido a que se ha suprimido la clave y la clave ha caducado.

Los siguientes pasos crearán este error.

  1. Crear un material de clave (carga útil) y una fecha de caducidad

  2. Crear una clave raíz utilizando el material de clave y la fecha de caducidad

  3. Capturar el ID de clave

  4. Dejar que transcurra la fecha de caducidad

  5. Suprimir la clave

  6. Restaure la clave, lo cual falla debido a que no puede restaurar una clave suprimida después de la fecha de caducidad

# step 1 - create a key material (payload) and an expiration date
#          create an expiration date, on a Mac, add 1 (one) minute to the current time
$ KEY_MATERIAL=$(openssl rand -base64 32)
$ EXPIRE=$(date -u -v+1M "+%Y-%m-%dT%H:%M:%SZ")

# step 2 - Create a root key using the key material and the expiration date
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "Root-key-1",
                    "payload": "'$KEY_MATERIAL'",
                    "description": "example-key",
                    "expirationDate": "'$EXPIRE'",
                    "extractable": false
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "type": "application/vnd.ibm.kms.key+json",
            "id": "aa713df1-857c-4c46-be80-3051756280c9",
            "name": "Root-key-1",
            "description": "example-key",
            "state": 1,
            "expirationDate": "2020-08-14T19:33:47Z",
            "extractable": false,
            "crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:aa713df1-857c-4c46-be80-3051756280c9",
            "imported": true,
            "deleted": false
        }
    ]
}
# step 3 - capture the key id
$ KEY_ID=aa713df1-857c-4c46-be80-3051756280c9

# step 4 - allow the expiration date to pass by sleeping for 1 (one) minute
$ sleep 60

# step 5 - delete the key
$ ibmcloud kp key delete $KEY_ID

Deleting key: 'aa713df1-857c-4c46-be80-3051756280c9', from instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
OK
Deleted Key
aa713df1-857c-4c46-be80-3051756280c9

# step 6 - fails because you cannot restore a deleted key after the expiration date
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/restore" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "payload": "'$KEY_MATERIAL'"
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: The key expired on 2020-08-14 19:33:47 +0000 UTC: Key could not be restored. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "KEY_EXPIRED_ERR",
                    "message": "The action could not be performed on the key because the key is expired.",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

22 - El nonce cifrado dado no coincide...

Mensaje

El valor de nonce cifrado proporcionado no coincide con ningún registro existente: Asegúrese de que se suministra el valor de nonce correcto en la solicitud

Código de razón: INCORRECT_NONCE_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este mensaje de error se aplica a las interfaces de claves restore y rotate.

Este ejemplo se basa en el comando restore key y utiliza el comando CLI porque la salida es más fácil de seguir que la API.

Paso 1: configure el problema creando una clave raíz mediante una señal de importación y luego suprima la clave

# create an import token that expires in 15 minutes (900 seconds) and allows 10 retrievals
$ ibmcloud kp import-token create -e 900 -m 10

Created                         Expires                         Max Retrievals   Remaining Retrievals
2020-08-18 19:05:51 +0000 UTC   2020-08-18 19:20:51 +0000 UTC   10               10

# create a random, base64-encoded, 32-byte key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL

DL4Avc1yL7DhclfV9Uksvzy8VkYIKWZA9InYQv/iiro=

# extract the nonce that was created by the "kp import-token create" command
$ NONCE=$(ibmcloud kp import-token show | jq -r '.["nonce"]')

$ echo $NONCE

6SB0nQ8ROUCPUiyF

# extract the public key that was created by the "kp import-token create" command
$ PUBLIC_KEY=$(ibmcloud kp import-token show | jq -r '.["payload"]')

$ echo $PUBLIC_KEY

LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0t ...<redacted>... QyBLRVktLS0tLQo=

# encrypt the key material using the public key
$ ibmcloud kp import-token key-encrypt -k $KEY_MATERIAL -p $PUBLIC_KEY

Encrypted Key
rATe0oyYy+793MDlxQi2kJxf5BqLbmVY ...<redacted>... gNVJ5oxm7KX94iE=

# capture the encrypted key material
$ ENCRYPTED_KEY=rATe0oyYy+793MDlxQi2kJxf5BqLbmVY ...<redacted>... gNVJ5oxm7KX94iE=

# encrypt the nonce
$ ibmcloud kp import-token nonce-encrypt -k $KEY_MATERIAL -n $NONCE

Encrypted Nonce                            IV
+KjUDFD38r8zlXKJkn+dOR4/xNYN5ozpvKCiIQ==   CSPZwm2qJ5mL00oP

# capture the encrypted nonce and the initialization vector (IV)
$ ENCRYPTED_NONCE=+KjUDFD38r8zlXKJkn+dOR4/xNYN5ozpvKCiIQ==
$ IV=CSPZwm2qJ5mL00oP

# create a root key using an import token, provide an encrypted key, nonce, and initialization vector (IV)
$ KEY_ID=$(ibmcloud kp key create my-imported-root-key -k $ENCRYPTED_KEY -n $ENCRYPTED_NONCE -v $IV --output json | jq -r '.["id"]')

$ echo $KEY_ID

fa0a7d81-a947-4bac-883d-952f6288f0a9

# delete the root key
$ ibmcloud kp key delete $KEY_ID

Deleting key: 'fa0a7d81-a947-4bac-883d-952f6288f0a9', from instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
OK
Deleted Key
fa0a7d81-a947-4bac-883d-952f6288f0a9

Paso 2 - active el error creando una señal de importación, que es necesaria para restaurar la clave, y luego restaure la clave

# NOTE: the "kp key restore" requires an import token to complete the process,
# if you follow this example, the import token created above may still exist and
# the example works; otherwise, if the import token has expired then you need to
# create a new import token prior to restoring the key

# create an import token that expires in 15 minutes (900 seconds) and allows 10 retrievals
$ ibmcloud kp import-token create -e 900 -m 10

Created                         Expires                         Max Retrievals   Remaining Retrievals
2020-08-18 19:12:35 +0000 UTC   2020-08-18 19:27:35 +0000 UTC   10               10

# extract the nonce that was created by the "kp import-token create" command
$ NONCE=$(ibmcloud kp import-token show | jq -r '.["nonce"]')

$ echo $NONCE

N3x8F0ihAZ51nj6M

# extract the public key that was created by the "kp import-token create" command
$ PUBLIC_KEY=$(ibmcloud kp import-token show | jq -r '.["payload"]')

$ echo $PUBLIC_KEY

LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0t ...<redacted>... QyBLRVktLS0tLQo=

# encrypt the key material using the public key
$ ibmcloud kp import-token key-encrypt -k $KEY_MATERIAL -p $PUBLIC_KEY

Encrypted Key
qkhpyERrqgU+q6M0ulCyFLP4/uAyTRNJ ...<redacted>... RvVRAyhPP9civbU=

# capture the encrypted key material
$ ENCRYPTED_KEY=qkhpyERrqgU+q6M0ulCyFLP4/uAyTRNJ ...<redacted>... RvVRAyhPP9civbU=

# encrypt the nonce
$ ibmcloud kp import-token nonce-encrypt -k $KEY_MATERIAL -n $NONCE

Encrypted Nonce                            IV
nrrCczvYXvc6T7J2G+EOLjHZO1cpPyu/nhsIlA==   N6oLJnUqaKF3v5Sd

# Normally, you would capture the last encrypted nonce and the initialization
# vector (IV) (from the import token). Then use those new values with the
# "key restore" command.

# To force an error we are using the old (original) encrypted nonce and IV to
# restore the key, which fails because the ENCRYPTED_NONCE does not match the
# value in the import token

# we skipped these steps to force an error
# $ ENCRYPTED_NONCE=nrrCczvYXvc6T7J2G+EOLjHZO1cpPyu/nhsIlA==
# $ IV=N6oLJnUqaKF3v5Sd

# use the CLI to restore the deleted key
# this fails because the ENCRYPTED_NONCE does not match the value in the import token
$ ibmcloud kp key restore $KEY_ID -k $ENCRYPTED_KEY -n $ENCRYPTED_NONCE -v $IV --output json

FAILED
kp.Error:
    correlation_id='a9412941-7986-421d-a67f-b22892e7634d',
    msg='Bad Request:
        Key could not be restored.
        Please see `reasons` for more details.',
    reasons='[INCORRECT_NONCE_ERR:
        The encrypted nonce given does not match existing record,
        please ensure the correct nonce was given in the request -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

23 - La señal de importación ha caducado

Mensaje

La señal de importación ha caducado

Código de razón: IMPORT_TOKEN_EXPIRED_ERR

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Ejemplo 1

Mediante la API, cree una señal de importación, permita que caduque y luego intente recuperarla.

# create an import token
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/import_token" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/json" \
    -d '{
            "expiration": 300,
            "maxAllowedRetrievals": 2
        }'
Respuesta JSON
{
    "maxAllowedRetrievals": 2,
    "creationDate": "2020-08-18T19:54:57Z",
    "expirationDate": "2020-08-18T19:59:57Z",
    "remainingRetrievals":2
}
# retrieve the import token after it expires
$ curl -X GET \
    "https://us-south.kms.cloud.ibm.com/api/v2/import_token" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.import_token+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: Import Token could not be retrieved. Please see `reasons` for more details.",
            "reasons":[
                {
                    "code": "IMPORT_TOKEN_EXPIRED_ERR",
                    "message": "The import token has expired.",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Ejemplo 2

Mediante la CLI, cree una señal de importación, permita que caduque y luego intente recuperarla.

# create an import token that expires in 5 minutes (300 seconds) and allows 2 retrievals
$ ibmcloud kp import-token create -e 300 -m 2

Created                         Expires                         Max Retrievals   Remaining Retrievals
2020-08-18 19:39:06 +0000 UTC   2020-08-18 19:44:06 +0000 UTC   2                2

# sleep 300 seconds, which allows the import token to expire
$ sleep 300

# show the import token
$ ibmcloud kp import-token show

FAILED
kp.Error:
    correlation_id='fb677c6e-9bfa-422e-a14b-0e221bbad32b',
    msg='Conflict:
        Import Token could not be retrieved.
        Please see `reasons` for more details.',
    reasons='[IMPORT_TOKEN_EXPIRED_ERR:
        The import token has expired. -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

24 - La clave no se puede suprimir porque es...

Mensaje

No se puede suprimir la clave debido a que protege un recurso de nube que tiene una política de retención: Antes de suprimir esta clave, póngase en contacto con el propietario de una cuenta para eliminar la política de retención en cada recurso asociado a la clave

Código de razón: PREV_KEY_DEL_ERR

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Este error se genera cuando se suprime una clave, utilizada para "Registros".

En la mayoría de los casos, se puede suprimir una clave con registros utilizando la --force .

Si el recurso registrado tiene establecido preventKeyDeletion en true, fallará una supresión forzada y se mostrará este mensaje de error.

En otras palabras, todos los registros deben tener preventKeyDeletion establecido en false.

Los registros son asociaciones entre las claves raíz y otros recursos de nube, tales como los grupos de COS (Cloud Object Storage) o los despliegues de bases de datos de la nube.

Para obtener más información sobre los registros, consulte visualización de asociaciones entre claves raíz y recursos cifrados de IBM Cloud.

25 - La clave no está habilitada para la autorización dual y...

Mensaje

La clave no está habilitada para la autenticación dual y no se puede establecer para la supresión

Código de razón: NOT_DUAL_AUTH_ERR

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Este error se produce cuando intenta autorizar una supresión o eliminar una autorización y la clave no tiene una política de dual authorization.

En estos ejemplos se muestra el error utilizando la API y la CLI.

Ejemplo 1

Este ejemplo intenta autorizar una supresión y eliminar una autorización utilizando la API.

# create a root key
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.key+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "type": "application/vnd.ibm.kms.key+json",
                    "name": "root-example-key",
                    "description": "root-example-key",
                    "extractable": false
                }
            ]
        }'
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.key+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "type": "application/vnd.ibm.kms.key+json",
            "id": "eb086d96-3b2c-48b5-bf31-c8f0305eea77",
            "name": "root-example-key",
            "description": "root-example-key",
            "state": 1,
            "extractable": false,
            "crn":"crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:a192d603-0b8d-452f-aac3-f9e1f95e7411:key:eb086d96-3b2c-48b5-bf31-c8f0305eea77",
            "imported": false,
            "deleted": false
        }
    ]
}

Autorice la supresión de una clave con la política de autorización dual.

# set the KEY_ID
$ KEY_ID=eb086d96-3b2c-48b5-bf31-c8f0305eea77

# this request fails because the key DOES NOT have a dual authorization policy
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/setKeyForDeletion" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: Action could not be performed on key. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "NOT_DUAL_AUTH_ERR",
                    "message":"The key is not dual auth enabled and cannot be set for deletion",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Elimine una autorización de una clave con una política de autorización dual.

# this request fails because the key DOES NOT have a dual authorization policy
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/unsetKeyForDeletion" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json"
Respuesta JSON
{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: Action could not be performed on key. Please see `reasons` for more details.",
            "reasons": [
                {
                    "code": "NOT_DUAL_AUTH_ERR",
                    "message": "The key is not dual auth enabled and cannot be set for deletion",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

Ejemplo 2

Este ejemplo intenta autorizar una supresión y eliminar una autorización mediante la CLI.

Nota: $KEY_ID se ha establecido en el ejemplo anterior.

# this request fails because the key DOES NOT have a dual authorization policy
$ ibmcloud kp key schedule-delete $KEY_ID

Scheduling key for deletion...
FAILED
kp.Error:
    correlation_id='3d941968-c599-43b3-b681-306422079412',
    msg='Conflict:
        Action could not be performed on key.
        Please see `reasons` for more details.',
    reasons='[NOT_DUAL_AUTH_ERR:
        The key is not dual auth enabled and cannot be set for deletion -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

# this request fails because the key DOES NOT have a dual authorization policy
$ ibmcloud kp key cancel-delete $KEY_ID

Cancelling key for deletion...
FAILED
kp.Error:
    correlation_id='5b04a667-573c-44d1-82d5-39730af56a75',
    msg='Conflict:
        Action could not be performed on key.
        Please see `reasons` for more details.',
    reasons='[NOT_DUAL_AUTH_ERR:
        The key is not dual auth enabled and cannot be set for deletion -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

26 - La clave se ha actualizado recientemente

Mensaje

La clave se ha actualizado recientemente: Espere y vuelva a intentarlo

Código de razón: REQ_TOO_EARLY_ERR

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Este error se produce cuando se enable o se restore una clave durante los 30 segundos posteriores a la última acción.

Debe esperar al menos 30 segundos entre la última "acción" y la habilitación o restauración de una clave.

Este ejemplo falla debido a que la clave se ha habilitado demasiado pronto después de inhabilitar una clave.

# create a root key
$ KEY_ID=$(ibmcloud kp key create example-key -i $KP_INSTANCE_ID --output json | jq -r '.["id"]')

$ echo $KEY_ID

54f53384-b563-4466-860a-c42ce42f7ac9

# disable the key
$ ibmcloud kp key disable $KEY_ID -i $KP_INSTANCE_ID

Disabling key: '54f53384-b563-4466-860a-c42ce42f7ac9', in instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
OK

# this request fails because the key was enabled too soon
$ ibmcloud kp key enable $KEY_ID -i $KP_INSTANCE_ID

Enabling key: '54f53384-b563-4466-860a-c42ce42f7ac9', in instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
FAILED
kp.Error:
    correlation_id='59c343a7-c20f-43ea-9e50-da45cecbc8a6',
    msg='Conflict:
        Key could not be enabled.
        Please see `reasons` for more details.',
    reasons='[REQ_TOO_EARLY_ERR:
        The key was updated recently.
        Please wait and try again. -
        FOR_MORE_INFO_REFER: https://cloud.ibm.com/apidocs/key-protect]'

# this request succeeds because the key was disabled at least 30 seconds ago
$ ibmcloud kp key enable $KEY_ID -i $KP_INSTANCE_ID

Enabling key: '54f53384-b563-4466-860a-c42ce42f7ac9', in instance: 'a192d603-0b8d-452f-aac3-f9e1f95e7411'...
OK

27 - El texto cifrado proporcionado no es válido o...

Mensaje

El texto cifrado suministrado no es válido o está dañado

Código de razón: UNPROCESSABLE_CIPHERTEXT_ERR

Código de estado HTTP

422 - Entidad no procesable

El código de estado HTTP de respuesta 422 Unprocessable Entity indica que el servidor comprende el tipo de contenido de la entidad de la solicitud, y la sintaxis de la entidad de la solicitud es correcta, pero no ha podido procesar las instrucciones que contiene.

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Normalmente, esto significa que el módulo de seguridad de hardware (HSM) no ha podido procesar los datos debido a que la entrada no era válida.

Este error se devuelve cuando hay un error interno.

Si obtiene este error, póngase en contacto con Soporte IBM

28 - El nonce cifrado proporcionado no era...

Mensaje

El valor de nonce cifrado suministrado no estaba cifrado con el material de clave proporcionado O el IV proporcionado no coincide con el valor de nonce cifrado

Código de razón: INCORRECT_NONCE_IV_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Normalmente, esto significa que el módulo de seguridad de hardware (HSM) no ha podido procesar los datos debido a que la entrada no era válida.

Este error se devuelve cuando hay un error interno.

Si obtiene este error, póngase en contacto con Soporte IBM

29 - El recurso o recursos consultados no pertenecen al servicio

Mensaje

El o los recursos consultados no pertenecen al servicio

Código de razón: RESOURCE_OWNER_ERR

Código de estado HTTP

403 - Prohibido

El código de respuesta HTTP 403 Forbidden de estado de error del cliente indica que el servidor ha comprendido la solicitud pero se ha negado a autorizarla.

Este estado es similar al 401, pero en este caso, volver a autenticar no tendrá diferencia alguna. El acceso está permanentemente prohibido y está vinculado a la lógica de la aplicación, por ejemplo a derechos insuficientes para un recurso.

Contexto

Este mensaje de error se genera en una solicitud de servicio a servicio. El servicio intenta suprimir una clave, lo cual no está permitido. Es decir, otro servicio no puede suprimir una clave de Key Protect.

Un ejemplo del uso del acceso de servicio a servicio es un usuario que configura un grupo de COS (CloudObject Storage) para cifrar sus datos utilizando una clave de Key Protect.

Utilizando el ejemplo de COS, COS no puede suprimir la clave utilizada para cifrar datos.

30 - Esta acción sólo puede ser realizada por un servicio...

Mensaje

Esta acción solo la puede realizar un servicio (servicio a servicio)

Código de razón: SERVICE_ONLY_ERR

Código de estado HTTP

403 - Prohibido

El código de respuesta HTTP 403 Forbidden de estado de error del cliente indica que el servidor ha comprendido la solicitud pero se ha negado a autorizarla.

Este estado es similar al 401, pero en este caso, volver a autenticar no tendrá diferencia alguna. El acceso está permanentemente prohibido y está vinculado a la lógica de la aplicación, por ejemplo a derechos insuficientes para un recurso.

Contexto

Algunas acciones, como por ejemplo la creación de un "registro", solo las puede realizar otro servicio, en lo que se denomina una solicitud de servicio a servicio.

Por ejemplo, si configura un grupo de Cloud Object Storage (COS) para cifrar datos utilizando una clave de Key Protect, el servicio COS debe crear el registro.

Se necesita una solicitud de servicio a servicio para crear, suprimir, sustituir o actualizar un registro.

Consulte estos recursos para obtener más información sobre los registros.

31 - Esta acción no está permitida en este...

Mensaje

Esta acción no está permitida en este recurso: Póngase en contacto con IBM Key Protect o abra un ticket de servicio para habilitar esta característica

Código de razón: FEATURE_RESTRICTED_ERR

Código de estado HTTP

403 - Prohibido

El código de respuesta HTTP 403 Forbidden de estado de error del cliente indica que el servidor ha comprendido la solicitud pero se ha negado a autorizarla.

Este estado es similar al 401, pero en este caso, volver a autenticar no tendrá diferencia alguna. El acceso está permanentemente prohibido y está vinculado a la lógica de la aplicación, por ejemplo a derechos insuficientes para un recurso.

Contexto

Está intentando crear, actualizar o utilizar una política de instancia con una característica que no recibe soporte.

Por ejemplo, se ha creado la política de instancia para un rango de direcciones allowedIp, que solo da soporte a direcciones IPv4. A continuación, ha realizado una solicitud para la instancia con una dirección IPv6, lo cual devuelve este error.

32 - Esta solicitud requiere que la versión de clave...

Mensaje

Esta solicitud requiere que la versión de la clave sea posterior a la versión de la clave de registro actual

Código de razón: KEY_VERSION_INVALID

Código de estado HTTP

422 - Entidad no procesable

El código de estado HTTP de respuesta 422 Unprocessable Entity indica que el servidor comprende el tipo de contenido de la entidad de la solicitud, y la sintaxis de la entidad de la solicitud es correcta, pero no ha podido procesar las instrucciones que contiene.

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Este error se aplica a las claves utilizadas para los "Registros."

Cuando un servicio, como por ejemplo COS (Cloud Object Storage), intenta sustituir o restaurar una clave, comprueba la indicación de fecha y hora de la clave.

Si la indicación de fecha y hora de la clave es anterior a la indicación de fecha y hora de la clave utilizada por el registro, se genera este error.

La clave utilizada para comprar el servicio debe tener una indicación de fecha y hora igual o posterior a la de la clave de registro.

Los registros son asociaciones entre las claves raíz y otros recursos de nube, tales como los grupos de COS (Cloud Object Storage) o los despliegues de bases de datos de la nube.

Para obtener más información sobre los registros, consulte visualización de asociaciones entre claves raíz y recursos cifrados de IBM Cloud.

33 - Esta clave raíz se ha rotado en...

Mensaje

Esta clave de raíz se ha rotado dentro de la última hora: Sólo se permite una acción 'rotate' por hora

Código de razón: KEY_ROTATION_NOT_PERMITTED

Código de estado HTTP

409 - Conflicto

El código de estado de la respuesta HTTP 409 Conflict indica que existe un conflicto de solicitud con el estado actual del servidor.

Lo más probable es que los conflictos sean debidos a la respuesta a una solicitud PUT. Por ejemplo, puede recibir una respuesta 409 al cargar un archivo que es más antiguo que el que ya está en el servidor, lo que da lugar a un conflicto de control de la versión.

Contexto

Una clave raíz se puede rotar una vez por hora como máximo. El intento de rotar una clave raíz antes de una hora devuelve este mensaje de error.

# step 1 - create a root key and provide a key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL

dlYulSKD5cEG/XoAV8vv4QiQe/s3SlBzPY+PKgq92/0=

$ KEY_ID=$(ibmcloud kp key create rotate-example-key -i $KP_INSTANCE_ID --key-material $KEY_MATERIAL --output json | jq -r '.["id"]')

$ echo $KEY_ID

1604b4f3-6ba0-459c-8f65-400ed981a5eb

# step 2 - this request succeeds because there is no time
#          restriction when rotating the key the first time
$ KEY_MATERIAL_NEW_1=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL_NEW_1

rK9CCRHxr8RpVvKQSEvud1zHAPnXl3PvhaPwx2aRxGE=

$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/rotate" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json" \
    -d '{
            "payload": "'$KEY_MATERIAL_NEW_1'"
        }'

# step 3 - this request fails because the key was
#          last rotated less than one hour ago
$ KEY_MATERIAL_NEW_2=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL_NEW_2

pQX+ghaaH/r/s54ICWuwq3jQDPWlHQMDhAV0mwpBf2w=

$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/rotate" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json" \
    -d '{
            "payload": "'$KEY_MATERIAL_NEW_2'"
        }'

Respuesta JSON

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Conflict: Action could not be performed on key: Please see `reasons` for more details (KEY_ROTATION_NOT_PERMITTED)",
            "reasons": [
                {
                    "code": "KEY_ROTATION_NOT_PERMITTED",
                    "message": "This root key has been rotated within the last hour: Only one 'rotate' action per hour is permitted",
                    "status": 409,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect"
                }
            ]
        }
    ]
}

34 - Esta clave raíz se ha creado con el valor proporcionado por el usuario...

Mensaje

Esta clave raíz se ha creado con el material de clave suministrado por el usuario: El material de clave es necesario para realizar una acción 'rotar'

Código de razón: KEY_PAYLOAD_REQ_ERR

Código de estado HTTP

400 - Solicitud incorrecta

El código de estado de la respuesta HTTP 400 Bad Request indica que el servidor no puede procesar o no procesará la solicitud debido a que algo se interpreta como un error del cliente (por ejemplo, sintaxis de solicitud con formato erróneo, trama de mensajes de solicitud no válida o direccionamiento de solicitud defectuoso).

El cliente no debe repetir esta solicitud sin modificarla.

Contexto

Si se ha creado una clave raíz con un material de clave (carga útil), se debe especificar un material de clave para rotar la clave.

# step 1 - create a root key and provide a key material
$ KEY_MATERIAL=$(openssl rand -base64 32)

$ echo $KEY_MATERIAL

HpHM2YG9PMLBo4fZmV2WODZTTWlwaKmy496MoCE7w7U=

$ KEY_ID=$(ibmcloud kp key create rotate-example-key -i $KP_INSTANCE_ID --key-material $KEY_MATERIAL --output json | jq -r '.["id"]')

$ echo $KEY_ID

e52ee578-af71-4cd7-ba19-f1a8020d6a10

# step 2 - rotate the key without a new key material
$ curl -X POST \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys/$KEY_ID/actions/rotate" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.key_action+json"

Respuesta JSON

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Bad Request: Action could not be performed on key: Please see `reasons` for more details (KEY_PAYLOAD_REQ_ERR)",
            "reasons": [
                {
                    "code": "KEY_PAYLOAD_REQ_ERR",
                    "message": "This root key was created with user-supplied key material: Key material is required to perform a 'rotate' action",
                    "status": 400,
                    "moreInfo": "https://cloud.ibm.com/apidocs/key-protect",
                    "target": {
                        "type": "field",
                        "name": "payload"
                    }
                }
            ]
        }
    ]
}

35 - No autorizado: El usuario no tiene...

Mensaje

No autorizado: El usuario no tiene acceso al recurso especificado

Código de razón: UNAUTHORIZED_ERR

Código de estado HTTP

401 No autorizado

El código de respuesta de estado de error del cliente HTTP 401 Unauthorized indica que la solicitud no se ha aplicado debido a que faltan credenciales de autenticación válidas para el recurso de destino.

Este estado se envía con una cabecera WWW-Authenticate que contiene información sobre cómo autorizar correctamente.

Este estado es similar a 403, pero en este caso, la autenticación es posible.

Contexto

Este mensaje de error se devuelve cuando el usuario no tiene acceso a un recurso.

Este ejemplo aplica una política de instancia que limita el acceso a un rango de direcciones IP. Cuando se recibe una solicitud desde una ubicación fuera del rango permitido, se devuelve un error.

# limit  access to a range of IP addresses
$ curl -X PUT \
    "https://us-south.kms.cloud.ibm.com/api/v2/instance/policies?policy=allowedIP" \
    -H "authorization: Bearer $ACCESS_TOKEN" \
    -H "bluemix-instance: $KP_INSTANCE_ID" \
    -H "content-type: application/vnd.ibm.kms.policy+json" \
    -d '{
            "metadata": {
                "collectionType": "application/vnd.ibm.kms.policy+json",
                "collectionTotal": 1
            },
            "resources": [
                {
                    "policy_type": "allowedIP",
                    "policy_data": {
                        "enabled": true,
                        "attributes": {
                            "allowed_ip": [
"65.128.226.252/24"
                            ]
                        }
                    }
                }
            ]
        }'

La recuperación de claves fallará debido a que la solicitud está fuera del rango de direcciones IP permitido.

# this fails because the request is outside the allowed range of IP addresses
$ curl -X GET \
    "https://us-south.kms.cloud.ibm.com/api/v2/keys" \
    -H "authorization: Bearer $ACCESS_TOKEN"
    -H "bluemix-instance: $KP_INSTANCE_ID"

Respuesta JSON

{
    "metadata": {
        "collectionType": "application/vnd.ibm.kms.error+json",
        "collectionTotal": 1
    },
    "resources": [
        {
            "errorMsg": "Unauthorized: The user does not have access to the specified resource"
        }
    ]
}

Clasificados por orden de código de estado de HTTP

Estos son los mensajes de error, ordenados por código de estado de HTTP.

HTTP 400 - Solicitud incorrecta

  • El total de recopilación no coincide con el número de recursos - detalles

  • Los datos del cuerpo no coinciden con los datos que requiere el parámetro de consulta - detalles

  • Ha fallado la extracción del asunto de la señal portadora: Asegúrese de que la señal portadora que se ha pasado sea la correcta (y tenga el formato correcto) y de que tiene los permisos necesarios para realizar las acciones solicitadas - detalles

  • Se han pasado datos de cuerpo no válidos: Asegúrese de que los datos que se han pasado tengan el formato válido y no contengan caracteres no válidos - detalles

  • Error de campo no válido: para la envoltura The field 'plaintext' must be: a base64 encoded key material si se pasa texto sin formato no válido en la solicitud; y The field 'ciphertext' must be: the original base64 encoded ciphertext from the wrap operation para desenvolver si se pasa un texto cifrado no válido. - detalles

  • La restauración de claves ha caducado - detalles

  • Falta de cuerpo en la solicitud - detalles

  • Solo se puede crear una única política de instancia por parámetro de consulta: Pase un solo objeto de recurso - detalles

  • Sólo se pueden restaurar las claves importadas - detalles

  • La acción solicitada sólo se puede completar con una clave raíz - detalles

  • No se ha podido realizar la acción en la clave debido a que la clave ha caducado - detalles

  • El valor de nonce cifrado proporcionado no coincide con ningún registro existente: Asegúrese de que se ha suministrado el valor de nonce correcto en la solicitud - detalles

  • El valor de nonce cifrado suministrado no estaba cifrado con el material de clave proporcionado O el IV proporcionado no coincide con el valor del nonce cifrado - detalles

  • Esta clave raíz se ha creado con el material de clave suministrado por el usuario: El material de clave es necesario para realizar una acción 'rotate' - detalles

HTTP 401 - No autorizado

  • No autorizado: El usuario no tiene acceso al recurso especificado - detalles

HTTP 403 - Prohibido

  • El cambio solicitado no es compatible con las reglas de configuración - detalles

  • El o los recursos consultados no pertenecen al servicio - detalles

  • Esta acción solo la puede realizar un servicio (de servicio a servicio) - detalles

  • Esta acción no está permitida en este recurso: Póngase en contacto con IBM Key Protect o abra un tíquet de servicio para habilitar esta característica - detalles

HTTP 409 - Conflicto

  • La clave no está en un estado válido - detalles

  • La clave está protegiendo uno o más recursos de nube - detalles

  • La política de instancia KeyCreateImportAccess no permite esta acción - detalles

  • No se cumple el número de autorizaciones necesarias para suprimir - detalles

  • La señal de importación ha caducado - detalles

  • No se puede suprimir la clave debido a que protege un recurso de nube que tiene una política de retención: Antes de suprimir esta clave, póngase en contacto con el propietario de una cuenta para eliminar la política de retención en cada recurso asociado a la clave - detalles

  • La clave no está habilitada para la autenticación dual y no se puede establecer para suprimir - detalles

  • La clave se ha actualizado recientemente: Espere y vuelva a intentarlo - detalles

  • Esta clave raíz se ha rotado durante la última hora: Solo se permite una acción 'rotate' por hora - detalles

HTTP 410 - Ausente

  • Esta clave ya se ha suprimido, Suprima las referencias a esta clave - detalles

HTTP 422 - Entidad no procesable

  • La clave no está en un estado válido - detalles

  • La acción solicitada sólo se puede completar con una clave raíz - detalles

  • La firma no es válida detalles

  • El texto cifrado suministrado no es válido o está dañado - detalles

  • Esta solicitud requiere que la versión de clave sea posterior a la versión de la clave de registro actual - detalles

HTTP 500 - Error interno del servidor

  • Los metadatos de la clave están dañados: Suprima esta clave - detalles

Ordenados por código de razón

Esta sección ordena los mensajes de error por el código de razón.