sgws_config

sgws_config

Роль и модули предназначены для настройки NetApp StorageGRID. Выполняемые задачи:

Игры сетки:

  • Авторизация для получения токена сетки
  • Установка подписанных SSL-сертификатов для управления API
  • Установка подписанных SSL-сертификатов для управления хранилищем
  • Настройка поставщика удостоверений
  • Создание локальных или федеративных групп администраторов для сетки
  • Создание локальных пользователей-администраторов для сетки
  • Создание нового арендатора

Игры арендатора:

  • Авторизация для получения токена арендатора (используя ранее созданный или существующий accountid)
  • Настройка поставщика удостоверений для арендатора
  • Создание локальных или федеративных групп для арендатора
  • Создание локальных пользователей для арендатора
  • Генерация S3 ключей для арендатора
  • Создание бакета для арендатора

Примечание:

  • Настройка поставщика удостоверений является предшествующим шагом для создания федеративных групп.
  • Возможность создания федеральных и локальных групп в одной операции.
  • Локальные пользователи для федеративной группы будут проигнорированы.

Требования

Переменные роли

Переменные, которые можно настроить, находятся в roles/sgws_config/vars/main.yml. Пароли и учетные данные используются с помощью ansible-vault или читайте ниже. Другие переменные находятся в roles/sgws_config/vars/ для своих задач.

Установка подписанных SSL-сертификатов для управления API требует три файла mgmt_cert.pem, mgmt_cert.key и chain.pem в roles/sgws_config/files. Файлы SSL-сертификатов для хранения - это stor_cert.pem, stor_cert.key и chain.pem. Я добавил вспомогательные скрипты читайте ниже.

Включите или выключите игры в roles/adlytaibi.sgws_config/tasks/main.yml, закомментировав или раскомментировав соответствующие строки.

Поскольку есть предварительная работа, которую нужно выполнить перед использованием некоторых игр. Игры с SSL-сертификатом и поставщиком удостоверений по умолчанию закомментированы.

Зависимости

Нет зависимостей.

Как

Смотрите видео, если предпочитаете (на момент версии 1.1.x).

Пример плейбука

# ansible-playbook --vault-password-file ~/.passwd ~/.ansible/roles/adlytaibi.sgws_config/sgws_config.yml

PLAY [sgws] *********************************************************************************************************

TASK [adlytaibi.sgws_config : Получить токен авторизации сетки] *********************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Загрузить переменные группы администраторов] ***********************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать группы пользователей сетки и пользователей] ****************************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_group.yml для localhost
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_group.yml для localhost

TASK [adlytaibi.sgws_config : Проверить, существует ли группа "Разработчики"] ***************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать новую администратора "Разработчики" группу] *****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать пользователей из группы] *******************************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml для localhost

TASK [adlytaibi.sgws_config : Загрузить переменные локальных пользователей-администраторов] ****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать и установить пароль для администраторов] **********************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml для localhost
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml для localhost

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь разработчика"] *******************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать нового администратора "Тестовый пользователь разработчика"] **********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для администратора "Тестовый пользователь разработчика"] ****************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь хранилища"] *********************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Создать нового администратора "Тестовый пользователь хранилища"] ************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для администратора "Тестовый пользователь хранилища"] ******************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Проверить, существует ли группа "Хранилище"] ******************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать новую администратора "Хранилище" группу] ********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать пользователей из группы] *******************************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml для localhost

TASK [adlytaibi.sgws_config : Загрузить переменные локальных пользователей-администраторов] ****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать и установить пароль для администраторов] **********************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml для localhost
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml для localhost

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь разработчика"] *******************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Создать нового администратора "Тестовый пользователь разработчика"] **********************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для администратора "Тестовый пользователь разработчика"] ****************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь хранилища"] *********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать нового администратора "Тестовый пользователь хранилища"] ************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для администратора "Тестовый пользователь хранилища"] ******************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Загрузить переменные учетной записи] ***************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Собрать список учетных записей] *****************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Проверить, существует ли учетная запись "Widgets Unlimited"] ****************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Создать новую учетную запись арендатора "Widgets Unlimited"] ********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Получить токен авторизации организации] **********************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Загрузить переменные для пользовательской группы арендатора] ***************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать пользовательские группы и пользователей арендатора] ************************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_group.yml для localhost
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_group.yml для localhost

TASK [adlytaibi.sgws_config : Проверить, существует ли группа арендатора "Разработчики"] ******************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать новую группу арендатора "Разработчики"] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать пользователей из группы] *******************************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml для localhost

