Go to main content

Guía de la API de RESTful de Oracle® ZFS Storage Appliance (versión OS8.8.x)

Salir de la Vista de impresión

Actualización: Agosto de 2021
 
 

Gestionar claves de cifrado


Notas -  El cifrado es una característica que se ofrece con licencia para ciertos modelos. Para obtener información detallada, consulte "Acuerdo de licencia de software (SLA) de Oracle y derecho de sistemas de hardware con opciones de software integrado" y el Manual de usuario de información sobre licencias para la versión de software.

Oracle ZFS Storage Appliance ofrece cifrado de datos transparente para agrupaciones, proyectos y recursos compartidos individuales (sistemas de archivos y LUN). El dispositivo incluye un almacén de claves Local incorporado y también es compatible con el cifrado de Oracle Key Manager (OKM) y Protocolo de interoperabilidad de gestión de claves (KMIP). Cada proyecto o recurso compartido cifrado requiere una clave de encapsulado del almacén de claves Local, de OKM o de KMIP. El dispositivo de almacenamiento gestiona las claves de cifrado de datos y la clave encapsulada las almacena con un cifrado persistente.

La clave de cifrado debe crearse antes de crear una agrupación, proyecto o recurso compartido cifrado.

  • Dado que el almacén de claves se debe configurar antes de crear la agrupación, no puede crear una agrupación cifrada durante la configuración inicial del sistema ni después del restablecimiento de fábrica.

  • Antes de configurar la replicación para un proyecto o recurso compartido en una agrupación cifrada, asegúrese de que la clave de cifrado utilizada en el origen también se encuentre disponible en el destino.

En la siguiente tabla, se describen las solicitudes de la API de RESTful que están disponibles para gestionar claves de cifrado. En la tabla, el valor de keystore es local, okm o kmip. El valor de key es el valor de la propiedad keyname. Las propiedades clave se describen en Enumerar las claves de cifrado.

Tabla 67  Operaciones de clave de cifrado
Solicitud
Anexar a la ruta de acceso /api/storage/v{1|2}
Descripción
GET
/encryption/keystore
Enumerar todas las propiedades keystore.
PUT
/encryption/keystore
Modificar las propiedades keystore
GET
/encryption/keystore/keys
Enumerar todas las claves keystore
GET
/encryption/keystore/keys/key
Obtener detalles sobre la clave especificada
POST
/encryption/keystore/keys
Crear una clave
DELETE
/encryption/keystore/keys/key
Destruir una clave
GET
/encryption/keystore/keys/key/dependents
Enumerar los recursos compartidos que dependen de esta clave

Configurar un almacén local de claves

Para configurar el almacén local de claves, defina la frase de contraseña maestra. Para un almacén local de claves, master_passphrase es la única propiedad que puede enumerar o modificar.

Compruebe si se ha configurado la master_passphrase :

GET /api/storage/v2/encryption/local HTTP/1.1 

Salida:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "keystore": {
        "href": "/api/storage/v2/encryption/local",
        "master_passphrase": false,
        "keys": []
    }
}

Especifique un valor para master_passphrase:

PUT /api/storage/v2/encryption/local HTTP/1.1
Host: zfs-storage.example.com:215
Content-Type: application/json
Accept: application/json

{
    "master_passphrase": "passphrase"
}

Confirme que se ha establecido la master_passphrase:

GET /api/storage/v2/encryption/local HTTP/1.1

Salida:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "keystore": {
        "href": "/api/storage/v2/encryption/local",
        "master_passphrase": true,
        "keys": []
    }
}

Configurar un almacén de OKM de claves

En la siguiente tabla, se describen las propiedades que se deben establecer para configurar un almacén de claves de OKM.

Tabla 68  Propiedades del almacén de claves de OKM
Propiedad
Tipo
Descripción
agent_id
string
Identificador de agente
registration_pin
string
Este valor lo proporciona su oficial de seguridad de OKM
server_addr
string
Dirección IP de su servidor OKM

Compruebe si las propiedades anteriores están configuradas:

GET /api/storage/v2/encryption/okm HTTP/1.1 

Salida:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "keystore": {
        "href": "/api/storage/v2/encryption/okm",
        "agent_id": "",
        "registration_pin": false,
        "server_addr": "",
        "keys": []
    }
}

Especifique valores para agent_id, registration_pin, y server_addr:

PUT /api/storage/v2/encryption/okm HTTP/1.1
Host: zfs-storage.example.com:215
Content-Type: application/json
Accept: application/json

{
    "agent_id": "agent-id",
    "registration_pin": "reg-pin",
    "server_addr": "ipaddr"
}

Configurar un almacén de claves de KMIP

El almacén de claves de KMIP se usa junto con los servidores compatibles con KMIP, incluido Oracle Key Vault. Oracle Key Vault es un dispositivo de software que se instala en un servidor dedicado y es compatible con la norma OASIS KMIP.

Para configurar el cifrado con KMIP, cargue la clave y los certificados que recibió de su administrador de KMIP, tal como se describe en Cargar una clave o un certificado.

