adlytaibi.sgws_config

sgws_config

Diese Rolle und Module sind dafür gedacht, einen NetApp StorageGRID zu konfigurieren. Die folgenden Aufgaben können durchgeführt werden:

Grid-Aktionen:

  • Berechtigung anfordern, um ein Grid-Token zu erhalten
  • Unterzeichnete SSL-Zertifikate für API-Verwaltung installieren
  • Unterzeichnete SSL-Zertifikate für Speicherverwaltung installieren
  • Einen Identitätsanbieter einrichten
  • Eine lokale oder föderierte Administratorgruppe für das Grid erstellen
  • Lokale Administrationsbenutzer für das Grid erstellen
  • Einen neuen Mandanten erstellen

Mandanten-Aktionen:

  • Berechtigung anfordern, um ein Mandanten-Token zu erhalten (mit neu erstellter oder bestehender Konto-ID)
  • Einen Identitätsanbieter für den Mandanten einrichten
  • Lokale oder föderierte Gruppen für den Mandanten erstellen
  • Lokale Benutzer für den Mandanten erstellen
  • S3-Schlüssel für den Mandanten generieren
  • Einen Bucket für den Mandanten erstellen

Hinweis:

  • Die Einrichtung eines Identitätsanbieters ist eine Voraussetzung, um föderierte Gruppen zu erstellen.
  • Möglichkeit, föderierte und lokale Gruppen in einem Durchgang zu erstellen.
  • Lokale Benutzer in einer föderierten Gruppe werden ignoriert.

Anforderungen

Rollenvariablen

Die einstellbaren Variablen für die Rolle befinden sich in roles/sgws_config/vars/main.yml. Passwörter und Anmeldeinformationen werden mit ansible-vault integriert oder siehe unten. Weitere Variablen finden Sie unter roles/sgws_config/vars/ für ihre jeweiligen Aufgaben.

Das Installieren von unterzeichneten SSL-Zertifikaten für die API-Verwaltung erfordert drei Dateien: mgmt_cert.pem, mgmt_cert.key und chain.pem, die sich in roles/sgws_config/files befinden müssen. Die SSL-Zertifikatdateien für die Speicherung sind stor_cert.pem, stor_cert.key und chain.pem. Ich habe Hilfsskripte hinzugefügt siehe unten.

Schalten Sie die Aktionen in roles/adlytaibi.sgws_config/tasks/main.yml ein oder aus, indem Sie die entsprechenden Zeilen auskommentieren oder einkommentieren.

Da einige Aktionen Voraussetzungen erfordern, sind die SSL-Zertifikat- und Identitätsanbieteraktionen standardmäßig auskommentiert.

Abhängigkeiten

Es gibt keine Abhängigkeiten.

Wie

Sehen Sie sich ein Video an, falls Sie es bevorzugen (ab Version 1.1.x).

Beispiel-Playbook

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

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

TASK [adlytaibi.sgws_config : Grid-Autorisierungstoken abrufen] **************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Variablen der Administrativgruppe laden] *********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Benutzergruppen und Benutzer für das Grid erstellen] **********************************
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 : Überprüfen, ob die Gruppe "Entwickler" existiert] ************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neue Administratorgruppe "Entwickler" erstellen] *************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Benutzer der Gruppe erstellen] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml for localhost

TASK [adlytaibi.sgws_config : Variablen lokaler Administratorbenutzer laden] ****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Erstellen und Passwort für Administratorbenutzer setzen] *****************************
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 : Überprüfen, ob der Benutzer "Entwickler Test Benutzer" existiert] *******************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neuen Administratorbenutzer "Entwickler Test Benutzer" erstellen] *********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Administratorbenutzer "Entwickler Test Benutzer" setzen] ***************
ok: [localhost]

TASK [adlytaibi.sgws_config : Überprüfen, ob der Benutzer "Speicher Test Benutzer" existiert] **********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Neuen Administratorbenutzer "Speicher Test Benutzer" erstellen] ***********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Administratorbenutzer "Speicher Test Benutzer" setzen] ****************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Überprüfen, ob die Gruppe "Speicher" existiert] *************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neue Administratorgruppe "Speicher" erstellen] ****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Benutzer der Gruppe erstellen] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_users.yml for localhost

TASK [adlytaibi.sgws_config : Variablen lokaler Administratorbenutzer laden] ****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Erstellen und Passwort für Administratorbenutzer setzen] *****************************
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 : Überprüfen, ob der Benutzer "Entwickler Test Benutzer" existiert] *******************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Neuen Administratorbenutzer "Entwickler Test Benutzer" erstellen] *********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Administratorbenutzer "Entwickler Test Benutzer" setzen] ***************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Überprüfen, ob der Benutzer "Speicher Test Benutzer" existiert] **********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neuen Administratorbenutzer "Speicher Test Benutzer" erstellen] ***********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Administratorbenutzer "Speicher Test Benutzer" setzen] ****************
ok: [localhost]

