Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Configure el acceso de API basado en certificados

Colaboradores

En lugar de utilizar la autenticación basada en certificado y el ID de usuario para la API de REST o el acceso de la API de SDK de capacidad de gestión de NetApp para ONTAP.

Nota Como alternativa a la autenticación basada en certificados para la API de REST, utilice "Autenticación basada en token OAuth 2,0".)

Puede generar e instalar un certificado autofirmado en ONTAP, tal y como se describe en estos pasos.

Pasos
  1. Con OpenSSL, genere un certificado ejecutando el siguiente comando:

    openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -keyout test.key -out test.pem \> -subj "/C=US/ST=NC/L=RTP/O=NetApp/CN=cert_user"
    Generating a 2048 bit RSA private key
    ..............+++
    ..........................+++
    writing new private key to 'test.key'

    Este comando genera un certificado público denominado test.pem y una clave privada denominada key.out. El nombre común, CN, corresponde al ID de usuario de ONTAP.

  2. Instale el contenido del certificado público en formato de correo mejorado de privacidad (pem) en ONTAP ejecutando el siguiente comando y pegando el contenido del certificado cuando se le solicite:

    security certificate install -type client-ca -vserver cluster1
    
    Please enter Certificate: Press <Enter> when done
  3. Active ONTAP para permitir el acceso del cliente a través de SSL y defina el ID de usuario para el acceso a la API.

    security ssl modify -vserver cluster1 -client-enabled true
    security login create -user-or-group-name cert_user -application ontapi -authmethod cert -role admin -vserver cluster1

    En el siguiente ejemplo, el ID de usuario cert_user ahora está habilitado para utilizar acceso a API autenticado con certificado. Un script de Python de SDK de gestión simple que utiliza cert_user para mostrar la versión de ONTAP aparece de la siguiente manera:

    #!/usr/bin/python
    
    import sys
    sys.path.append("/home/admin/netapp-manageability-sdk-9.5/netapp-manageability-sdk-9.5/lib/python/NetApp")
    from NaServer import *
    
    cluster = "cluster1"
    transport = "HTTPS"
    port = 443
    style = "CERTIFICATE"
    cert = "test.pem"
    key = "test.key"
    
    s = NaServer(cluster, 1, 30)
    s.set_transport_type(transport)
    s.set_port(port)
    s.set_style(style)
    s.set_server_cert_verification(0)
    s.set_client_cert_and_key(cert, key)
    
    api = NaElement("system-get-version")
    output = s.invoke_elem(api)
    if (output.results_status() == "failed"):
        r = output.results_reason()
        print("Failed: " + str(r))
        sys.exit(2)
    
    ontap_version = output.child_get_string("version")
    print ("V: " + ontap_version)

    El resultado del script muestra la versión de ONTAP.

    ./version.py
    
    V: NetApp Release 9.5RC1: Sat Nov 10 05:13:42 UTC 2018
  4. Para realizar una autenticación basada en certificados con la API REST DE ONTAP, complete los siguientes pasos:

    1. En ONTAP, defina el ID de usuario para el acceso http:

      security login create -user-or-group-name cert_user -application http -authmethod cert -role admin -vserver cluster1
    2. En su cliente Linux, ejecute el siguiente comando que genera la versión de ONTAP como resultado:

      curl -k --cert-type PEM --cert ./test.pem --key-type PEM --key ./test.key -X GET "https://cluster1/api/cluster?fields=version"
      {
          "version": {
              "full": "NetApp Release 9.7P1: Thu Feb 27 01:25:24 UTC 2020",
              "generation": 9,
              "major": 7,
              "minor": 0
          },
          "_links": {
              "self": {
                  "href": "/api/cluster"
              }
          }
      }