Después de cargar la clave y los certificados, especifique el servidor de KMIP, el certificado de cliente y un nombre de clave.

En la siguiente tabla, se describen las propiedades que se deben definir para configurar el almacén de claves de KMIP.

Tabla 69  Propiedades del almacén de claves de KMIP
Propiedad
Tipo
Descripción
server_list
Lista
Dirección IP o nombre de host de un servidor de KMIP. Esta propiedad puede tener varios valores.
client_cert
string
Certifique que usted creó a partir de archivos proporcionados por el administrador de su servidor de KMIP.
host_match
boolean
Valide el nombre de host del servidor con la identidad del servidor en el certificado del servidor.
destroy_key_on_remove
boolean
Destruya o preserve una clave en el servidor de KMIP cuando esa clave es una clave suprimida en el dispositivo.

Para obtener más información sobre host_match y destroy_key_on_remove, consulte "Almacén de claves de Protocolo de interoperabilidad de gestión de claves (KMIP)" en Guía de administración de Oracle® ZFS Storage Appliance, versión OS8.8.x.

Compruebe si las propiedades anteriores están configuradas:

GET /api/storage/v2/encryption/kmip HTTP/1.1 

Salida:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "keystore": {
    "href": "/api/storage/v2/encryption/kmip",
    "server_list": [
      "ipaddr-or-hostname"
    ],
    "client_cert": "134a9138-29a0-4720-80bb-ec2b13457c39",
    "host_match": false,
    "destroy_key_on_remove": true,
    "keys": [],
... detailed information about the private key, certificate, and certificate authority ...
  }
}

Crear una clave de cifrado

Después de configurar el almacén de claves, simplemente, defina el nombre de clave para crear una clave. En el siguiente ejemplo, se crea una clave de KMIP nueva. Consulte Enumerar las claves de cifrado para obtener resultados de ejemplo.

Ejemplo de solicitud:

POST /api/storage/v2/encryption/kmip/keys HTTP/1.1 
Host: zfs-storage.example.com:215
Authorization: Basic Tm8gcGVla2luZyE=
Content-Type: application/json
Accept: application/json
{
        "keyname": "atz-1-27-2021"
}

Enumerar las claves de cifrado

Este comando enumera las propiedades de todas las claves de cifrado. Cuando un comando se ejecuta correctamente, se devuelve HTTP Status 200 (estado HTTP 200 [correcto]). El cuerpo HTTP contiene una matriz de claves en formato JSON. En la siguiente tabla, se describen las propiedades de la clave de cifrado.

Tabla 70  Propiedades de la clave de cifrado
Propiedad
Tipo
Descripción
cipher
string
Tipo de cifrado AES
key
string
(Solo local) Clave cruda de 256 bits codificada en hexadecimal, almacenada en forma cifrada Este valor se genera automáticamente si no especifica un valor
keyname
string
Una clave específica
href
string
La ruta de acceso a la clave

En el siguiente ejemplo, se muestran todas las claves Locales, de OKM y de KMIP.

Ejemplo de solicitud:

GET /api/storage/v2/encryption/local/keys /api/storage/v2/encryption/okm/keys /api/storage/v2/encryption/kmip/keys HTTP/1.1

Resultado de ejemplo:

En este resultado, se muestra que no existen claves Locales ni de OKM en este dispositivo y que existe una clave de KMIP.

{
    "keys": {
    }
}
{
    "keys": {
    }
}
{
    "keys": [{
        "cipher": "AES",
        "keyname": "atz-1-27-2021",
        "href": "/api/storage/v2/encryption/kmip/keys/key-000"
    }]
}

Mostrar almacenamiento cifrado con la clave especificada

La consulta dependents muestra todos los recursos compartidos, proyectos o agrupaciones que están cifrados con la clave especificada.

En el siguiente ejemplo, se muestra que solo el sistema de archivos fs-enc, en la agrupación por defecto, está cifrado con la clave de KMIP atz-1-27-2021.

Ejemplo de solicitud:

GET /api/storage/v2/encryption/kmip/keys/atz-1-27-2021/dependents HTTP/1.1

Resultado de ejemplo:

{
  "dependents": [
    "pool-0/local/default/fs-enc"
  ]
}

Suprimir una clave

Para suprimir una clave, use el valor de la propiedad href de la clave (no el nombre de la clave). Si se suprime correctamente, se devuelve HTTP Status 204 (No Content) (estado HTTP 204 [sin contenido]).

Cuando se suprime una clave, todos los datos de todas las agrupaciones y todos los recursos compartidos que utilizan la clave se vuelven inaccesibles. Esto equivale a asegurar la destrucción de los datos y es una acción permanente e irrevocable a menos que esté preparado para restablecer la clave por medio de una copia de seguridad de la clave.

Ejemplo de solicitud:

DELETE /api/storage/v2/encryption/kmip/keys/key-000 HTTP/1.1
Host: zfs-storage.example.com:215
Accept: application/json