Abilitare l'autenticazione su un backend di storage ONTAP
Il centro di controllo Astra offre due modalità di autenticazione di un backend ONTAP:
-
Autenticazione basata su credenziali: Nome utente e password di un utente ONTAP con le autorizzazioni richieste. Per garantire la massima compatibilità con le versioni di ONTAP, è necessario utilizzare un ruolo di accesso di sicurezza predefinito, ad esempio admin o vsadmin.
-
Autenticazione basata su certificato: Il centro di controllo Astra può anche comunicare con un cluster ONTAP utilizzando un certificato installato sul back-end. Utilizzare il certificato client, la chiave e il certificato CA attendibile, se utilizzato (consigliato).
È possibile aggiornare in seguito i back-end esistenti per passare da un tipo di autenticazione a un altro metodo. È supportato un solo metodo di autenticazione alla volta.
Abilitare l'autenticazione basata su credenziali
Astra Control Center richiede le credenziali per un cluster con ambito admin
Per comunicare con il backend ONTAP. È necessario utilizzare ruoli standard predefiniti, ad esempio admin
. Ciò garantisce la compatibilità con le future release di ONTAP che potrebbero esporre le API delle funzionalità da utilizzare nelle future release di Astra Control Center.
Un ruolo di accesso di sicurezza personalizzato può essere creato e utilizzato con Astra Control Center, ma non è consigliato. |
Un esempio di definizione di backend è simile al seguente:
{ "version": 1, "backendName": "ExampleBackend", "storageDriverName": "ontap-nas", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "svm_nfs", "username": "admin", "password": "secret" }
La definizione di backend è l'unica posizione in cui le credenziali vengono memorizzate in testo normale. La creazione o l'aggiornamento di un backend è l'unico passaggio che richiede la conoscenza delle credenziali. Pertanto, si tratta di un'operazione di sola amministrazione, che deve essere eseguita da Kubernetes o dall'amministratore dello storage.
Abilitare l'autenticazione basata su certificato
Il centro di controllo Astra può utilizzare i certificati per comunicare con i backend ONTAP nuovi ed esistenti. Inserire le seguenti informazioni nella definizione di backend.
-
clientCertificate
: Certificato del client. -
clientPrivateKey
: Chiave privata associata. -
trustedCACertificate
: Certificato CA attendibile. Se si utilizza una CA attendibile, è necessario fornire questo parametro. Questa operazione può essere ignorata se non viene utilizzata alcuna CA attendibile.
È possibile utilizzare uno dei seguenti tipi di certificati:
-
Certificato autofirmato
-
Certificato di terze parti
Abilitare l'autenticazione con un certificato autofirmato
Un workflow tipico prevede i seguenti passaggi.
-
Generare un certificato e una chiave del client. Durante la generazione, impostare il nome comune (CN) sull'utente ONTAP per l'autenticazione come.
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>"
-
Installare il certificato client di tipo
client-ca
E sul cluster ONTAP.security certificate install -type client-ca -cert-name <certificate-name> -vserver <vserver-name> security ssl modify -vserver <vserver-name> -client-enabled true
-
Verificare che il ruolo di accesso di sicurezza di ONTAP supporti il metodo di autenticazione del certificato.
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>
-
Verificare l'autenticazione utilizzando il certificato generato. Sostituire <LIF di gestione ONTAP> e <vserver name> con l'IP LIF di gestione e il nome SVM. Assicurarsi che la politica di servizio di LIF sia impostata su
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>
-
Utilizzando i valori ottenuti dal passaggio precedente, aggiungere il backend di storage nell'interfaccia utente di Astra Control Center.
Abilitare l'autenticazione con un certificato di terze parti
Se si dispone di un certificato di terze parti, è possibile configurare l'autenticazione basata su certificato con questa procedura.
-
Generare la chiave privata e la CSR:
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>”
-
Passare la CSR alla CA di Windows (CA di terze parti) e rilasciare il certificato firmato.
-
Scarica il certificato firmato e chiamalo `ontap_signed_cert.crt'
-
Esportare il certificato root dalla CA di Windows (CA di terze parti).
-
Assegnare un nome al file
ca_root.crt
A questo punto, sono disponibili i seguenti tre file:
-
Chiave privata:
ontap_signed_request.key
(Chiave corrispondente al certificato del server in ONTAP). È necessario durante l'installazione del certificato del server). -
Certificato firmato:
ontap_signed_cert.crt
(Questo è anche chiamato certificato del server in ONTAP). -
Certificato CA root:
ca_root.crt
(Questo è anche chiamato certificato server-ca in ONTAP).
-
-
Installare questi certificati in ONTAP. Generare e installare
server
e.server-ca
Certificati su ONTAP.Espandere per 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>
-
Creare il certificato client per lo stesso host per le comunicazioni senza password. Il centro di controllo Astra utilizza questo processo per comunicare con ONTAP.
-
Generare e installare i certificati client su ONTAP:
Espandere per 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" } } }%
-
Aggiungere il backend dello storage nell'interfaccia utente di Astra Control Center e fornire i seguenti valori:
-
Certificato client: ontap_test_client.pem
-
Chiave privata: ontap_test_client.key
-
Certificato CA attendibile: ontap_signed_cert.crt
-