TASK [adlytaibi.sgws_config : Загрузить переменные локальных пользователей арендатора] *************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать и установить пароль для пользователей арендатора] *******************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml для localhost
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml для localhost

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь разработчика"] *******************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать нового пользователя арендатора "Тестовый пользователь разработчика"] *****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для пользователя арендатора "Тестовый пользователь разработчика"] ***********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь приложений"] ************************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Создать нового пользователя арендатора "Тестовый пользователь приложений"] **********************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для пользователя арендатора "Тестовый пользователь приложений"] ****************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Проверить, существует ли группа арендатора "Приложения"] ************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать новую группу арендатора "Приложения"] *****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать пользователей из группы] *******************************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml для localhost

TASK [adlytaibi.sgws_config : Загрузить переменные локальных пользователей арендатора] *************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать и установить пароль для пользователей арендатора] *******************************************
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml для localhost
включено: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml для localhost

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь разработчика"] *******************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Создать нового пользователя арендатора "Тестовый пользователь разработчика"] *****************************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для пользователя арендатора "Тестовый пользователь разработчика"] ***********************************
пропущено: [localhost]

TASK [adlytaibi.sgws_config : Проверить, существует ли пользователь "Тестовый пользователь приложений"] ************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать нового пользователя арендатора "Тестовый пользователь приложений"] **********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Установить пароль для пользователя арендатора "Тестовый пользователь приложений"] ****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Загрузить ключ доступа S3 для переменных арендатора] **********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Генерировать S3 ключи] *********************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Директория назначения для хранения S3 ключей] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Сохранить сгенерированные S3 ключи] ***************************************************************
changed: [localhost]

TASK [adlytaibi.sgws_config : Загрузить бакет для переменных арендатора] *****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Создать бакет] **********************************************************************
ok: [localhost]

PLAY RECAP **********************************************************************************************************
localhost                  : ok=53   changed=1    unreachable=0    failed=0    skipped=13   rescued=0    ignored=0

Использование ansible-vault

Не стесняйтесь адаптировать под себя, здесь лишь для начала. Файл ~/.passwd содержит пароль для шифрования.

# echo -n NetApp123 > ~/.passwd

Используя указанный пароль для шифрования, вы можете зашифровать любое значение и интегрировать его в yml файлы.

# echo -n netapp01|ansible-vault encrypt --vault-password-file ~/.passwd > vault.txt
# cat vault.txt
$ANSIBLE_VAULT;1.1;AES256
62383435316236346137383364373438623661653665363939616231376464643762333364663733
3430313661363761386536373135663733323764666561630a383736363562363864393037646531
61383566333332356339376561336239396634626433666434306566386134343031653339333531
3964356263643134610a346138616566643533346365326662343762346432386563393331306239
3835

Если вы хотите проверить зашифрованные значения.

# cat vault.txt|ansible-vault decrypt --vault-password-file ~/.passwd
Дешифрование прошло успешно
netapp01

Вспомогательные скрипты

Директория скриптов находится в ~/.ansible/roles/adlytaibi.sgws_config/files/scripts, содержит файлы mgmt_ssl.cnf и stor_ssl.cnf для вашего удобства; измените их, чтобы они соответствовали вашему управленческому интерфейсу сетки и вашему шлюзу. Измените каталог на место, где будут храниться SSL-ключи. Выполните два скрипта, которые создадут закрытый ключ и CSR.

# cd ~/.ansible/roles/adlytaibi.sgws_config/files
# scripts/mgmt_sign
# scripts/stor_sign

После того как вы подпишете SSL-сертификаты, убедитесь, что переименовали их в mgmt_cert.pem и stor_cert.pem и скопируйте их в директорию ~/.ansible/roles/adlytaibi.sgws_config/files, вместе с цепочкой certnew.p7b. Теперь вы можете выполнить сценарий bundle, который конвертирует цепочку из p7b в pem.

# scripts/bundle

Это те файлы, которые будут использоваться Ansible.

# chain.pem      CA пакет
# mgmt_cert.pem  Подписанный сертификат для управления API
# mgmt_cert.key  Закрытый ключ для указанного сертификата
# stor_cert.pem  Подписанный сертификат для управления хранилищем
# stor_cert.key  Закрытый ключ для указанного сертификата

Лицензия

GPL

Информация об авторе

  • Adly Taibi
О проекте

StorageGRID configuration

Установить
ansible-galaxy install adlytaibi/sgws_config
Лицензия
gpl-3.0
Загрузки
77
Владелец