Skip to main content
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

セキュリティ

共同作成者

ここに記載された推奨事項を参考に、Astra Tridentのインストールを安全に行ってください。

Astra Trident を独自のネームスペースで実行

アプリケーション、アプリケーション管理者、ユーザ、および管理アプリケーションが Astra Trident オブジェクト定義またはポッドにアクセスしないようにして、信頼性の高いストレージを確保し、悪意のあるアクティビティをブロックすることが重要です。

他のアプリケーションやユーザをAstra Tridentから分離するには、Astra Tridentを必ず独自のKubernetesネームスペースにインストールしてください (trident)。Astra Trident を独自の名前空間に配置することで、 Kubernetes 管理担当者のみが Astra Trident ポッドにアクセスでき、名前空間 CRD オブジェクトに格納されたアーティファクト(バックエンドや CHAP シークレット(該当する場合)にアクセスできるようになります。
Astra Tridentのネームスペースにアクセスできるのは管理者だけであることを確認してから、にアクセスできるようにしてください tridentctl アプリケーション:

ONTAP SAN バックエンドで CHAP 認証を使用します

Astra Tridentは、ONTAP SANワークロードに対して(を使用して)CHAPベースの認証をサポート ontap-san および ontap-san-economy ドライバ)。ネットアップでは、ホストとストレージバックエンドの間の認証に、双方向 CHAP と Astra Trident を使用することを推奨しています。

SANストレージドライバを使用するONTAP バックエンドの場合、Astra Tridentは双方向CHAPを設定し、を使用してCHAPユーザ名とシークレットを管理できます tridentctl
を参照してください "こちらをご覧ください" ONTAP バックエンドで Trident が CHAP を構成する方法をご確認ください。

メモ ONTAP バックエンドの CHAP サポートは Trident 20.04 以降で利用可能

NetApp HCI および SolidFire バックエンドで CHAP 認証を使用します

ホストと NetApp HCI バックエンドと SolidFire バックエンドの間の認証を確保するために、双方向の CHAP を導入することを推奨します。Astra Trident は、テナントごとに 2 つの CHAP パスワードを含むシークレットオブジェクトを使用します。TridentをCSIプロビジョニングツールとしてインストールすると、CHAPシークレットが管理され、に格納されます tridentvolume 対応するPVのCRオブジェクト。PV を作成すると、 CSI Astra Trident は CHAP シークレットを使用して iSCSI セッションを開始し、 CHAP を介して NetApp HCI および SolidFire システムと通信します。

メモ CSI Trident によって作成されたボリュームは、どのボリュームアクセスグループにも関連付けられていません。

CSI 以外のフロントエンドでは、ワーカーノード上のデバイスとしてのボリュームの接続は Kubernetes で処理されます。ボリュームの作成後、 Astra Trident が NetApp HCI / SolidFire システムに対して API 呼び出しを実行し、テナントのシークレットがない場合はシークレットを取得します。Trident が Kubernetes にシークレットを渡します。各ノード上の kubelet は Kubernetes API を介してシークレットにアクセスし、ボリュームにアクセスする各ノードとボリュームが配置されている NetApp HCI / SolidFire システム間で CHAP を実行 / 有効化するために使用します。

NVEおよびNAEでAstra Tridentを使用する

NetApp ONTAP は、保管データの暗号化を提供し、ディスクが盗難、返却、転用された場合に機密データを保護します。詳細については、を参照してください "NetApp Volume Encryption の設定の概要"

  • NAEがバックエンドで有効になっている場合は、Astra TridentでプロビジョニングされたすべてのボリュームがNAEに対応します。

  • NAEがバックエンドで有効になっていない場合、NVE暗号化フラグをに設定していないかぎり、Astra TridentでプロビジョニングされたすべてのボリュームがNVE対応になります false バックエンド構成

メモ

NAE対応バックエンドのAstra Tridentで作成されるボリュームは、NVEまたはNAEで暗号化されている必要があります。

  • NVE暗号化フラグはに設定できます true Tridentバックエンド構成でNAE暗号化を無効にし、ボリューム単位で特定の暗号化キーを使用します。

  • NVE暗号化フラグをに設定する false NAEが有効なバックエンドでは、NAEが有効なボリュームが作成されます。NAE暗号化を無効にするには、NVE暗号化フラグをに設定します false

  • 明示的にNVE暗号化フラグをに設定することで、Astra TridentでNVEボリュームを手動で作成できます true

バックエンド構成オプションの詳細については、以下を参照してください。

Linux Unified Key Setup(LUKS;統合キーセットアップ)を使用したボリューム単位のホスト側暗号化を有効にする

Linux Unified Key Setup(LUKS;ユニファイドキーセットアップ)を有効にして、Astra Trident上のONTAP SANおよびONTAP SANエコノミーボリュームを暗号化できます。Astra Tridentでは、で推奨されるとおり、LUKSによって暗号化されたボリュームがAES-XTS -原64定型とモードを使用します "NIST"

ONTAP SANのバックエンド構成オプションの詳細については、を参照してください "ONTAP のSAN構成オプション"

作業を開始する前に
  • ワーカーノードにはcryptsetup 2.1以上がインストールされている必要があります。詳細については、を参照してください "Gitlab: cryptsetup"

  • パフォーマンス上の理由から、ワーカーノードでAdvanced Encryption Standard New Instructions(AES-NI)をサポートすることを推奨します。AES-NIサポートを確認するには、次のコマンドを実行します。

    grep "aes" /proc/cpuinfo

    何も返されない場合、お使いのプロセッサはAES-NIをサポートしていません。AES-NIの詳細については、以下を参照してください。 "Intel:Advanced Encryption Standard Instructions(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パスフレーズのローテーションはサポートされていません。パスフレーズを変更するには、PVC間でデータを手動でコピーします。