Importación de claves estándar

Puede añadir las claves de cifrado existentes utilizando la consola IBM Cloud.

Puede añadir las claves de cifrado existentes mediante programación con la API Key Protect.

Importación de claves estándar con la consola

Después de crear una instancia del servicio, siga los siguientes pasos para importar una clave existente mediante la consola de IBM Cloud.

Si habilita los valores de autorización dual para la instancia de Key Protect, tenga en cuenta que cualquier clave que añada al servicio necesita una autorización de dos usuarios para suprimir claves.

  1. Inicia sesión en la consola de IBM Cloud.

  2. Vaya a Menú > Lista de recursos para ver una lista de sus recursos.

  3. Desde la lista de recursos de IBM Cloud seleccione su instancia suministrada de Key Protect.

  4. Para importar una nueva clave, haz clic en «Añadir» y selecciona la ventana « Importar clave » .

    Especifique los detalles de la clave:

Describe la configuración de Importar sus propias teclas.
Valor Descripción
Tipo de clave El Tipo de clave que desea gestionar en Key Protect. Pulse el botón Clave estándar.
Nombre Utilice un alias legible para identificar la clave fácilmente. La longitud debe tener entre 2 - 90 caracteres (inclusive).

Para proteger su privacidad, asegúrese de que el nombre de clave no contiene información de identificación personal (PII), como el nombre o la ubicación. Tenga en cuenta que los nombres de clave no necesitan ser exclusivos.
Material de clave Material de clave codificado en base64 como, por ejemplo, una clave para envolver claves existentes, que desee almacenar y gestionar en el servicio. Para obtener más información, consulte Codificación en base64 del material de clave. Asegúrese de que el material de la clave tiene 16, 24 o 32 bytes de longitud y corresponde a 128, 192 o 256 bits de longitud. La clave también debe estar codificada en base64.
Alias de clave Opcional. Los alias de clave son una forma de describir una clave que permite identificarlas y agruparlas más allá de los límites de un nombre de visualización. Las claves pueden tener hasta cinco alias.
Conjunto de claves Opcional. Los conjuntos de claves son agrupaciones de claves que permiten que esas agrupaciones se gestionen de forma independiente, según sea necesario. Cada tecla debe formar parte de un conjunto de claves. Si no se selecciona ningún conjunto de claves, las claves se colocan en el conjunto de claves default. Tenga en cuenta que para colocar la clave que está creando en un anillo de claves, debe tener el rol de Gestor sobre ese anillo de claves. Para obtener más información sobre los roles, consulte Gestión del acceso de usuario.

Cuando hayas terminado de rellenar los datos de la clave, haz clic en «Añadir» para confirmar.

Si eres el administrador de un llavero concreto, puedes añadir una clave directamente desde el panel « Llaveros ». En el menú de acciones del llavero (⋯), haz clic en « Añadir nueva clave ». Se abre el mismo panel que cuando haces clic en «Añadir» en la página «Claves», pero el campo «Llavero» ya aparece rellenado con el nombre del llavero seleccionado.

Si necesita importar y gestionar claves estándar de forma coherente en todas las cuentas o entornos, puede automatizarlo con el módulo Key Protect Key. Si desea una configuración completa que incluya la instancia Key Protect y los llaveros, consulte el módulo Key Protect con todo incluido. Para obtener una visión general, consulte Terraform IBM Modules.

Importación de claves estándar

Importe una clave estándar realizando una llamada POST al siguiente punto final:

