adlytaibi.sgws_config

sgws_config

Rola i moduły mają na celu skonfigurowanie systemu NetApp StorageGRID. Wykonywane zadania to:

Zagadnienia sieciowe:

  • Autoryzacja do uzyskania tokena sieciowego
  • Instalacja podpisanych certyfikatów SSL do zarządzania API
  • Instalacja podpisanych certyfikatów SSL do zarządzania pamięcią
  • Konfiguracja dostawcy tożsamości
  • Tworzenie lokalnych lub federacyjnych grup administracyjnych dla sieci
  • Tworzenie lokalnych użytkowników administracyjnych dla sieci
  • Tworzenie nowego najemcy

Zagadnienia najemcy:

  • Autoryzacja do uzyskania tokena najemcy (przy użyciu nowo utworzonego lub istniejącego identyfikatora konta)
  • Konfiguracja dostawcy tożsamości dla najemcy
  • Tworzenie lokalnych lub federacyjnych grup dla najemcy
  • Tworzenie lokalnych użytkowników dla najemcy
  • Generowanie kluczy S3 dla najemcy
  • Tworzenie bucketu dla najemcy

Uwaga:

  • Konfiguracja dostawcy tożsamości jest warunkiem wstępnym do tworzenia grup federacyjnych.
  • Możliwość tworzenia grup federacyjnych i lokalnych w jednym kroku.
  • Lokalne użytkownicy grupy federacyjnej będą ignorowani.

Wymagania

Zmienne roli

Zmienna do ustawienia dla roli znajduje się w roles/sgws_config/vars/main.yml. Hasła i dane uwierzytelniające są wprowadzane przy użyciu ansible-vault lub przeczytaj poniżej. Inne zmienne znajdują się w roles/sgws_config/vars/ dla swoich odpowiednich zadań.

Zainstalowanie podpisanych certyfikatów SSL do zarządzania API wymaga trzech plików mgmt_cert.pem, mgmt_cert.key i chain.pem, które muszą znajdować się w roles/sgws_config/files. Pliki certyfikatów SSL dla Storage API to stor_cert.pem, stor_cert.key i chain.pem. Dodałem skrypty pomocnicze przeczytaj poniżej.

Włącz lub wyłącz zagrzebania w roles/adlytaibi.sgws_config/tasks/main.yml, komentując lub odkomentowując odpowiednie linie.

Ponieważ są zadania wstępne do wykonania przed użyciem niektórych zadań, domyślnie skrypty SSL i dostawcy tożsamości są zakomentowane.

Zależności

Brak zależności.

Jak

Obejrzyj wideo, jeśli wolisz (od wersji 1.1.x).

Przykład wykorzystywania

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

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

TASK [adlytaibi.sgws_config : Uzyskaj token autoryzacji sieci] ****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Załaduj zmienne grupy adminów] ******************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie grup użytkowników i użytkowników sieci] ***********************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_group.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_group.yml for localhost

TASK [adlytaibi.sgws_config : Sprawdź, czy grupa "Programiści" istnieje] *****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowej grupy administratorów "Programiści"] **********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie użytkowników przynależących do grupy] ***************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml for localhost

TASK [adlytaibi.sgws_config : Załaduj zmienne lokalnych użytkowników administracyjnych] *****************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie i ustawianie hasła dla użytkowników administracyjnych] ***********************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Programista Testowy" istnieje] *******************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika administracyjnego "Programista Testowy"] *****************
ok: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika administracyjnego "Programista Testowy"] ****************
ok: [localhost]

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Testowy Użytkownik Pamięci" istnieje] ***********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika administracyjnego "Testowy Użytkownik Pamięci"] **********
skipping: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika administracyjnego "Testowy Użytkownik Pamięci"] ********
skipping: [localhost]

TASK [adlytaibi.sgws_config : Sprawdź, czy grupa "Storage" istnieje] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowej grupy administratorów "Storage"] *************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie użytkowników przynależących do grupy] ***************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml for localhost

TASK [adlytaibi.sgws_config : Załaduj zmienne lokalnych użytkowników administracyjnych] *****************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie i ustawianie hasła dla użytkowników administracyjnych] ***********************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_user.yml for localhost

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Programista Testowy" istnieje] *******************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika administracyjnego "Programista Testowy"] *****************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika administracyjnego "Programista Testowy"] ***************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Testowy Użytkownik Pamięci" istnieje] ***********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika administracyjnego "Testowy Użytkownik Pamięci"] **********
ok: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika administracyjnego "Testowy Użytkownik Pamięci"] ********
ok: [localhost]

