Inicialización de Dedicated Key Protect mediante la creación de una instancia, credenciales y una clave maestra
Para que Dedicated Key Protect funcione, primero debe aprovisionar una instancia, luego generar las credenciales de administrador utilizadas para operar sus unidades criptográficas y, por último, crear y cargar la clave maestra, que permite a Key Protect realizar operaciones criptográficas contra las unidades criptográficas en su nombre.
Para más información sobre los conceptos clave del servicio Dedicado Key Protect, consulte Acerca de los servicios Estándar y Dedicado Key Protect.
En este tema se presentan tres versiones diferentes de cada comando : para Mac/ Linux, Windows Powershell o Windows comando prompt (CMD). Asegúrese de que está utilizando el comando que corresponde a su sistema.
Antes de empezar
Si no dispone de la última versión de la CLI IBM Cloud, es posible que no pueda inicializar su instancia. Asegúrese de que la inicialización se realiza correctamente actualizando a la última versión del plugin CLI.
Debe utilizar la última versión de la CLI para completar la inicialización, incluso si despliega su instancia utilizando la consola. Si recibe el - Unable to obtain plug-in's metadata error, mientras que la instalación de la última
versión de KP CLI plugin, consulte los pasos de solución de problemas.
Aprovisionamiento de su instancia en la consola
Para aprovisionar su instancia en la consola, siga las instrucciones aquí y seleccione el mosaico "Dedicado" en el catálogo. El proceso de aprovisionamiento puede durar varios minutos.
Una vez aprovisionada su instancia, estará listo para generar credenciales de administrador y reclamar sus unidades criptográficas.
Si no especifica un número de unidades criptográficas, su instancia se aprovisiona con dos. También puede especificar tres unidades criptográficas utilizando el menú desplegable. Tanto si especifica dos como tres unidades criptográficas, tenga en cuenta que el valor no puede modificarse posteriormente.
Aprovisionamiento de su instancia en la CLI
Antes de poder crear unidades criptográficas e inicializar su instancia, ésta debe estar creada. En primer lugar, establezca un grupo de recursos al que dirigirse emitiendo:
ibmcloud target -c <resource-group>
Si no conoces tu grupo de recursos, puedes averiguar cuáles tienes emitiendo:
ibmcloud resource groups
Una vez configurado el grupo de recursos, cree la instancia emitiendo:
ibmcloud resource service-instance-create <INSTANCE_NAME> kms dedicated us-south
Donde:
<INSTANCE_NAME>es el nombre que le das a tu instancia.
Tenga en cuenta que este comando le ofrece por defecto dos unidades criptográficas. Puede especificar tres unidades criptográficas emitiendo:
ibmcloud resource service-instance-create <INSTANCE_NAME> kms dedicated us-south -p '{"crypto_units": 3}'
Si especifica un número de unidades criptográficas distinto de 2 o 3, se devuelve un error. El número de unidades criptográficas no puede modificarse posteriormente.
Aprovisionar una instancia dedicada puede llevar varios minutos. Puede comprobar el estado de su instancia emitiendo:
ibmcloud resource service-instance <INSTANCE_NAME>
Donde:
<INSTANCE_NAME>es el nombre que le diste a tu instancia en el paso anterior.
La instancia puede tener uno de estos dos estados: activa o en curso. Tenga en cuenta que aún no se ha inicializado una instancia activa, ya que para ello es necesario completar los pasos restantes de este tema. Hasta que no inicialice su instancia, no se puede utilizar, ya que sus identidades aún no se han configurado con sus unidades criptográficas para crear la clave maestra.
Obtener el punto final
Una vez que su instancia esté activa, obtenga el endpoint y el GUID emitiendo:
ibmcloud resource service-instance <INSTANCE_NAME> -o json
Donde:
<INSTANCE_NAME>es el nombre que le diste a tu instancia en el paso anterior.
El punto final es el valor del parámetro public en la estrofa endpoints de la salida json anterior. Adopta el formato https://<instance-id>.api.<region>.kms.appdomain.cloud. El GUID es el valor
del parámetro GUID en la salida anterior. Adopta el formato UUID.
Puede obtener el punto final emitiendo: ibmcloud resource service-instance <\kp-instance-id\> --output json | jq -r '.[].extensions.endpoints'.
Guarde el punto final completo como una variable de entorno emitiendo dos comandos en uno de los tres sistemas operativos compatibles.
Para macOS:
export KP_TARGET_ADDR=<ST_INSTANCE_ENDPOINT>
Y:
export KP_INSTANCE_ID=<GUID>
Para Windows Powershell:
$Env:KP_INSTANCE_ID = <GUID>
Y:
$Env:KP_TARGET_ADDR = <ST_INSTANCE_ENDPOINT>
Para Windows CMD:
set KP_INSTANCE_ID=<GUID>
Y:
set KP_TARGET_ADDR=<ST_INSTANCE_ENDPOINT>
Donde:
<ST_INSTANCE_ENDPOINT>es el punto final completo de su instancia, con el formatohttps://<instance-id>.api.<region>.kms.appdomain.cloud.<GUID>es el ID de instancia de la salida anterior.
Ya está listo para generar las credenciales de administrador.
Es posible que tenga que esperar unos minutos tras el aprovisionamiento antes de que sus unidades criptográficas estén disponibles.
Para obtener más información sobre los estados en los que puede encontrarse una unidad criptográfica, consulte Estados de las unidades criptográficas.
Generar credenciales de administrador y reclamar sus unidades criptográficas
Una unidad criptográfica es gestionada por un administrador o administradores, lo que significa que debe disponer de identidades o crearlas. Si ha formateado correctamente las identidades de administrador (una clave AES simétrica de 256 bits utilizando RSA-2048 ), puede pasar a Crear la clave maestra.
Generación de credenciales de administrador
Si necesita crear una credencial de administrador, emita:
ibmcloud kp crypto-unit sig-key generate --file <ADMIN_KEY_FILE> --passphrase <PWD> --algo RSA-2048
Donde:
<ADMIN_KEY_FILE>es la ubicación en su máquina donde se crea la identidad (por ejemplo,admin-keyfile.key).<PWD>es una contraseña o frase de contraseña opcional que se utiliza para cifrar el archivo en reposo. Especifique "-" para que se le pida que introduzca una frase de contraseña.
Guarde una copia de este archivo de claves y recuerde la frase de contraseña. Se requiere para todos los comandos autenticados cuando se interactúa con las unidades criptográficas.
Si algún comando ibmcloud kp crypto-unit devuelve el código de error e00bad05, consulte los pasos para la solución de problemas.
Reclamación de unidades criptográficas
Para obtener más información sobre los estados en los que puede encontrarse una unidad criptográfica, consulte Estados de las unidades criptográficas.
Las unidades criptográficas asignadas a un usuario se inician en estado despejado. Todas las unidades criptográficas de una instancia de servicio deben estar configuradas de la misma manera. Si no se puede acceder a una zona de disponibilidad en la región en la que se encuentra la instancia, las unidades criptográficas operativas se pueden utilizar indistintamente para el equilibrio de carga o para la alta disponibilidad.
La clave maestra de todas las unidades de cifrado de una misma instancia de servicio debe ser la misma. Se debe añadir el mismo conjunto de administradores en todas las unidades criptográficas, y todas las unidades criptográficas deben inicializarse al mismo tiempo.
Para visualizar las instancias de servicio y las unidades criptográficas en el grupo de recursos de destino bajo la cuenta de usuario actual, utilice el mandato siguiente:
ibmcloud kp crypto-units
La salida siguiente es un ejemplo que se visualiza. La columna «ID» de la tabla de resultados identifica las unidades criptográficas a las que se dirigen comandos administrativos posteriores emitidos por el complemento KP CLI.
*******************************************************
Id InstanceID State
6e0aead3-9d44-4c92-a4c4-f7a1ab415420 c28a8939-3980-4697-a80c-50b1f8bbf160 reserved
3bb363fc-b1f9-4237-b37b-2c9e07784e3c c28a8939-3980-4697-a80c-50b1f8bbf160 reserved
*******************************************************
La parte pública del par de claves RSA se incluye en un certificado que se instala en la unidad criptográfica de destino para designar a un administrador de la unidad criptográfica. Utilice el comando claim para cargarlo como administrador por defecto de sus unidades crypto, issue:
ibmcloud kp crypto-unit claim --credential <ADMIN_KEY_FILE>
Donde:
<ADMIN_KEY_FILE>es el archivo donde se almacenó la identidad.
Todos los comandos crypto-unit se aplican a todas las unidades criptográficas. Son clones unos de otros.
Generación e importación de la llave maestra
Como estás importando las credenciales de tu clave maestra, Key Protect no tiene acceso ni copias de seguridad de esa clave. Guarde la llave maestra en un lugar seguro.
Ahora que ha creado su instancia y su identidad de administrador, puede utilizarlas para crear su clave maestra. La clave maestra, conocida también como la clave maestra de HSM, se utiliza para cifrar la instancia de servicio para el almacenamiento de claves. Es una clave AES simétrica de 256 bits. Con la clave maestra, te conviertes en el propietario del HSM en la nube y posees la raíz de confianza que cifra toda la jerarquía de claves de cifrado, incluidas las claves raíz y las claves estándar del almacén de claves de gestión de claves. Una instancia de servicio solo puede tener una clave maestra. Si suprime la clave maestra de la instancia de servicio, puede destruir criptográficamente de forma efectiva todos los datos que se han cifrado con las claves gestionadas en el servicio.
Key Protect, un servicio especializado, utiliza el proceso de «división de claves», en el que una clave criptográfica se divide en varias partes para reforzar la seguridad. Deben crearse al menos 2 "keyshares", aunque
pueden utilizarse más en función del caso de uso.
Para generar la clave maestra localmente, ejecute el comando en uno de los tres sistemas operativos compatibles.
Para macOS:
ibmcloud kp crypto-unit master-key generate --keyshare-files '["<KEYSHARE_FILE_1>#<PASSWORD1>", "<KEYSHARE_FILE_2>#<PASSWORD2>"]' --keyshare-minimum 2 --algo AES-256 --key-name <KEY_NAME> --auth '[{"ADMIN": "<ADMIN_KEY_FILE>#<PASSOWRD3>"}]'
Para Windows Powershell:
ibmcloud kp crypto-unit master-key generate --keyshare-files '["""<KEYSHARE_FILE_1>#<PASSWORD1>""","""<KEYSHARE_FILE_2>#<PASSWORD2>"""]' --keyshare-minimum 2 --algo AES-256 --key-name <KEY_NAME> --auth '[{"""ADMIN""": """<ADMIN_KEY_FILE>#<PASSOWRD3>"""}]'
Para Windows CMD:
ibmcloud kp crypto-unit master-key generate --keyshare-files"[\"<KEYSHARE_FILE_1>#<PASSWORD1>\", \"<KEYSHARE_FILE_2>#<PASSWORD2>\"]" --keyshare-minimum 2 --algo AES-256 --key-name <KEY_NAME> --auth "[{\"ADMIN\": \"<ADMIN_KEY_FILE>#<PASSOWRD3>\"}]"
Donde:
<KEYSHARE_FILE_1>#<PASSWORD1>es la ubicación de una de las claves compartidas, junto con una frase de contraseña para el archivo que se crea. La frase de contraseña es obligatoria y debe tener entre 6 y 255 caracteres. Omita#<PASSWORD1>para que se le pida que introduzca una frase de contraseña.<KEYSHARE_FILE_2>#<PASSWORD2>es la ubicación de otra llave compartida, junto con una frase de contraseña para el archivo que se crea. La frase de contraseña es obligatoria y debe tener entre 6 y 255 caracteres. Omita#<PASSWORD2>para que se le pida que introduzca una frase de contraseña. Omita#<PASSWORD2>para que se le pida que introduzca una frase de contraseña.<KEY_NAME>es el nombre de tu llave maestra.<ADMIN_KEY_FILE>#<PASSOWRD3>es la ubicación de tu admin y su passphrase que generaste antes (si no traes tu propia identidad). Omita#<PASSWORD3>para que se le pida que introduzca una frase de contraseña.
Tenga en cuenta que keyshare-minimum, que se establece en 2 por defecto pero puede aumentarse, representa el número mínimo de claves compartidas (por sus ubicaciones) que debe especificar.
Para cargar su clave maestra en las unidades criptográficas de su instancia, ejecute el comando en uno de los tres sistemas operativos compatibles.
Para macOS:
ibmcloud kp crypto-unit master-key import --keyshare-files '["<KEYSHARE_FILE_1>#<PASSWORD1>", "<KEYSHARE_FILE_2>#<PASSWORD2"]' --auth '[{"ADMIN": "<ADMIN_KEY_FILE>#<PASSWORD3>"}]'
Para Windows PowerShell:
ibmcloud kp crypto-unit master-key import --keyshare-files '["""<KEYSHARE_FILE_1>#<PASSWORD1>""","""<KEYSHARE_FILE_2>#<PASSWORD2>"""]' --auth '[{"""ADMIN""": """<ADMIN_KEY_FILE>#<PASSWORD3>"""}]'
Para Windows CMD:
ibmcloud kp crypto-unit master-key import --keyshare-files "[\"<KEYSHARE_FILE_1>#<PASSWORD1>\", \"<KEYSHARE_FILE_2>#<PASSWORD2\"]" --auth "[{\"ADMIN\": \"<ADMIN_KEY_FILE>#<PASSWORD3>\"}]"
Donde:
<KEYSHARE_FILE_1>#<PASSWORD1>es la ubicación de una de las claves compartidas, junto con una frase de contraseña para el archivo que se creará. La frase de contraseña es obligatoria y debe tener entre 6 y 255 caracteres. Omita#<PASSWORD1>para que se le pida que introduzca una frase de contraseña.<KEYSHARE_FILE_2>#<PASSWORD2>es la ubicación de otra llave compartida, junto con una frase de contraseña para el archivo que se creará. La frase de contraseña es obligatoria y debe tener entre 6 y 255 caracteres. Omita#<PASSWORD2>para que se le pida que introduzca una frase de contraseña.<ADMIN_KEY_FILE>#<PASSWORD3>es la ubicación de tu admin y su passphrase que generaste antes (si no traes tu propia identidad). Omita#<PASSWORD3>para que se le pida que introduzca una frase de contraseña.
Una vez creada la clave maestra, debe permitir que el servicio Key Protect realice acciones en sus unidades criptográficas (por ejemplo, crear claves). Ten en cuenta que el nivel de permisos concedidos a Key Protect es inferior al de un administrador. Emita el comando utilizando uno de los tres sistemas operativos compatibles.
Para macOS:
ibmcloud kp crypto-unit user add --type kmsCryptoUser --auth '[{"ADMIN": "<ADMIN_KEY_FILE>#<PASSWORD>"}]'
Para Windows PowerShell:
ibmcloud kp crypto-unit user add --type kmsCryptoUser --auth '[{"""ADMIN""": """<ADMIN_KEY_FILE>#<PASSWORD>"""}]'
Para Windows CMD:
ibmcloud kp crypto-unit user add --type kmsCryptoUser --auth "[{\"ADMIN\": \"<ADMIN_KEY_FILE>#<PASSWORD>\"}]"
Donde:
<ADMIN_KEY_FILE>#<PASSWORD>es la ubicación de tu archivo de clave de administrador y su frase de contraseña generada anteriormente (si no traes tu propia identidad). Omita#<PASSWORD>para que se le pida que introduzca una frase de contraseña.
Este comando también se puede utilizar para añadir administradores a sus unidades criptográficas haciendo su --type admin y añadiendo un --name y --file que apuntan a una identidad de administrador
que posee. No añada --name ni --file cuando añada kmsCryptoUser. Por ejemplo:
ibmcloud kp crypto-unit user add --type admin --name <USERNAME> --credential "<USERNAME_KEY_FILE>" --auth '[{"ADMIN": "<ADMIN_KEY_FILE>#<PWD>"}]'
Donde:
<USERNAME>es el nombre de la identidad de administrador que está añadiendo.<USERNAME_KEY_FILE>es la ruta del archivo de la credencial a asociar con el nuevo usuario.<ADMIN_KEY_FILE>#<PWD>es la ubicación de tu admin existente y su frase de contraseña que generaste antes (si no traes tu propia identidad). Omita#<PWD>para que se le pida que introduzca una frase de contraseña.
No añada --name o --file cuando añada kmsCryptoUser como administrador.
Enhorabuena. Su instancia ha sido totalmente inicializada.
Puede que pasen entre 5 y 10 minutos antes de que puedas utilizar tu instancia.
Próximos pasos
Ahora que su instancia ha sido creada, tiene identidades de administrador que pueden ser usadas para operarla, y ha creado su llave maestra y dado acceso a Key Protect para realizar acciones en su instancia, está listo para hacer cosas como:
- Cree una clave raíz. Puedes tener un máximo de 500 claves raíz o estándar que estén en cualquier estado, incluido
Destroyed. - Crea llaveros. Puede tener un máximo de 50 llaveros por instancia de servicio.
- Establezca una política de rotación.
Los tokens de importación no son compatibles con Key Protect Dedicated.
Características no soportadas
- Creación de fichas de importación.
- Clave de importación segura con tokens de importación.
allowed_network policy.- Despliegue de su instancia en cualquier lugar que no sea
us-south. - PKCS#11 almacenes de claves.
- Unidades criptográficas de conmutación por error.
Resolución de problemas
Unable to obtain plug-in's metadata error durante la instalación o actualización del plugin KP CLI
Si recibe el siguiente error al instalar el plugin IBM Key Protect CLI:
Installing binary...
FAILED
Unable to obtain plug-in's metadata. Error: exit status 1
Linux medio ambiente
Instale o actualice la biblioteca del sistema libstdc++ con GLIBCXX versión 3.4.26 o posterior desde el gestor de paquetes de su distribución. Utilice los siguientes comandos instalación de ejemplo:
- Ubuntu/Debian:
apt-get update && apt-get install libstdc++6 - RHEL/Fedora/CentOS:
yum install libstdc++ - Alpine:
apk add --no-cache gcompat libstdc++
Si esto no soluciona el error, ponte en contacto con el servicio de asistencia de Key Protect.
Entorno Windows o macOS
Póngase en contacto con el servicio de asistencia Key Protect.
Error command failed with error code: e00bad05
Si un comando ibmcloud kp crypto-unit devuelve el siguiente error:
FAILED
command failed with error code: e00bad05
Este error puede indicar que su sistema no es compatible con la función ibmcloud kp crypto-unit. Los requisitos del sistema recomendados son:
- Windows: AMD64 (Windows 10 o posterior)
- Linux: AMD64 (Debian, Ubuntu, Red Hat)
- macOS: ARM64 (Apple Silicon)
Es posible que los sistemas que no figuren en esta lista sigan siendo compatibles con la función ibmcloud kp crypto-unit. Si desea confirmar la compatibilidad con su sistema específico, o si el error e00bad05 persiste
a pesar de cumplir los requisitos del sistema recomendados, póngase en contacto con el servicio de asistencia Key Protect.
HTTP Error 503 « no healthy upstream »
Si las llamadas a las operaciones Key Protect devuelven HTTP 503 con el mensaje no healthy upstream: no crypto units are in kms-initialized state at this time, son posibles las siguientes causas:
- Aún no ha completado los pasos de inicialización dedicados.
- Ha completado los pasos de inicialización dedicados, pero necesita esperar unos minutos para que Key Protect reconozca las unidades criptográficas recién
kms-initialized. - Sólo tiene una unidad criptográfica en estado
kms-initialized, y esa unidad criptográfica está fuera de servicio por mantenimiento. - Ha cargado material de clave maestra no coincidente en una o varias unidades criptográficas.
Error context deadline exceeded
Si comandos CLI devuelven el error context deadline exceeded (Client.Timeout exceeded while awaiting headers), ha configurado KP_TARGET_ADDR en un endpoint privado de un sistema que no cumple los requisitos de endpoint
privado.
Para solucionar este error:
- Utilice el endpoint público del paso Obtención del endpoint.
- Si tiene intención de utilizar el punto final privado, consulte Puntos finales privados para obtener información sobre cómo realizar llamadas al punto final privado.
Comandos de unidad criptográfica no se aplican a todas las unidades criptográficas
Si los comandos crypto-unit claim, crypto-unit master-key import, o crypto-unit user add --type kmsCryptoUser no se aplican a todas las unidades crypto, es posible que vea una salida similar a la del
siguiente ejemplo:
Executing operation Generate Master Key against CryptoUnit with ID fadedbee-0000-0000-0000-1234567890ab
OK
Executing operation Generate Master Key against CryptoUnit with ID addedace-0000-0000-0000-1234567890ab
FAILED
Para resolver este problema:
-
Por defecto, los comandos
claim,master-key import, yuser addintentan aplicarse a todas las unidades crypto. Si estos comandos sólo tienen éxito parcialmente (se aplican sólo a un subconjunto de las unidades criptográficas de la instancia), vuelva a intentar el comando sólo contra las unidades criptográficas que devolvieron un fallo. Cada uno de estos comandos puede configurarse para dirigirse a unidades criptográficas específicas. Para determinar cómo dirigirse a unidades criptográficas específicas, añada-ha cualquier comandocrypto-unitpara ver el texto de ayuda o consulte la referencia de la CLI. -
Ejecute el comando
kp crypto-unitsen la referencia CLI para confirmar que todas las unidades criptográficas se encuentran en el mismo estado.- Si los estados de las unidades criptográficas no coinciden, consulte Estados de las unidades criptográficas.
- Si alguna unidad criptográfica se encuentra en el estado
maintenance, vuelva a intentar los comandoskp crypto-unitmás adelante.