https://<region>.kms.cloud.ibm.com/api/v2/keys
  1. Recupere sus credenciales de servicio y de autenticación para trabajar con claves en el servicio.

  2. Llame a la APIKey Protect con el siguiente mandato curl.

    $ curl -X POST \
        "https://<region>.kms.cloud.ibm.com/api/v2/keys" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.key+json" \
        -H "correlation-id: <correlation_ID>" \
        -H "prefer: <return_preference>" \
        -d '{
                "metadata": {
                    "collectionType": "application/vnd.ibm.kms.key+json",
                    "collectionTotal": 1
                },
                "resources": [
                    {
                        "type": "application/vnd.ibm.kms.key+json",
                        "name": "<key_name>",
                        "aliases": [alias_list],
                        "description": "<key_description>",
                        "expirationDate": "<expiration_date>",
                        "payload": "<key_material>",
                        "extractable": <key_type>
                    }
                ]
            }'
    

    Sustituya las variables de la solicitud de ejemplo de acuerdo con la siguiente tabla.

Describe las variables necesarias para añadir una clave estándar mediante la API de Key Protect
Variable Descripción
región Obligatorio. La abreviatura de la región, como us-south o eu-gb, que representa el área geográfica en la que se encuentra tu instancia de Key Protect.

Para obtener más información, consulta « Puntos de servicio regionales ».
IAM_token Obligatorio. Su señal de acceso de IBM Cloud. Incluya el contenido completo de la señal IAM, incluido el valor Bearer, en la solicitud curl.

Para obtener más información, consulta Obtención de un token de acceso.
instance_ID Obligatorio. El único identificador que está asignado a su instancia de servicio de Key Protect.

Para obtener más información, consulta «Cómo recuperar un ID de instancia ».
correlation_ID El identificador exclusivo que se ha utilizado para rastrear y correlacionar transacciones.
return_preference Cabecera que altera el comportamiento del servidor para las operaciones POST y DELETE.

Cuando establece la variable return_preference en return=minimal, el servicio sólo devuelve los metadatos de clave, como el nombre de clave y el valor de ID, en el cuerpo-entidad de la respuesta. Cuando establece la variable en return=representation, el servicio devuelve tanto el material de la clave como los metadatos de la clave.
key_name Obligatorio. Nombre descriptivo exclusivo para identificar con facilidad su clave. Para proteger su privacidad, no almacene datos personales como metadatos para la clave.
lista_alias Opcional. Uno o varios alias únicos y legibles para el ser humano asignados a tu clave.

Importante: Para proteger su privacidad, no almacene datos personales como metadatos para la clave.

Cada alias debe ser alfanumérico, distinguir entre mayúsculas y minúsculas, y no puede contener espacios ni caracteres especiales, salvo «-» o «_». El alias no puede ser un UUID y no debe ser uno de los nombres reservados de Key Protect: allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions.
key_description Opcional.Una descripción ampliada de la clave. Para proteger su privacidad, no almacene datos personales como metadatos para la clave.
expiration_date Opcional. La fecha y la hora en que caduca la clave en el sistema, en formato RFC 3339 (AAAA-MM-DD HH:MM:SS.SS; por ejemplo, 2019-10-12T07:20:50.52Z ). La clave pasará al estado desactivado en un plazo de una hora tras la fecha de caducidad de la clave. Si se omite el atributo expirationDate, la clave no caduca.
material_clave Necesario.El material de clave codificado en base64, como por ejemplo una clave simétrica, que desea gestionar en el servicio. Para obtener más información, visita Base64 codificación de tu material de clave.

Asegúrese de que el material de clave cumple los siguientes requisitos:
Una clave estándar puede tener un tamaño máximo de 7.500 bytes. La clave debe estar codificada en base64.
key_type Valor booleano que determina si el material de clave puede dejar el servicio.

Cuando se establece el atributo «extractable» en « true », el servicio designa la clave como una clave estándar que puedes almacenar en tus aplicaciones o servicios.

Para proteger la confidencialidad de sus datos personales, evite especificar información de identificación personal (PII), como el nombre o la ubicación, cuando añades claves al servicio. Para ver más ejemplos de información de identificación personal (PII), consulte la sección « 2.2 » de la Publicación Especial 800-122 del NIST.

