15.9. Sécuriser les pools de stockage iSCSI avec les secrets libvirt
Les paramètres de nom d'utilisateur et de mot de passe peuvent être configurés à l'adresse virsh
pour sécuriser un pool de stockage iSCSI. Vous pouvez configurer cela avant ou après avoir défini le pool, mais le pool doit être démarré pour que les paramètres d'authentification soient pris en compte.
Les instructions suivantes permettent de sécuriser les pools de stockage basés sur iSCSI à l'aide des secrets libvirt
.
Cette procédure est requise si un user_ID
et password
ont été définis lors de la création de la cible iSCSI.
Conditions préalables
- Assurez-vous d'avoir créé un pool de stockage basé sur iSCSI. Pour plus d'informations, voir Création de pools de stockage basés sur iSCSI à l'aide de l'interface CLI.
Procédure
Créez un fichier secret libvirt avec un nom d'utilisateur CHAP (challenge-handshake authentication protocol). Par exemple, vous pouvez créer un fichier secret libvirt avec un nom d'utilisateur CHAP :
<secret ephemeral='no' private='yes'> <description>Passphrase for the iSCSI example.com server</description> <usage type='iscsi'> <target>iscsirhel7secret</target> </usage> </secret>
Définissez le secret libvirt avec la commande
virsh secret-define
:# virsh secret-define secret.xml
Vérifiez l'UUID à l'aide de la commande
virsh secret-list
:# virsh secret-list UUID Usage -------------------------------------------------------------- 2d7891af-20be-4e5e-af83-190e8a922360 iscsi iscsirhel7secret
Attribuez un secret à l'UUID dans la sortie de l'étape précédente à l'aide de la commande
virsh secret-set-value
. Cela garantit que le nom d'utilisateur et le mot de passe CHAP figurent dans une liste de secrets contrôlée par libvirt. Par exemple :# virsh secret-set-value --interactive 2d7891af-20be-4e5e-af83-190e8a922360 Enter new value for secret: Secret value set
Ajoutez une entrée d'authentification dans le fichier XML du pool de stockage à l'aide de la commande
virsh edit
et ajoutez un élément<auth>
, en spécifiantauthentication type
,username
etsecret usage
. Par exemple :<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>
NoteLe sous-élément
<auth>
le sous-élément existe à différents endroits dans les fichiers de la machine virtuelle<pool>
et<disk>
XML de la machine virtuelle. Pour un élément<pool>
,<auth>
est spécifié dans l'élément<source>
car il décrit où trouver les sources de pool, l'authentification étant une propriété de certaines sources de pool (iSCSI et RBD). Pour un<disk>
qui est un sous-élément d'un domaine, l'authentification du disque iSCSI ou RBD est une propriété du disque. En outre, le sous-élément<auth>
d'un disque diffère de celui d'un pool de stockage.<auth username='redhat'> <secret type='iscsi' usage='iscsirhel7secret'/> </auth>
Pour activer les modifications, activez le pool de stockage. Si le pool a déjà été démarré, arrêtez et redémarrez le pool de stockage :
# virsh pool-destroy iscsirhel7pool # virsh pool-start iscsirhel7pool