15.9. libvirt シークレットを使用した iSCSI ストレージプールのセキュリティー保護
ユーザー名とパスワードのパラメーターは、iSCSI ストレージプールをセキュリティー保護するため、virsh
で設定できます。プールの定義前または後に設定できますが、認証設定を有効にするにはプールを起動する必要があります。
ここでは、libvirt
シークレットを使用して、iSCSI ベースのストレージプールのセキュリティーを保護する手順を説明します。
この手順は、iSCSI ターゲットの作成時に user_ID
および password
が定義される場合に必要です。
前提条件
- iSCSI ベースのストレージプールが作成されていることを確認します。詳細は、CLI を使用した iSCSI ベースのストレージプールの作成 を参照してください。
手順
チャレンジハンドシェイク認証プロトコル (CHAP) のユーザー名を使用して、libvirt シークレットファイルを作成します。以下に例を示します。
<secret ephemeral='no' private='yes'> <description>Passphrase for the iSCSI example.com server</description> <usage type='iscsi'> <target>iscsirhel7secret</target> </usage> </secret>
virsh secret-define
コマンドを使用して、libvirt シークレットを定義します。# virsh secret-define secret.xml
virsh secret-list
コマンドで UUID を確認します。# virsh secret-list UUID Usage -------------------------------------------------------------- 2d7891af-20be-4e5e-af83-190e8a922360 iscsi iscsirhel7secret
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
virsh edit
コマンドを使用してストレージプールの XML ファイルに認証エントリーを追加し、<auth>
要素を追加してauthentication type
、username
、および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>
変更を有効にするには、ストレージプールを有効にします。プールがすでに起動している場合は、ストレージプールを停止して再起動します。
# virsh pool-destroy iscsirhel7pool # virsh pool-start iscsirhel7pool