Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Impostare l'accesso API basato su certificati

Collaboratori

Invece dell'autenticazione tramite ID utente e password per l'accesso API REST o API SDK di gestione NetApp a ONTAP, è necessario utilizzare l'autenticazione basata su certificati.

Nota In alternativa all'autenticazione basata su certificati per le API REST, utilizzare "Autenticazione basata su token OAuth 2,0".)

È possibile generare e installare un certificato autofirmato su ONTAP come descritto in questi passaggi.

Fasi
  1. Utilizzando OpenSSL, generare un certificato eseguendo il seguente 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'

    Questo comando genera un certificato pubblico denominato e una chiave privata denominata test.pem key.out. Il nome comune, CN, corrisponde all'ID utente ONTAP.

  2. Installare il contenuto del certificato pubblico in formato PEM (Privacy Enhanced Mail) in ONTAP eseguendo il comando seguente e incollando il contenuto del certificato quando richiesto:

    security certificate install -type client-ca -vserver cluster1
    
    Please enter Certificate: Press <Enter> when done
  3. Abilitare ONTAP per consentire l'accesso client tramite SSL e definire l'ID utente per l'accesso 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

    Nell'esempio seguente, l'ID utente cert_user è ora abilitato per utilizzare l'accesso API autenticato con certificato. Un semplice script Python SDK di gestione che utilizza cert_user per visualizzare la versione ONTAP appare come segue:

    #!/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)

    L'output dello script visualizza la versione di ONTAP.

    ./version.py
    
    V: NetApp Release 9.5RC1: Sat Nov 10 05:13:42 UTC 2018
  4. Per eseguire l'autenticazione basata su certificati con l'API REST ONTAP, attenersi alla seguente procedura:

    1. In ONTAP, definire l'ID utente per l'accesso http:

      security login create -user-or-group-name cert_user -application http -authmethod cert -role admin -vserver cluster1
    2. Sul client Linux, eseguire il seguente comando che produce la versione di ONTAP come output:

      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"
              }
          }
      }