本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。
設定憑證型 API 存取
貢獻者
建議變更
除了用於 REST API 或 NetApp Manageability SDK API 存取 ONTAP 的使用者 ID 和密碼驗證之外、還必須使用憑證型驗證。
作為 REST API 憑證型驗證的替代方案、請使用 "OAuth 2.0 權杖型驗證"。) |
您可以在 ONTAP 上產生並安裝自我簽署的憑證、如下列步驟所述。
步驟
-
使用 Openssl 執行下列命令來產生憑證:
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'
此命令會產生一個名為的公開憑證
test.pem
和一個名為的私密金鑰key.out
。一般名稱 CN 對應於 ONTAP 使用者 ID 。 -
在 ONTAP 中以隱私權增強郵件( pem )格式安裝公開憑證內容、方法是執行下列命令、並在出現提示時貼上憑證內容:
security certificate install -type client-ca -vserver cluster1 Please enter Certificate: Press <Enter> when done
-
啟用 ONTAP 以允許透過 SSL 存取用戶端、並定義 API 存取的使用者 ID 。
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
在下列範例中、使用者 ID
cert_user
現在已啟用、可使用憑證驗證的 API 存取。使用簡單的 Manageability SDK Python 指令碼cert_user
來顯示 ONTAP 版本、如下所示:#!/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)
指令碼的輸出會顯示 ONTAP 版本。
./version.py V: NetApp Release 9.5RC1: Sat Nov 10 05:13:42 UTC 2018
-
若要使用 ONTAP REST API 執行憑證型驗證、請完成下列步驟:
-
在 ONTAP 中、定義 http 存取的使用者 ID :
security login create -user-or-group-name cert_user -application http -authmethod cert -role admin -vserver cluster1
-
在您的 Linux 用戶端上、執行下列命令來產生 ONTAP 版本做為輸出:
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" } } }
-