Одной
из полезных опций работы с блочными
устройствами является их шифрование.
Настройка шифрования томов требуется
со стороны двух служб: Nova и Cinder. Сделать
это можно при помощи общего секрета или
при помощи сервиса управления ключами
Barbican. Пойдем по пути использования
общего секрета. Нужно иметь в виду, что
если он скомпрометирован, то злоумышленник
получит доступ ко всем зашифрованным
томам.
Зададим
ключ на узле Cinder и всех вычислительных
узлах:
[root@compute ~]# crudini --set /etc/nova/nova.conf keymgr fixed_key 123456789 [root@compute ~]# systemctl restart openstack-nova-compute [root@controller ~]# crudini --set /etc/cinder/cinder.conf keymgr fixed_key 123456789 [root@controller ~]# systemctl restart openstack-cinder-volume
Нам
необходимо создать новый тип тома.
Назовем его LUKS, поскольку для шифрования
будет использоваться соответствующая
спецификация:
$ source keystonerc_admin $ cinder type-create LUKS +--------------------------------------+------+-------------+-----------+ | ID | Name | Description | Is_Public | +--------------------------------------+------+-------------+-----------+ | 7d5d38a3-ce84-4dfb-b184-74fed0309cef | LUKS | - | True | +--------------------------------------+------+-------------+-----------+
Следующим
шагом нужно создать тип шифрования:
$ cinder encryption-type-create --cipher aes-xts-plain64 --key_size 512 --control_location front-end LUKS nova.encryptors.luks.LuksEncryptor +----------------+------------------------------------+-----------------+----------+------------------+ | Volume Type ID | Provider | Cipher | Key Size | Control Location | +----------------+------------------------------------+-----------------+----------+------------------+ | 7d5d38a3-ce8.. | nova.encryptors.luks.LuksEncryptor | aes-xts-plain64 | 512 | front-end | +----------------+------------------------------------+-----------------+----------+------------------+
Теперь
у нас все готово для создания зашифрованного
тома. Обратите внимание на свойство
encrypted при выводе команды:
$ source keystonerc_demo
$ cinder create --display-name myvolumeEncr --volume-type LUKS 1
+---------------------------------------+--------------------------------------+
| Property | Value |
+---------------------------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2015-12-23T09:21:43.000000 |
| description | None |
| encrypted | True |
| id | 21cc946b-51ea-4806-adc1-46d42113af14 |
| metadata | {} |
| multiattach | False |
| name | myvolumeEncr |
| os-vol-tenant-attr:tenant_id | eca00feab38e4aa5b462bd31af0b9dca |
| os-volume-replication:driver_data | None |
| os-volume-replication:extended_status | None |
| replication_status | disabled |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| user_id | 924c18c923654d7c930bcb1044580d8b |
| volume_type | LUKS |
+---------------------------------------+--------------------------------------+

Комментариев нет:
Отправить комментарий