TASK [adlytaibi.sgws_config : Kontovariablen laden] ****************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Kontoliste sammeln] *****************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Überprüfen, ob das Konto "Widgets Unlimited" existiert] *****************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Neues Speicher-Mandantenkonto "Widgets Unlimited" erstellen] ***********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Org-Autorisierungstoken abrufen] *****************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Variablen der Benutzergruppe des Mandanten laden] ************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Benutzergruppen und Benutzer des Mandanten erstellen] *******************************
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 : Überprüfen, ob die Gruppe des Mandanten "Entwickler" existiert] *********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neue Mandantengruppe "Entwickler" erstellen] *****************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Benutzer der Gruppe erstellen] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml for localhost

TASK [adlytaibi.sgws_config : Variablen lokaler Benutzer der Mandanten laden] ***************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Erstellen und Passwort für Mandantenbenutzer setzen] ********************************
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 : Überprüfen, ob der Benutzer "Entwickler Test Benutzer" existiert] ********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neuen Mandantenbenutzer "Entwickler Test Benutzer" erstellen] ***********************
ok: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Mandantenbenutzer "Entwickler Test Benutzer" setzen] ******************
ok: [localhost]

TASK [adlytaibi.sgws_config : Überprüfen, ob der Benutzer "Apps Test Benutzer" existiert] *************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Neuen Mandantenbenutzer "Apps Test Benutzer" erstellen] *****************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Mandantenbenutzer "Apps Test Benutzer" setzen] **************************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Überprüfen, ob die Gruppe des Mandanten "Apps" existiert] ***************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neue Mandantengruppe "Apps" erstellen] ***********************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Benutzer der Gruppe erstellen] *******************************************************
included: /root/.ansible/roles/adlytaibi.sgws_config/tasks/sgws_org_users.yml for localhost

TASK [adlytaibi.sgws_config : Variablen lokaler Benutzer der Mandanten laden] ***************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Erstellen und Passwort für Mandantenbenutzer setzen] ********************************
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 : Überprüfen, ob der Benutzer "Entwickler Test Benutzer" existiert] ********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Neuen Mandantenbenutzer "Entwickler Test Benutzer" erstellen] ***********************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Mandantenbenutzer "Entwickler Test Benutzer" setzen] ******************
skipping: [localhost]

TASK [adlytaibi.sgws_config : Überprüfen, ob der Benutzer "Apps Test Benutzer" existiert] *************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Neuen Mandantenbenutzer "Apps Test Benutzer" erstellen] *****************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Passwort für Mandantenbenutzer "Apps Test Benutzer" setzen] **************************
ok: [localhost]

TASK [adlytaibi.sgws_config : S3-Zugriffs-Schlüssel für Mandantenvariablen laden] *********************************
ok: [localhost]

TASK [adlytaibi.sgws_config : S3-Schlüssel generieren] ************************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Zielverzeichnis zur Speicherung der S3-Schlüssel] *************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Generierte S3-Schlüssel speichern] ****************************************************
changed: [localhost]

TASK [adlytaibi.sgws_config : Bucket für Mandantenvariablen laden] ***************************************************
ok: [localhost]

TASK [adlytaibi.sgws_config : Einen Bucket erstellen] ****************************************************************
ok: [localhost]

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

Verwendung von ansible-vault

Fühlen Sie sich frei, es nach Ihren Wünschen zu gestalten, dies dient nur als Ausgangspunkt. Die Datei ~/.passwd enthält das Passwort für den Vault.

# echo -n NetApp123 > ~/.passwd

Mit dem obigen Vault-Passwort können Sie jeden Wert verschlüsseln und in yml-Dateien integrieren.

# 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

Wenn Sie die verschlüsselten Werte überprüfen möchten.

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

Hilfsskripte

Das Skripteverzeichnis, das sich in ~/.ansible/roles/adlytaibi.sgws_config/files/scripts befindet, enthält die Dateien mgmt_ssl.cnf und stor_ssl.cnf zu Ihrer Bequemlichkeit. Ändern Sie diese so, dass sie mit Ihrer Grid-Verwaltungsoberfläche und Ihrem Gateway übereinstimmen. Wechseln Sie in das Verzeichnis, in dem die SSL-Schlüssel gespeichert werden sollen. Führen Sie die beiden Skripte aus, die einen privaten Schlüssel und CSR erstellen.

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

Nachdem Sie die SSL-Zertifikate signiert haben, benennen Sie sie entsprechend in mgmt_cert.pem und stor_cert.pem um und kopieren Sie sie in das Verzeichnis ~/.ansible/roles/adlytaibi.sgws_config/files zusammen mit dem Chain-Bundle certnew.p7b. Sie können nun das Skript bundle ausführen, das die Kette von p7b nach pem konvertiert.

# scripts/bundle

Dies sind die Dateien, die von Ansible verwendet werden.

# chain.pem      CA-Bundle
# mgmt_cert.pem  Unterzeichnetes Zertifikat für API-Verwaltung
# mgmt_cert.key  Privater Schlüssel für das obige Zertifikat
# stor_cert.pem  Unterzeichnetes Zertifikat für Speicherverwaltung
# stor_cert.key  Privater Schlüssel für das obige Zertifikat

Lizenz

GPL

Autoreninformationen

  • Adly Taibi
Über das Projekt

StorageGRID configuration

Installieren
ansible-galaxy install adlytaibi.sgws_config
GitHub Repository
Lizenz
gpl-3.0
Downloads
90
Besitzer