Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Richten Sie den zertifikatbasierten API-Zugriff ein

Beitragende

Statt der Benutzer-ID- und Kennwortauthentifizierung für den REST-API- oder NetApp Manageability SDK-Zugriff auf ONTAP muss die zertifikatbasierte Authentifizierung verwendet werden.

Hinweis Als Alternative zur zertifikatbasierten Authentifizierung für REST-API verwenden Sie "OAuth 2.0 Token-basierte Authentifizierung".)

Sie können ein selbstsigniertes Zertifikat auf ONTAP erstellen und installieren, wie in den folgenden Schritten beschrieben.

Schritte
  1. Erstellen Sie mithilfe von OpenSSL ein Zertifikat, indem Sie den folgenden Befehl ausführen:

    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'

    Dieser Befehl erzeugt ein öffentliches Zertifikat mit dem Namen test.pem und einen privaten Schlüssel mit dem Namen key.out. Der allgemeine Name CN entspricht der ONTAP-Benutzer-ID.

  2. Installieren Sie den Inhalt des öffentlichen Zertifikats im Format Privacy Enhanced Mail (pem) in ONTAP, indem Sie den folgenden Befehl ausführen und den Inhalt des Zertifikats einfügen, wenn Sie dazu aufgefordert werden:

    security certificate install -type client-ca -vserver cluster1
    
    Please enter Certificate: Press <Enter> when done
  3. Aktivieren Sie ONTAP, um den Clientzugriff über SSL zu erlauben, und definieren Sie die Benutzer-ID für den API-Zugriff.

    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

    Im folgenden Beispiel ist die Benutzer-ID cert_user nun für die Verwendung des zertifikatauthentifizierten API-Zugriffs aktiviert. Ein einfaches Manageability SDK Python-Skript, das zur Anzeige der ONTAP-Version verwendet cert_user wird, wird wie folgt angezeigt:

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

    Die Ausgabe des Skripts zeigt die ONTAP-Version an.

    ./version.py
    
    V: NetApp Release 9.5RC1: Sat Nov 10 05:13:42 UTC 2018
  4. Führen Sie folgende Schritte durch, um eine zertifikatbasierte Authentifizierung mit der ONTAP REST API durchzuführen:

    1. Definieren Sie in ONTAP die Benutzer-ID für HTTP-Zugriff:

      security login create -user-or-group-name cert_user -application http -authmethod cert -role admin -vserver cluster1
    2. Führen Sie auf Ihrem Linux-Client den folgenden Befehl aus, der die ONTAP-Version als Ausgabe erzeugt:

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