TASK [adlytaibi.sgws_config : Załaduj zmienne konta] ****************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Zbieranie listy kont] ***************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Sprawdzanie, czy konto "Widgets Unlimited" istnieje] **********************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego konta najemcy "Widgets Unlimited"] **********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Uzyskaj token autoryzacji organizacji] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Załaduj zmienne grupy użytkowników najemcy] *********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie grup użytkowników i użytkowników najemcy] ***********************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_group.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_group.yml for localhost

TASK [adlytaibi.sgws_config : Sprawdź, czy grupa najemcy "Programiści" istnieje] *************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowej grupy najemcy "Programiści"] *********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie użytkowników przynależących do grupy] ***************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml for localhost

TASK [adlytaibi.sgws_config : Załaduj zmienne lokalnych użytkowników najemcy] ***************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie i ustawianie hasła dla użytkowników najemcy] *******************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Programista Testowy" istnieje] *******************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika najemcy "Programista Testowy"] ***************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika najemcy "Programista Testowy"] ***********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Testowy Użytkownik Aplikacji" istnieje] **********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika najemcy "Testowy Użytkownik Aplikacji"] ******************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika najemcy "Testowy Użytkownik Aplikacji"] *****************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Sprawdź, czy grupa najemcy "Aplikacje" istnieje] ***************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowej grupy najemcy "Aplikacje"] **********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie użytkowników przynależących do grupy] ***************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml for localhost

TASK [adlytaibi.sgws_config : Załaduj zmienne lokalnych użytkowników najemcy] ***************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie i ustawianie hasła dla użytkowników najemcy] *******************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_user.yml for localhost

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Programista Testowy" istnieje] *******************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika najemcy "Programista Testowy"] ***************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika najemcy "Programista Testowy"] ***********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Sprawdź, czy użytkownik "Testowy Użytkownik Aplikacji" istnieje] **********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie nowego użytkownika najemcy "Testowy Użytkownik Aplikacji"] ******************
ok: [localhost]

TASK [adlytaibi.sgws_config : Ustawianie hasła dla użytkownika najemcy "Testowy Użytkownik Aplikacji"] *****************
ok: [localhost]

TASK [adlytaibi.sgws_config : Załaduj zmienne dostępu S3 dla najemcy] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Generowanie kluczy S3] *****************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Katalog docelowy do przechowywania kluczy S3] ******************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Zapisywanie wygenerowanych kluczy S3] ******************************************************
changed: [localhost]

TASK [adlytaibi.sgws_config : Załaduj zmienne bucketu dla najemcy] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Tworzenie bucketu] *****************************************************************
ok: [localhost]

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

Użycie ansible-vault

Czuj się swobodnie, aby dostosować do własnych potrzeb, poniżej znajdziesz tylko wprowadzenie. Plik ~/.passwd zawiera hasło do skarbca.

# echo -n NetApp123 > ~/.passwd

Używając powyższego hasła do skarbca, możesz zaszyfrować dowolną wartość i włączyć ją do plików 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

Jeśli chcesz zweryfikować zaszyfrowane wartości.

# cat vault.txt|ansible-vault decrypt --vault-password-file ~/.passwd
Decryption successful
netapp01

Skrypty pomocnicze

Katalog skryptów znajduje się w ~/.ansible/roles/adlytaibi.sgws_config/files/scripts i zawiera pliki mgmt_ssl.cnf i stor_ssl.cnf dla Twojej wygody, zmodyfikuj je w celu dopasowania do interfejsu zarządzania Grid i swojej bramy. Przejdź do katalogu, w którym będą przechowywane klucze SSL. Wykonaj dwa skrypty, które utworzą klucz prywatny i CSR.

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

Po podpisaniu certyfikatów SSL, upewnij się, że zmienisz ich nazwy na mgmt_cert.pem i stor_cert.pem odpowiednio, a następnie skopiuj je do katalogu ~/.ansible/roles/adlytaibi.sgws_config/files wraz z łańcuchem certnew.p7b. Możesz teraz wykonać skrypt bundle, który przekonwertuje łańcuch z p7b na pem.

# scripts/bundle

To są pliki, które będą używane przez Ansible.

# chain.pem      CA bundle
# mgmt_cert.pem  Podpisany certyfikat do zarządzania API
# mgmt_cert.key  Klucz prywatny dla powyższego certyfikatu
# stor_cert.pem  Podpisany certyfikat do zarządzania pamięcią
# stor_cert.key  Klucz prywatny dla powyższego certyfikatu

Licencja

GPL

Informacje o autorze

  • Adly Taibi
O projekcie

StorageGRID configuration

Zainstaluj
ansible-galaxy install adlytaibi.sgws_config
Licencja
gpl-3.0
Pobrania
90
Właściciel