Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Crittografia Kerberos in volo

Collaboratori netapp-aruldeepa

Utilizzando la crittografia in-flight Kerberos, puoi migliorare la sicurezza dell'accesso ai dati abilitando la crittografia per il traffico tra il cluster gestito e il backend di archiviazione.

Trident supporta la crittografia Kerberos per ONTAP come backend di archiviazione:

  • * ONTAP on-premise* - Trident supporta la crittografia Kerberos su connessioni NFSv3 e NFSv4 da Red Hat OpenShift e cluster Kubernetes upstream a volumi ONTAP on-premise.

È possibile creare, eliminare, ridimensionare, creare snapshot, clonare, clonare in sola lettura e importare volumi che utilizzano la crittografia NFS.

Configurare la crittografia Kerberos in-flight con volumi ONTAP on-premise

È possibile abilitare la crittografia Kerberos sul traffico di archiviazione tra il cluster gestito e un backend di archiviazione ONTAP locale.

Nota La crittografia Kerberos per il traffico NFS con backend di archiviazione ONTAP on-premise è supportata solo utilizzando ontap-nas driver di archiviazione.
Prima di iniziare
  • Assicurati di avere accesso a tridentctl utilità.

  • Assicurati di avere accesso come amministratore al backend di archiviazione ONTAP .

  • Assicurati di conoscere il nome del volume o dei volumi che condividerai dal backend di archiviazione ONTAP .

  • Assicurarsi di aver preparato la VM di archiviazione ONTAP per supportare la crittografia Kerberos per i volumi NFS. Fare riferimento a "Abilita Kerberos su un dataLIF" per istruzioni.

  • Assicurarsi che tutti i volumi NFSv4 utilizzati con la crittografia Kerberos siano configurati correttamente. Fare riferimento alla sezione Configurazione del dominio NetApp NFSv4 (pagina 13) del manuale "Guida ai miglioramenti e alle best practice NetApp NFSv4" .

Aggiungere o modificare le policy di esportazione ONTAP

È necessario aggiungere regole alle policy di esportazione ONTAP esistenti o creare nuove policy di esportazione che supportino la crittografia Kerberos per il volume radice della VM di archiviazione ONTAP e per tutti i volumi ONTAP condivisi con il cluster Kubernetes upstream. Le regole dei criteri di esportazione aggiunti o i nuovi criteri di esportazione creati devono supportare i seguenti protocolli di accesso e autorizzazioni di accesso:

Protocolli di accesso

Configurare la policy di esportazione con i protocolli di accesso NFS, NFSv3 e NFSv4.

Dettagli di accesso

