Red Hat Training

A Red Hat training course is available for RHEL 8

11.9. libvirt シークレットを使用した iSCSI ストレージプールのセキュリティー保護

ユーザー名とパスワードのパラメーターは、iSCSI ストレージプールをセキュリティー保護するため、virsh で設定できます。プールの定義前または後に設定できますが、認証設定を有効にするにはプールを起動する必要があります。

ここでは、libvirt シークレットを使用して、iSCSI ベースのストレージプールのセキュリティーを保護する手順を説明します。

注記

この手順は、iSCSI ターゲットの作成時に user_ID および password が定義される場合に必要です。

前提条件

手順

  1. チャレンジハンドシェイク認証プロトコル (CHAP) のユーザー名を使用して、libvirt シークレットファイルを作成します。以下に例を示します。

    <secret ephemeral='no' private='yes'>
        <description>Passphrase for the iSCSI example.com server</description>
        <usage type='iscsi'>
            <target>iscsirhel7secret</target>
        </usage>
    </secret>
  2. virsh secret-define コマンドを使用して、libvirt シークレットを定義します。

    # virsh secret-define secret.xml
  3. virsh secret-list コマンドで UUID を確認します。

    # virsh secret-list
    UUID                                       Usage
    --------------------------------------------------------------
    2d7891af-20be-4e5e-af83-190e8a922360      iscsi iscsirhel7secret
  4. virsh secret-set-value コマンドを使用して、前の手順の出力の UUID に、シークレットを割り当てます。これにより、CHAP ユーザー名とパスワードが、libvirt が制御するシークレットリストにあることが保証されます。以下に例を示します。

    # virsh secret-set-value --interactive 2d7891af-20be-4e5e-af83-190e8a922360
    Enter new value for secret:
    Secret value set
  5. virsh edit コマンドを使用してストレージプールの XML ファイルに認証エントリーを追加し、<auth> 要素を追加して authentication typeusername、および secret usage を指定します。以下に例を示します。

    <pool type='iscsi'>
      <name>iscsirhel7pool</name>
        <source>
           <host name='192.0.2.1'/>
           <device path='iqn.2010-05.com.example.server1:iscsirhel7guest'/>
           <auth type='chap' username='_example-user_'>
              <secret usage='iscsirhel7secret'/>
           </auth>
        </source>
      <target>
        <path>/dev/disk/by-path</path>
      </target>
    </pool>
    注記

    サブ要素 <auth> は仮想マシンの <pool> および <disk> XML 要素内の異なる場所に存在します。<pool> の場合は、<auth><source> 要素に指定されます。認証は一部のプールソース (iSCSI および RBD) のプロパティーであるため、これはプールソースの検索場所を説明する要素となります。ドメインのサブ要素である <disk> の場合、iSCSI ディスクまたは RBD ディスクに対する認証は、ディスクのプロパティーです。また、ディスクのサブ要素 <auth> は、ストレージプールのサブ要素とは異なります。

    <auth username='redhat'>
      <secret type='iscsi' usage='iscsirhel7secret'/>
    </auth>
  6. 変更を有効にするには、ストレージプールを有効にします。プールがすでに起動している場合は、ストレージプールを停止して再起動します。

    # virsh pool-destroy iscsirhel7pool
    # virsh pool-start iscsirhel7pool