安全性
請使用此處列出的建議、確保您的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-san
和 ontap-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。
|
-
您可以在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)"。
-
在後端組態中定義LUKS加密屬性。
"storage": [ { "labels":{"luks": "true"}, "zone":"us_east_1a", "defaults": { "luksEncryption": "true" } }, { "labels":{"luks": "false"}, "zone":"us_east_1a", "defaults": { "luksEncryption": "false" } }, ]
-
使用
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}
-
建立包含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通關密碼輪替。若要變更密碼、請手動將資料從一個永久虛擬網路複製到另一個永久虛擬網路。