È possibile configurare una delle tre diverse versioni della crittografia Kerberos, a seconda delle esigenze del volume:

  • Kerberos 5 - (autenticazione e crittografia)

  • Kerberos 5i - (autenticazione e crittografia con protezione dell'identità)

  • Kerberos 5p - (autenticazione e crittografia con protezione dell'identità e della privacy)

Configurare la regola di policy di esportazione ONTAP con le autorizzazioni di accesso appropriate. Ad esempio, se i cluster monteranno i volumi NFS con una combinazione di crittografia Kerberos 5i e Kerberos 5p, utilizzare le seguenti impostazioni di accesso:

Tipo Accesso di sola lettura Accesso in lettura/scrittura Accesso superutente

UNIX

Abilitato

Abilitato

Abilitato

Kerberos 5i

Abilitato

Abilitato

Abilitato

Kerberos 5p

Abilitato

Abilitato

Abilitato

Per informazioni su come creare policy di esportazione ONTAP e regole di policy di esportazione, fare riferimento alla seguente documentazione:

Creare un backend di archiviazione

È possibile creare una configurazione backend di archiviazione Trident che includa la funzionalità di crittografia Kerberos.

Informazioni su questo compito

Quando si crea un file di configurazione del backend di archiviazione che configura la crittografia Kerberos, è possibile specificare una delle tre diverse versioni della crittografia Kerberos utilizzando spec.nfsMountOptions parametro:

  • spec.nfsMountOptions: sec=krb5(autenticazione e crittografia)

  • spec.nfsMountOptions: sec=krb5i(autenticazione e crittografia con protezione dell'identità)

  • spec.nfsMountOptions: sec=krb5p(autenticazione e crittografia con protezione dell'identità e della privacy)

Specificare un solo livello Kerberos. Se si specifica più di un livello di crittografia Kerberos nell'elenco dei parametri, verrà utilizzata solo la prima opzione.

Passi
  1. Nel cluster gestito, creare un file di configurazione del backend di archiviazione utilizzando il seguente esempio. Sostituisci i valori tra parentesi <> con le informazioni del tuo ambiente:

    apiVersion: v1
    kind: Secret
    metadata:
      name: backend-ontap-nas-secret
    type: Opaque
    stringData:
      clientID: <CLIENT_ID>
      clientSecret: <CLIENT_SECRET>
    ---
    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
      name: backend-ontap-nas
    spec:
      version: 1
      storageDriverName: "ontap-nas"
      managementLIF: <STORAGE_VM_MGMT_LIF_IP_ADDRESS>
      dataLIF: <PROTOCOL_LIF_FQDN_OR_IP_ADDRESS>
      svm: <STORAGE_VM_NAME>
      username: <STORAGE_VM_USERNAME_CREDENTIAL>
      password: <STORAGE_VM_PASSWORD_CREDENTIAL>
      nasType: nfs
      nfsMountOptions: ["sec=krb5i"] #can be krb5, krb5i, or krb5p
      qtreesPerFlexvol:
      credentials:
        name: backend-ontap-nas-secret
  2. Utilizzare il file di configurazione creato nel passaggio precedente per creare il backend:

    tridentctl create backend -f <backend-configuration-file>

    Se la creazione del backend fallisce, c'è qualcosa che non va nella configurazione del backend. È possibile visualizzare i registri per determinare la causa eseguendo il seguente comando:

    tridentctl logs

    Dopo aver identificato e corretto il problema con il file di configurazione, è possibile eseguire nuovamente il comando create.

Creare una classe di archiviazione

È possibile creare una classe di archiviazione per eseguire il provisioning dei volumi con crittografia Kerberos.

Informazioni su questo compito

Quando si crea un oggetto di classe di archiviazione, è possibile specificare una delle tre diverse versioni della crittografia Kerberos utilizzando mountOptions parametro:

  • mountOptions: sec=krb5(autenticazione e crittografia)

  • mountOptions: sec=krb5i(autenticazione e crittografia con protezione dell'identità)

  • mountOptions: sec=krb5p(autenticazione e crittografia con protezione dell'identità e della privacy)

Specificare un solo livello Kerberos. Se si specifica più di un livello di crittografia Kerberos nell'elenco dei parametri, verrà utilizzata solo la prima opzione. Se il livello di crittografia specificato nella configurazione del backend di archiviazione è diverso dal livello specificato nell'oggetto della classe di archiviazione, l'oggetto della classe di archiviazione ha la precedenza.

Passi
  1. Creare un oggetto StorageClass Kubernetes, utilizzando il seguente esempio:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-nas-sc
    provisioner: csi.trident.netapp.io
    mountOptions:
      - sec=krb5i #can be krb5, krb5i, or krb5p
    parameters:
      backendType: ontap-nas
      storagePools: ontapnas_pool
      trident.netapp.io/nasType: nfs
    allowVolumeExpansion: true
  2. Creare la classe di archiviazione:

    kubectl create -f sample-input/storage-class-ontap-nas-sc.yaml
  3. Assicurarsi che la classe di archiviazione sia stata creata:

    kubectl get sc ontap-nas-sc

    Dovresti vedere un output simile al seguente:

    NAME         PROVISIONER             AGE
    ontap-nas-sc    csi.trident.netapp.io   15h

Volumi di fornitura

Dopo aver creato un backend di archiviazione e una classe di archiviazione, è possibile effettuare il provisioning di un volume. Per le istruzioni, fare riferimento a "Fornire un volume" .

Configurare la crittografia Kerberos in-flight con volumi Azure NetApp Files

È possibile abilitare la crittografia Kerberos sul traffico di archiviazione tra il cluster gestito e un singolo backend di archiviazione Azure NetApp Files o un pool virtuale di backend di archiviazione di Azure NetApp Files .

Prima di iniziare
  • Assicurati di aver abilitato Trident sul cluster Red Hat OpenShift gestito.

  • Assicurati di avere accesso a tridentctl utilità.

  • Assicurarsi di aver preparato il backend di archiviazione Azure NetApp Files per la crittografia Kerberos prendendo nota dei requisiti e seguendo le istruzioni in "Documentazione Azure NetApp Files" .

  • Assicurarsi che tutti i volumi NFSv4 utilizzati con la crittografia Kerberos siano configurati correttamente. Fare riferimento alla sezione Configurazione del dominio NetApp NFSv4 (pagina 13) del manuale "Guida ai miglioramenti e alle best practice NetApp NFSv4" .

Creare un backend di archiviazione

È possibile creare una configurazione back-end di archiviazione di Azure NetApp Files che includa la funzionalità di crittografia Kerberos.

Informazioni su questo compito

Quando si crea un file di configurazione del backend di archiviazione che configura la crittografia Kerberos, è possibile definirlo in modo che venga applicato a uno dei due livelli possibili:

  • Il livello di backend di archiviazione che utilizza spec.kerberos campo

  • Il livello della piscina virtuale utilizzando il spec.storage.kerberos campo

Quando si definisce la configurazione a livello di pool virtuale, il pool viene selezionato utilizzando l'etichetta nella classe di archiviazione.

A entrambi i livelli è possibile specificare una delle tre diverse versioni della crittografia Kerberos:

  • kerberos: sec=krb5(autenticazione e crittografia)

  • kerberos: sec=krb5i(autenticazione e crittografia con protezione dell'identità)

  • kerberos: sec=krb5p(autenticazione e crittografia con protezione dell'identità e della privacy)

Passi
  1. Nel cluster gestito, creare un file di configurazione del backend di archiviazione utilizzando uno degli esempi seguenti, a seconda di dove è necessario definire il backend di archiviazione (livello di backend di archiviazione o livello di pool virtuale). Sostituisci i valori tra parentesi <> con le informazioni del tuo ambiente:

    Esempio di livello di backend di archiviazione
    apiVersion: v1
    kind: Secret
    metadata:
      name: backend-tbc-secret
    type: Opaque
    stringData:
      clientID: <CLIENT_ID>
      clientSecret: <CLIENT_SECRET>
    
    ---
    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
      name: backend-tbc
    spec:
      version: 1
      storageDriverName: azure-netapp-files
      subscriptionID: <SUBSCRIPTION_ID>
      tenantID: <TENANT_ID>
      location: <AZURE_REGION_LOCATION>
      serviceLevel: Standard
      networkFeatures: Standard
      capacityPools: <CAPACITY_POOL>
      resourceGroups: <RESOURCE_GROUP>
      netappAccounts: <NETAPP_ACCOUNT>
      virtualNetwork: <VIRTUAL_NETWORK>
      subnet: <SUBNET>
      nasType: nfs
      kerberos: sec=krb5i #can be krb5, krb5i, or krb5p
      credentials:
        name: backend-tbc-secret
    Esempio di livello di piscina virtuale
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: backend-tbc-secret
    type: Opaque
    stringData:
      clientID: <CLIENT_ID>
      clientSecret: <CLIENT_SECRET>
    
    ---
    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
      name: backend-tbc
    spec:
      version: 1
      storageDriverName: azure-netapp-files
      subscriptionID: <SUBSCRIPTION_ID>
      tenantID: <TENANT_ID>
      location: <AZURE_REGION_LOCATION>
      serviceLevel: Standard
      networkFeatures: Standard
      capacityPools: <CAPACITY_POOL>
      resourceGroups: <RESOURCE_GROUP>
      netappAccounts: <NETAPP_ACCOUNT>
      virtualNetwork: <VIRTUAL_NETWORK>
      subnet: <SUBNET>
      nasType: nfs
      storage:
        - labels:
            type: encryption
          kerberos: sec=krb5i #can be krb5, krb5i, or krb5p
      credentials:
        name: backend-tbc-secret
  2. Utilizzare il file di configurazione creato nel passaggio precedente per creare il backend:

    tridentctl create backend -f <backend-configuration-file>

    Se la creazione del backend fallisce, c'è qualcosa che non va nella configurazione del backend. È possibile visualizzare i registri per determinare la causa eseguendo il seguente comando:

    tridentctl logs

    Dopo aver identificato e corretto il problema con il file di configurazione, è possibile eseguire nuovamente il comando create.

Creare una classe di archiviazione

È possibile creare una classe di archiviazione per eseguire il provisioning dei volumi con crittografia Kerberos.

Passi
  1. Creare un oggetto StorageClass Kubernetes, utilizzando il seguente esempio:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: sc-nfs
    provisioner: csi.trident.netapp.io
    parameters:
      backendType: azure-netapp-files
      trident.netapp.io/nasType: nfs
      selector: type=encryption
  2. Creare la classe di archiviazione:

    kubectl create -f sample-input/storage-class-sc-nfs.yaml
  3. Assicurarsi che la classe di archiviazione sia stata creata:

    kubectl get sc -sc-nfs

    Dovresti vedere un output simile al seguente:

    NAME         PROVISIONER             AGE
    sc-nfs       csi.trident.netapp.io   15h

Volumi di fornitura

Dopo aver creato un backend di archiviazione e una classe di archiviazione, è possibile effettuare il provisioning di un volume. Per le istruzioni, fare riferimento a "Fornire un volume" .