Aktivieren Sie die Authentifizierung auf einem ONTAP Storage Back-End
Astra Control Center bietet zwei Arten der Authentifizierung eines ONTAP-Backends:
-
Credential-basierte Authentifizierung: Der Benutzername und das Passwort an einen ONTAP-Benutzer mit den erforderlichen Berechtigungen. Sie sollten eine vordefinierte Sicherheits-Login-Rolle wie admin oder vsadmin verwenden, um maximale Kompatibilität mit ONTAP-Versionen zu gewährleisten.
-
Zertifikatbasierte Authentifizierung: Astra Control Center kann auch mit einem ONTAP-Cluster kommunizieren, indem ein auf dem Backend installiertes Zertifikat verwendet wird. Verwenden Sie gegebenenfalls das Clientzertifikat, den Schlüssel und das Zertifikat der vertrauenswürdigen Zertifizierungsstelle (empfohlen).
Sie können später vorhandene Back-Ends aktualisieren, um von einem Authentifizierungstyp zu einer anderen zu wechseln. Es wird jeweils nur eine Authentifizierungsmethode unterstützt.
Aktivieren Sie die Anmeldeinformationsbasierte Authentifizierung
Astra Control Center erfordert die Anmeldeinformationen für einen Cluster-Scoped admin
Zur Kommunikation mit dem ONTAP-Backend. Sie sollten standardmäßige, vordefinierte Rollen wie verwenden admin
. So wird die Kompatibilität mit zukünftigen ONTAP Versionen sichergestellt, für die Funktionskompatibilität für zukünftige Astra Control Center Versionen zur Verfügung stehen könnte.
|
Eine benutzerdefinierte Sicherheits-Login-Rolle kann erstellt und mit Astra Control Center verwendet werden, wird aber nicht empfohlen. |
Eine Beispiel-Backend-Definition sieht so aus:
{ "version": 1, "backendName": "ExampleBackend", "storageDriverName": "ontap-nas", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "svm_nfs", "username": "admin", "password": "secret" }
Die Backend-Definition ist der einzige Ort, an dem die Anmeldeinformationen im Klartext gespeichert werden. Die Erstellung oder Aktualisierung eines Backend ist der einzige Schritt, der Kenntnisse über die Anmeldeinformationen erfordert. Daher handelt es sich um einen reinen Admin-Vorgang, der vom Kubernetes- oder Storage-Administrator ausgeführt werden kann.
Aktivieren Sie die zertifikatbasierte Authentifizierung
Astra Control Center kann mithilfe von Zertifikaten mit neuen und vorhandenen ONTAP Back-Ends kommunizieren. Geben Sie die folgenden Informationen in die Backend-Definition ein.
-
clientCertificate
: Kundenzertifikat. -
clientPrivateKey
: Zugehöriger privater Schlüssel. -
trustedCACertificate
: Trusted CA-Zertifikat. Bei Verwendung einer vertrauenswürdigen CA muss dieser Parameter angegeben werden. Dies kann ignoriert werden, wenn keine vertrauenswürdige CA verwendet wird.
Sie können einen der folgenden Zertifikatstypen verwenden:
-
Selbstsigniertes Zertifikat
-
Drittanbieter-Zertifikat
Aktivieren Sie die Authentifizierung mit einem selbstsignierten Zertifikat
Ein typischer Workflow umfasst die folgenden Schritte.
-
Erzeugen eines Clientzertifikats und eines Schlüssels. Legen Sie beim Generieren den allgemeinen Namen (Common Name, CN) auf den ONTAP-Benutzer fest, der sich als authentifizieren soll.
openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -keyout k8senv.key -out k8senv.pem -subj "/C=US/ST=NC/L=RTP/O=NetApp/CN=<common-name>"
-
Installieren Sie das Clientzertifikat des Typs
client-ca
Und drücken Sie auf dem ONTAP-Cluster.security certificate install -type client-ca -cert-name <certificate-name> -vserver <vserver-name> security ssl modify -vserver <vserver-name> -client-enabled true
-
Vergewissern Sie sich, dass die ONTAP-Sicherheits-Anmeldungsrolle die Zertifikatauthentifizierung unterstützt.
security login create -user-or-group-name vsadmin -application ontapi -authentication-method cert -vserver <vserver-name> security login create -user-or-group-name vsadmin -application http -authentication-method cert -vserver <vserver-name>
-
Testen Sie die Authentifizierung mithilfe des generierten Zertifikats. Ersetzen Sie <ONTAP Management LIF> und <vserver name> durch die Management-LIF-IP und den SVM-Namen. Sie müssen sicherstellen, dass die Service-Richtlinie für das LIF auf festgelegt ist
default-data-management
.curl -X POST -Lk https://<ONTAP-Management-LIF>/servlets/netapp.servlets.admin.XMLrequest_filer --key k8senv.key --cert ~/k8senv.pem -d '<?xml version="1.0" encoding="UTF-8"?><netapp xmlns=http://www.netapp.com/filer/admin version="1.21" vfiler="<vserver-name>"><vserver-get></vserver-get></netapp>
-
Fügen Sie mithilfe der Werte aus dem vorherigen Schritt das Speicher-Backend in der Astra Control Center-Benutzeroberfläche hinzu.
Aktivieren Sie die Authentifizierung mit einem Zertifikat eines Drittanbieters
Wenn Sie über ein Zertifikat eines Drittanbieters verfügen, können Sie mit diesen Schritten eine zertifikatbasierte Authentifizierung einrichten.
-
Privaten Schlüssel und CSR generieren:
openssl req -new -newkey rsa:4096 -nodes -sha256 -subj "/" -outform pem -out ontap_cert_request.csr -keyout ontap_cert_request.key -addext "subjectAltName = DNS:<ONTAP_CLUSTER_FQDN_NAME>,IP:<ONTAP_MGMT_IP>”
-
Leiten Sie die CSR an die Windows-Zertifizierungsstelle (Drittanbieter-CA) weiter, und stellen Sie das signierte Zertifikat aus.
-
Laden Sie das signierte Zertifikat herunter und benennen Sie es mit `ontap_signed_cert.crt'.
-
Exportieren Sie das Stammzertifikat aus der Windows-CA (Drittanbieter-CA).
-
Benennen Sie diese Datei
ca_root.crt
Sie haben nun die folgenden drei Dateien:
-
Privatschlüssel:
ontap_signed_request.key
(Dies ist der entsprechende Schlüssel für das Serverzertifikat in ONTAP. Sie wird bei der Installation des Serverzertifikats benötigt.) -
Signiertes Zertifikat:
ontap_signed_cert.crt
(Dies wird in ONTAP auch als Server-Zertifikat bezeichnet.) -
Stammzertifizierungsstelle:
ca_root.crt
(In ONTAP wird dies auch als Server-CA-Zertifikat bezeichnet.)
-
-
Installieren Sie diese Zertifikate in ONTAP. Generieren und installieren
server
Undserver-ca
Zertifikate auf ONTAP.Erweitern für Sample.yaml
# Copy the contents of ca_root.crt and use it here. security certificate install -type server-ca Please enter Certificate: Press <Enter> when done -----BEGIN CERTIFICATE----- <certificate details> -----END CERTIFICATE----- You should keep a copy of the CA-signed digital certificate for future reference. The installed certificate's CA and serial number for reference: CA: serial: The certificate's generated name for reference: === # Copy the contents of ontap_signed_cert.crt and use it here. For key, use the contents of ontap_cert_request.key file. security certificate install -type server Please enter Certificate: Press <Enter> when done -----BEGIN CERTIFICATE----- <certificate details> -----END CERTIFICATE----- Please enter Private Key: Press <Enter> when done -----BEGIN PRIVATE KEY----- <private key details> -----END PRIVATE KEY----- Enter certificates of certification authorities (CA) which form the certificate chain of the server certificate. This starts with the issuing CA certificate of the server certificate and can range up to the root CA certificate. Do you want to continue entering root and/or intermediate certificates {y|n}: n The provided certificate does not have a common name in the subject field. Enter a valid common name to continue installation of the certificate: <ONTAP_CLUSTER_FQDN_NAME> You should keep a copy of the private key and the CA-signed digital certificate for future reference. The installed certificate's CA and serial number for reference: CA: serial: The certificate's generated name for reference: == # Modify the vserver settings to enable SSL for the installed certificate ssl modify -vserver <vserver_name> -ca <CA> -server-enabled true -serial <serial number> (security ssl modify) == # Verify if the certificate works fine: openssl s_client -CAfile ca_root.crt -showcerts -servername server -connect <ONTAP_CLUSTER_FQDN_NAME>:443 CONNECTED(00000005) depth=1 DC = local, DC = umca, CN = <CA> verify return:1 depth=0 verify return:1 write W BLOCK --- Certificate chain 0 s: i:/DC=local/DC=umca/<CA> -----BEGIN CERTIFICATE----- <Certificate details>
-
Erstellen Sie das Clientzertifikat für denselben Host für die passwortlose Kommunikation. Astra Control Center kommuniziert anhand dieses Verfahrens mit ONTAP.
-
Generieren und installieren Sie die Clientzertifikate auf ONTAP:
Erweitern für Sample.yaml
# Use /CN=admin or use some other account which has privileges. openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -keyout ontap_test_client.key -out ontap_test_client.pem -subj "/CN=admin" Copy the content of ontap_test_client.pem file and use it in the below command: security certificate install -type client-ca -vserver <vserver_name> Please enter Certificate: Press <Enter> when done -----BEGIN CERTIFICATE----- <Certificate details> -----END CERTIFICATE----- You should keep a copy of the CA-signed digital certificate for future reference. The installed certificate's CA and serial number for reference: CA: serial: The certificate's generated name for reference: == ssl modify -vserver <vserver_name> -client-enabled true (security ssl modify) # Setting permissions for certificates security login create -user-or-group-name admin -application ontapi -authentication-method cert -role admin -vserver <vserver_name> security login create -user-or-group-name admin -application http -authentication-method cert -role admin -vserver <vserver_name> == #Verify passwordless communication works fine with the use of only certificates: curl --cacert ontap_signed_cert.crt --key ontap_test_client.key --cert ontap_test_client.pem https://<ONTAP_CLUSTER_FQDN_NAME>/api/storage/aggregates { "records": [ { "uuid": "f84e0a9b-e72f-4431-88c4-4bf5378b41bd", "name": "<aggr_name>", "node": { "uuid": "7835876c-3484-11ed-97bb-d039ea50375c", "name": "<node_name>", "_links": { "self": { "href": "/api/cluster/nodes/7835876c-3484-11ed-97bb-d039ea50375c" } } }, "_links": { "self": { "href": "/api/storage/aggregates/f84e0a9b-e72f-4431-88c4-4bf5378b41bd" } } } ], "num_records": 1, "_links": { "self": { "href": "/api/storage/aggregates" } } }%
-
Fügen Sie das Storage-Backend in der Astra Control Center-Benutzeroberfläche hinzu und geben Sie die folgenden Werte an:
-
Client-Zertifikat: ontap_Test_Client.pem
-
Private Key: ontap_test_client.key
-
Vertrauenswürdiges CA-Zertifikat: ontap_Signed_cert.crt
-