Skip to main content
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

ONTAP 스토리지 백엔드에서 인증을 설정합니다

기여자

Astra Control Center는 ONTAP 백엔드를 인증하는 두 가지 모드를 제공합니다.

  • * 자격 증명 기반 인증 *: 필요한 권한이 있는 ONTAP 사용자의 사용자 이름 및 암호입니다. ONTAP 버전과의 호환성을 최대화하려면 admin 또는 vsadmin과 같이 미리 정의된 보안 로그인 역할을 사용해야 합니다.

  • * 인증서 기반 인증 *: Astra Control Center는 백엔드에 설치된 인증서를 사용하여 ONTAP 클러스터와 통신할 수도 있습니다. 클라이언트 인증서, 키 및 신뢰할 수 있는 CA 인증서를 사용해야 합니다(권장).

나중에 기존 백엔드를 업데이트하여 한 가지 인증 유형에서 다른 방법으로 이동할 수 있습니다. 한 번에 하나의 인증 방법만 지원됩니다.

자격 증명 기반 인증을 사용합니다

Astra Control Center에는 클러스터 범위에 대한 자격 증명이 필요합니다 admin ONTAP 백엔드와 통신합니다. 과 같이 미리 정의된 표준 역할을 사용해야 합니다 admin. 이를 통해 향후 Astra Control Center 릴리스에서 사용할 기능 API를 노출할 수 있는 향후 ONTAP 릴리스와 향후 호환될 수 있습니다.

참고 사용자 지정 보안 로그인 역할은 Astra Control Center에서 생성 및 사용할 수 있지만 권장되지 않습니다.

백엔드 정의의 예는 다음과 같습니다.

{
  "version": 1,
  "backendName": "ExampleBackend",
  "storageDriverName": "ontap-nas",
  "managementLIF": "10.0.0.1",
  "dataLIF": "10.0.0.2",
  "svm": "svm_nfs",
  "username": "admin",
  "password": "secret"
}

백엔드 정의만 자격 증명이 일반 텍스트로 저장되는 곳입니다. 백엔드의 생성 또는 업데이트는 자격 증명에 대한 지식이 필요한 유일한 단계입니다. 따라서 Kubernetes 또는 스토리지 관리자가 수행할 수 있는 관리자 전용 작업입니다.

인증서 기반 인증을 사용합니다

Astra Control Center는 인증서를 사용하여 신규 및 기존 ONTAP 백엔드와 통신할 수 있습니다. 백엔드 정의에 다음 정보를 입력해야 합니다.

  • clientCertificate: 클라이언트 인증서.

  • clientPrivateKey: 연결된 개인 키.

  • trustedCACertificate: 신뢰할 수 있는 CA 인증서입니다. 신뢰할 수 있는 CA를 사용하는 경우 이 매개 변수를 제공해야 합니다. 신뢰할 수 있는 CA가 사용되지 않으면 이 작업을 무시할 수 있습니다.

다음 유형의 인증서 중 하나를 사용할 수 있습니다.

  • 자체 서명된 인증서

  • 타사 인증서입니다

자체 서명된 인증서를 사용하여 인증을 활성화합니다

일반적인 워크플로에는 다음 단계가 포함됩니다.

단계
  1. 클라이언트 인증서 및 키를 생성합니다. 생성 시 CN(일반 이름)을 ONTAP 사용자로 설정하여 인증하십시오.

    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>"
  2. 유형의 클라이언트 인증서를 설치합니다 client-ca ONTAP 클러스터의 키입니다.

    security certificate install -type client-ca -cert-name <certificate-name> -vserver <vserver-name>
    security ssl modify -vserver <vserver-name> -client-enabled true
  3. ONTAP 보안 로그인 역할이 인증서 인증 방법을 지원하는지 확인합니다.

    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>
  4. 생성된 인증서를 사용하여 인증을 테스트합니다. ONTAP 관리 LIF> 및 <vserver name>를 관리 LIF IP 및 SVM 이름으로 바꿉니다. LIF의 서비스 정책이 으로 설정되어 있는지 확인해야 합니다 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>
  5. 이전 단계에서 얻은 값을 사용하여 Astra Control Center UI에 스토리지 백엔드를 추가합니다.

타사 인증서로 인증을 활성화합니다

타사 인증서가 있는 경우 다음 단계를 사용하여 인증서 기반 인증을 설정할 수 있습니다.

단계
  1. 개인 키와 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>”
  2. CSR을 Windows CA(타사 CA)로 전달하고 서명된 인증서를 발급합니다.

  3. 서명된 인증서를 다운로드하고 이름을 'ONTAP_signed_cert.crt'로 지정합니다.

  4. Windows CA(타사 CA)에서 루트 인증서를 내보냅니다.

  5. 이 파일의 이름을 지정합니다 ca_root.crt

    이제 다음 세 개의 파일이 있습니다.

    • * 개인 키 *: ontap_signed_request.key (이 키는 ONTAP의 서버 인증서에 해당하는 키입니다. 서버 인증서를 설치하는 동안 필요합니다.)

    • * 서명된 인증서 *: ontap_signed_cert.crt (ONTAP에서 _server certificate_라고도 함)

    • * 루트 CA 인증서 *: ca_root.crt (ONTAP에서 _server-ca certificate_라고도 합니다.)

  6. 이러한 인증서를 ONTAP에 설치합니다. 생성 및 설치 serverserver-ca ONTAP의 인증서.

    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>
  7. 암호 없는 통신을 위해 동일한 호스트에 대한 클라이언트 인증서를 생성합니다. Astra Control Center는 이 프로세스를 사용하여 ONTAP와 통신합니다.

  8. ONTAP에서 클라이언트 인증서 생성 및 설치:

    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"
    }
    }
    }%
  9. Astra Control Center UI에 스토리지 백엔드를 추가하고 다음 값을 제공합니다.

    • * 클라이언트 인증서 *: ONTAP_TEST_CLIENT.PEM

    • * 개인 키 *: ontap_test_client.key

    • * 신뢰할 수 있는 CA 인증서 *: ONTAP_signed_certt. CRT