Administración de un HSM administrado mediante la CLI de Azure

Nota

Key Vault admite dos tipos de recursos: almacenes y HSM administrados. Este artículo trata sobre los HSM administrados. Si desea obtener información sobre cómo administrar un almacén, consulte Administración de Key Vault mediante la CLI de Azure.

Para obtener información general sobre los HSM administrados, consulte ¿Qué es HSM administrado?.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Requisitos previos

Para completar los pasos de este artículo, debe tener los siguientes elementos:

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Button to launch Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Inicio de sesión en Azure

Para iniciar sesión en Azure mediante la CLI puede escribir:

az login

Para más información sobre las opciones de inicio de sesión mediante la CLI, consulte Inicio de sesión con la CLI de Azure.

Nota

Todos los comandos siguientes muestran dos métodos de uso. Uno que usa los parámetros --hsm-name y --name (para el nombre de clave) y otro que usa el parámetro --id, donde puede especificar la dirección URL completa, incluido el nombre de clave si corresponde. El último método es útil cuando el autor de la llamada (un usuario o una aplicación) no tiene acceso de lectura en el plano de control y solo tiene acceso restringido en el plano de datos.

Nota

Algunas interacciones con el material clave requieren permisos específicos de RBAC local. Para ver una lista completa de los roles y permisos de RBAC local integrados, consulte Roles integrados de RBAC local de HSM administrado. Para asignar estos permisos a un usuario, consulte Protección del acceso a los HSM administrados.

Creación de una clave de HSM

Nota

La clave generada o importada en Managed HSM no se puede exportar. Consulte los procedimientos recomendados para la portabilidad y durabilidad de claves.

Utilice el comando az keyvault key create para crear una clave.

Creación de una clave RSA

En el ejemplo siguiente se muestra cómo crear una clave RSA de 3072 bits que solo se utilizará para las operaciones wrapKey y unwrapKey (--ops).

az keyvault key create --hsm-name ContosoMHSM --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

## OR
# Note the key name (myrsakey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072

Tenga en cuenta que la operación get solo devuelve la clave pública y los atributos de clave. No devuelve la clave privada (en el caso de una clave asimétrica) ni el material de clave (en el caso de una clave simétrica).

Creación de una clave EC

En el ejemplo siguiente se muestra cómo crear una clave EC con una curva P-256 que solo se utilizará para las operaciones sign y verify (--ops) con dos etiquetas, usage y appname. Las etiquetas le ayudan a agregar metadatos adicionales a la clave para facilitar el seguimiento y la administración.

az keyvault key create --hsm-name ContosoMHSM --name myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

## OR
# Note the key name (myec256key) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myec256key --ops sign verify  --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256

Creación de una clave simétrica de 256 bits

En el ejemplo siguiente se muestra cómo crear una clave simétrica de 256 bits que solo se utilizará para las operaciones encrypt y decrypt (--ops).

az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt  --tags --kty oct-HSM --size 256

## OR
# Note the key name (myaeskey) in the URI

az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt  --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256

Visualización de atributos y etiquetas de claves

Use el comando az keyvault key show para ver los atributos, las versiones y las etiquetas de una clave.

az keyvault key show --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

Enumeración de claves

Use el comando az keyvault key list para enumerar todas las claves dentro de un HSM administrado.

az keyvault key list --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/

Eliminación de una clave

Use el comando az keyvault key delete para eliminar una clave de un HSM administrado. Tenga en cuenta que la eliminación temporal está siempre habilitada. Por lo tanto, una clave eliminada permanecerá en estado eliminado y se podrá recuperar hasta que haya transcurrido el número de días de retención, momento en el que la clave se purgará (se eliminará de forma permanente) sin que sea posible la recuperación.

az keyvault key delete --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey

Enumeración de claves eliminadas

Use el comando az keyvault key list-deleted para enumerar todas las claves en estado eliminado en el HSM administrado.

az keyvault key list-deleted --hsm-name ContosoHSM

## OR
# use full URI

az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/

Recuperación de una clave eliminada

Use el comando az keyvault key list-deleted para enumerar todas las claves en estado eliminado en el HSM administrado. Si necesita recuperar una clave, al usar el parámetro --id para recuperar una clave eliminada debe anotar el valor recoveryId de la clave eliminada obtenida del comando az keyvault key list-deleted.

az keyvault key recover --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

Purga (eliminación permanente) de una clave

Use el comando az keyvault key purge para purgar (eliminar de forma permanente) una clave.

Nota

Si el HSM administrado tiene habilitada la protección de purga, la operación de purga no se permitirá. La clave se purgará automáticamente cuando haya transcurrido el período de retención.

az keyvault key purge --hsm-name ContosoHSM --name myrsakey

## OR
# Note the key name (myaeskey) in the URI

az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey

Creación de una copia de seguridad de una sola clave

Use az keyvault key backup para crear una copia de seguridad de una clave. El archivo de copia de seguridad es un blob cifrado vinculado de forma criptográfica al dominio de seguridad del HSM de origen. Solo se puede restaurar en HSM que compartan el mismo dominio de seguridad. Obtenga más información sobre el dominio de seguridad.

az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey  --file myrsakey.backup

Restauración de una única clave a partir de una copia de seguridad

Use az keyvault key restore para restaurar una sola clave. El HSM de origen en el que se creó la copia de seguridad debe compartir el mismo dominio de seguridad que el HSM de destino donde se va a restaurar la clave.

Nota

La restauración no se realizará correctamente si existe una clave con el mismo nombre en estado activo o eliminado.

az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup

## OR
# Note the key name (myaeskey) in the URI

az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup

Importación de una clave desde un archivo

Use el comando az keyvault key import para importar una clave (solo RSA y EC) desde un archivo. El archivo de certificado debe tener una clave privada y debe usar la codificación PEM (tal y como se define en los RFC 1421, 1422, 1423 y 1424).

az keyvault key import --hsm-name ContosoHSM --name myrsakey --pem-file mycert.key --password 'mypassword'

## OR
# Note the key name (myaeskey) in the URI

az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'

Para importar una clave desde el sistema HSM local a un sistema HSM administrado, consulte Importación de claves protegidas con HSM en HSM administrado (BYOK).

Pasos siguientes