Una respuesta POST api/v2/keys satisfactoria devuelve el valor del ID para la clave, junto con otros metadatos. El ID es un identificador exclusivo que se asigna a la clave y se utiliza para las subsiguientes llamadas a la API de Key Protect.

Opcional: Verificar importación de clave estándar

Puede verificar que se ha importado una clave estándar emitiendo una solicitud para listar claves:

$ curl -X GET \
    "https://<region>.kms.cloud.ibm.com/api/v2/keys" \
    -H "accept: application/vnd.ibm.collection+json" \
    -H "authorization: Bearer <IAM_token>" \
    -H "bluemix-instance: <instance_ID>"

Donde <instance_ID> es el nombre de la instancia y su <IAM_token> es su señal IAM.

Codificación en base64 del material de clave

Cuando importe una clave estándar existente, es necesario incluir el material de clave cifrado que desea almacenar y gestionar en el servicio.

Utilización de OpenSSL para cifrar material de clave existente

Para codificar el material de claves, primero debe descargar e instalar OpenSSL.

Una vez que se ha descargado e instalado OpenSSL, hay dos mandatos recomendados para codificar el material de claves. Ambos métodos son equivalentes, ya que convierten una cadena, ya sea <key_material_string> o , tal y como se muestra en los siguientes ejemplos, en una cadena de tipo « base64 ». Si el material está en un archivo (por ejemplo, es posible que tenga un archivo con credenciales, no sólo una clave cifrada, que desea almacenar en Key Protect), la mejor opción es emitir:

```sh {: pre}
openssl base64 -in <infile> -out <outfile>
```
Replace the variables in the example request according to the following table.
Describe las variables necesarias para base64-encode tu material de claves.
Variable Descripción
infile El nombre del archivo binario en el que se encuentra la cadena de tu material de clave.

Asegúrese de que el archivo no tenga más de 7.500 bytes.
outfile El nombre del archivo en el que el material de clave codificado en base64 se creará una vez que se haya ejecutado el mandato.

Si desea generar el material base64 en la línea de mandatos directamente en lugar de en un archivo, ejecute el mandato openssl enc -base64 <<< '<key_material_string>', donde key_material_string es la entrada de material de clave para la clave importada.

Si desea codificar en base 64 el material de clave que no está en un archivo, puede emitir:

```sh {: pre}
echo -n <password> | base64
```
Where "password" is the key material you want to use.

Para evitar caracteres adicionales, como por ejemplo un salto de línea extra, se recomienda copiar la cadena « base64 » al portapapeles, sobre todo cuando la cadena « base64 » se vaya a mostrar en la consola.

Utilización de OpenSSL para crear y codificar material de clave nuevo

Utilice este proceso para crear un material de clave aleatorio codificado en base64 con una longitud de bytes específica. Se recomiendan 32 bytes (256 bits).

Puede crear un material de clave de 16, 24 o 32 bytes, para utilizarlo como una clave estándar, si desea que la clave estándar tenga las mismas características que una clave raíz. Una clave estándar es la que puede abandonar el servicio. Las claves estándar se utilizan a menudo en sus aplicaciones y servicios.

  1. Descargar e instalar OpenSSL.

  2. Codifique en base64 la serie de material de la clave ejecutando el mandato siguiente:

    openssl rand -base64 <byte_length>
    

    Sustituya la variable de la solicitud de ejemplo siguiendo la siguiente tabla.

Describe la variable que se necesita para crear y codificar un nuevo material de clave.
Variable Descripción
longitud_byte La longitud de la clave, medida en bytes.

Las longitudes de bytes aceptables son de 16, 24 o 32 bytes, correspondientes a una longitud de 128, 192 o 256 bits. La clave debe estar codificada en base64.

Ejemplos de creación de material de clave

  1. openssl rand -base64 16 generará un material de clave de 128 bits.

  2. openssl rand -base64 24 generará un material de clave de 192 bits.

  3. openssl rand -base64 32 generará un material de clave de 256 bits.

Qué hacer a continuación