Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

安全性

貢獻者

請使用此處列出的建議、確保您的Astra Trident安裝安全無虞。

在自己的命名空間中執行Astra Trident

防止應用程式、應用程式管理員、使用者及管理應用程式存取Astra Trident物件定義或Pod、以確保可靠的儲存並封鎖潛在的惡意活動、這一點非常重要。

若要將其他應用程式和使用者與Astra Trident區隔開、請務必在自己的Kubernetes命名空間中安裝Astra Trident (trident)。將Astra Trident放在自己的命名空間中、可確保只有Kubernetes管理人員能夠存取Astra Trident Pod、以及儲存在命名式CRD物件中的成品(例如後端和CHAP機密)。您應確保只允許系統管理員存取Astra Trident命名空間、進而存取 tridentctl 應用程式:

使用CHAP驗證搭配ONTAP 使用支援SAN的功能

Astra Trident支援ONTAP 以CHAP為基礎的驗證功能、適用於各種不實的SAN工作負載(使用 ontap-sanontap-san-economy 驅動程式)。NetApp建議使用雙向CHAP搭配Astra Trident進行主機與儲存後端之間的驗證。

針對使用SAN儲存驅動程式的幕後作業、Astra Trident可設定雙向CHAP、並透過管理CHAP使用者名稱和機密ONTAP tridentctl。請參閱 "請按這裡" 瞭解Astra Trident如何在ONTAP 不景點上設定CHAP。

註 Trident 20.04及更新版本提供對支援不支援的CHAP ONTAP 。

使用CHAP驗證NetApp HCI 搭配不景和SolidFire 不景的後端

NetApp建議部署雙向CHAP、以確保主機與NetApp HCI 支援功能及SolidFire 支援功能之間的驗證。Astra Trident使用每個租戶包含兩個CHAP密碼的秘密物件。當Trident安裝為「倡議」資源配置程式時、它會管理CHAP機密並將其儲存在中 tridentvolume 對應PV的CR物件。建立PV時、「csi Astra Trident」會使用CHAP機密來啟動iSCSI工作階段、NetApp HCI 並透過CHAP與該系統進行通訊SolidFire 。

註 由csi Trident建立的磁碟區不會與任何Volume存取群組相關聯。

在非csi前端中、磁碟區作為工作節點上的裝置附加作業是由Kubernetes處理。建立磁碟區之後、Astra Trident會呼叫NetApp HCI / SolidFire系統、以便在該租戶的機密資訊尚未存在時擷取機密資訊。然後、Astra Trident將機密傳給Kubernetes。位於每個節點上的Kubelet可透過Kubernetes API存取機密資料、並使用它們在存取磁碟區的每個節點與磁碟區所在的NetApp HCI / SolidFire系統之間執行/啟用CHAP。

使用Astra Trident搭配NVE和NAE

NetApp ONTAP 支援閒置資料加密、可在磁碟遭竊、退回或重新使用時、保護敏感資料。如需詳細資訊、請參閱 "設定NetApp Volume Encryption總覽"

  • 如果在後端啟用NAE、則Astra Trident中配置的任何磁碟區都將啟用NAE。

  • 如果後端未啟用NAE、則在Astra Trident中配置的任何Volume都會啟用NVE、除非您將NVE加密旗標設為 false 在後端組態中。

註

在啟用NAE的後端Astra Trident中建立的磁碟區、必須加密NVE或NAE。

  • 您可以將NVE加密旗標設為 true 在Trident後端組態中、覆寫NAE加密、並以每個磁碟區為基礎使用特定的加密金鑰。

  • 將NVE加密旗標設定為 false 在啟用NAE的後端上、將會建立啟用NAE的Volume。您無法將NVE加密旗標設為、以停用NAE加密 false

  • 您可以在Astra Trident中手動建立NVE磁碟區、方法是將NVE加密旗標明確設定為 true

如需後端組態選項的詳細資訊、請參閱:

使用Linux統一金鑰設定(LUKS)啟用每個磁碟區、主機端的加密

您可以在ONTAP Astra Trident上啟用Linux Unified Key Setup(LUKS)來加密支援的SAN和ONTAP 支援的SAN經濟版磁碟區。在Astra Trident中、LUKS加密的磁碟區會依照所建議的方式使用AES-XTS-plain64 cypher和模式 "NIST"

如需ONTAP 有關支援不支援SAN的後端組態選項的詳細資訊、請參閱 "支援SAN組態選項ONTAP"

開始之前
  • 工作者節點必須安裝密碼設定2.1或更新版本。如需詳細資訊、請造訪 "Gitlab:密碼設定"

  • 基於效能考量、我們建議工作節點支援進階加密標準新增指令(AES-NI)。若要驗證AES-NI支援、請執行下列命令:

    grep "aes" /proc/cpuinfo

    如果沒有歸還任何內容、您的處理器就不支援AES-NI。如需AES-NI的詳細資訊、請造訪: "Intel:進階加密標準指令(AES-NI)"

步驟
  1. 在後端組態中定義LUKS加密屬性。

    "storage": [
        {
            "labels":{"luks": "true"},
            "zone":"us_east_1a",
            "defaults": {
                "luksEncryption": "true"
            }
        },
        {
            "labels":{"luks": "false"},
            "zone":"us_east_1a",
            "defaults": {
                "luksEncryption": "false"
            }
        },
    ]
  2. 使用 parameters.selector 使用LUKS加密定義儲存資源池。例如:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: luks
    provisioner: netapp.io/trident
    parameters:
      selector: "luks=true"
      csi.storage.k8s.io/node-stage-secret-name: luks-${pvc.name}
      csi.storage.k8s.io/node-stage-secret-namespace: ${pvc.namespace}
  3. 建立包含LUKS通關密碼的秘密。例如:

    apiVersion: v1
    kind: Secret
    metadata:
      name: luks-pvc1
    stringData:
      luks-passphrase-name: B
      luks-passphrase: secretB
      previous-luks-passphrase-name: A
      previous-luks-passphrase: secretA

限制

  • LUKS加密磁碟區將無法利用ONTAP 重複資料刪除技術和壓縮技術。

  • 目前不支援LUKS通關密碼輪替。若要變更密碼、請手動將資料從一個永久虛擬網路複製到另一個永久虛擬網路。