První spuštění

Tato kapitola vás provede prvním spuštěním IAM appliance.

Předpokládáme nasazení VMDK souboru do virtualizace vmWare ESXi. Pro jiné platformy je tento postup obdobný, ale může se lišit v detailech.

Nasazení virtuálního serveru

  1. Máte k dispozici virtuální disk ve formátu VMDK, který jste naimportovali do storage a lze ho v administraci ESXi používat.

  2. Vytvořte nový virtuální server s potřebnými parametry a minimálně jednou ethernet síťovou kartou. Jako jeho pevný disk použijte dodaný VMDK.

    • Požadavky na prostředí (CPU, RAM, disk) najdete zde.

    • Dodaný virtuální disk je schválně definován menší, než stanovují doporučené požadavky. Bude potřeba ho v administraci virtualizace zvětšit.

    • Síťových karet můžete definovat i více. Appliance počítá s možností mít oddělené sítě pro uživatelský provoz, management segment nebo interconnect.

  3. Spusťte virtuální stroj a počkejte než appliance nastartuje.

    • Appliance v tuto chvíli obsahuje výchozího uživatele a heslo. Pokud máte v síti DHCP server, appliance si z něj načte adresu a může být dostupná po síti. Proto neodkládejte prvotní konfiguraci, která appliance zabezpečí.

  4. Resetujte hesla a šifrovací klíče.

    • Při vzniku základního VMDK image appliance se vygeneruje několik hesel a klíčů, které je nutné po nasazení na konkrétní prostředí vyměnit. Jinak budou různá nasazení appliance sdílet stejná hesla.

    • Reset popsaný v tomto návodu je nutné provést před prvním spuštěním služeb appliance.

  5. Upravte konfiguraci služeb appliance.

    • Je potřeba nakonfigurovat přístup k SW repozitářům, který je chráněn přihlášením. Přihlašovací údaje vám byly předány spolu s VMDK imagem.

    • Některé služby potřebují znát hostname (hostnamy), na kterém běží z pohledu uživatele.

  6. Spusťte služby appliance.

    • Appliance sestává z různých služeb, které se ve výchozím stavu nespouští. Je potřeba naplánovat jejich spuštění a oživit je.

  7. Aktualizujte appliance na poslední dostupnou verzi.

    • Virtuální disk appliance má jiný release cyklus než její softwarové komponenty. Po základním zprovoznění doporučujeme provést softwarovou aktualizaci.

Potřebné údaje pro konfiguraci

Pro prvotní konfiguraci budete potřebovat informace o svém síťovém prostředí. Pokud budete používat DHCP adresaci, není nutné některé tyto parametry uvádět.

  • IP adresu a masku, kterou applianci přidělíte.

  • Výchozí gateway sítě.

  • IP adresy DNS serverů v síti.

  • Seznam vašich DNS domén v síti (tzv. "search domains").

  • NTP servery, které má appliance používat.

    • Pokud synchronizaci času řešíte propagací z hypervizoru, konfiguraci NTP přeskočte.

  • Silné heslo na uživatele root.

  • Hostname, na kterém budou služby appliance dostupné uživatelům.

  • Přihlašovací údaje do repozitářů autora appliance.

Prvotní konfigurace

  1. V administraci ESXi si otevřete lokální konzoli virtuálního serveru.

  2. Konzole serveru zobrazí varování, že appliance není inicializovaná. Součástí tohoto varování je i výchozí login a heslo root:demodemo.

  3. Přihlašte se výchozími přihlašovacími údaji.

  4. Spusťte příkaz iam-firstboot, který vás provede usazením appliance do sítě.

Pokud se při konfiguraci spletete (nebo obdržíte chybu), stačí příkaz iam-firstboot spustit znovu a opakovat dané nastavení. Není nutné konfigurovat vždy vše znovu, již dokončené sekce lze přeskakovat pomocí volby 'n'.

Reset hesel a šifrovacích klíčů

V tuto chvíli je appliance dostupná po síti a může na internet. Je potřeba resetovat tajemství v ní uložená.

V případě, že služby appliance už alespoň jednou nastartovaly, nelze tento postup použít.
  1. Na disku appliance se nachází několik souborů s hesly a klíči, dají se identifikovat podle přípony .pwfile. Každý z nich je specifický, některé mají povinnou pevně stanovenou délku, jiné ne.

    Výpis tajemství v appliance i s daty poslední změny
    [root@localhost ~]# find /data/ -name "*pwfile" -exec ls -l {} \;
    -rw-r--r--. 1 root root 17 Jan 20 14:40 /data/volumes/czechidm-db/secrets/dbuser.pwfile
    -rw-r--r--. 1 root root 17 Jan 20 14:40 /data/volumes/czechidm-db/secrets/postgres.pwfile
    -rw-r--r--. 1 root root 17 Jan 20 14:40 /data/volumes/czechidm/secrets/idm_db.pwfile
    -rw-r--r--. 1 root root 33 Jan 20 14:40 /data/volumes/czechidm/secrets/idm_jwt.pwfile
    -rw-r--r--. 1 root root 33 Jan 20 14:40 /data/volumes/czechidm/secrets/idm_secretkey.pwfile
  2. Změna tajemství služby czechidm-db.

    • Tato služba je databází pro CzechIdM identity manager, obsahuje dvě hesla: databázový administrátor (postgres) a databázový uživatel, kterého používá CzechIdM (dbuser).

      Přegenerování
      pwgen -1 16 > /data/volumes/czechidm-db/secrets/dbuser.pwfile
      pwgen -1 16 > /data/volumes/czechidm-db/secrets/postgres.pwfile
  3. Změna tajemství služby czechidm.

    • Toto je služba samotného identity manageru. Využívá tři tajemství: heslo k databázi (idm_db.pwfile), JWT klíč pro webové tokeny (idm_jwt.pwfile) a šifrovací klíč k důvěrným datům (idm_secretkey.pwfile).

      • Obsah idm_db.pwfile musí být stejný jako obsah dbuser.pwfile ve službě czechidm-db.

      • Klíč idm_jwt.pwfile má stanovenou minimální potřebnou délku alespoň 25 znaků.

      • Klíč idm_secretkey.pwfile má povinnou délku 16 nebo 32 znaků a formát [a-z0-9]. Při nedodržení těchto parametrů služba nenastartuje.

        Přegenerování
        cp -f /data/volumes/czechidm-db/secrets/dbuser.pwfile /data/volumes/czechidm/secrets/idm_db.pwfile
        pwgen -1 -A -s 32 > /data/volumes/czechidm/secrets/idm_jwt.pwfile
        pwgen -1 -A -s 32 > /data/volumes/czechidm/secrets/idm_secretkey.pwfile

Napojení softwarových repozitářů

Appliance využívá dva typy repozitářů - RPM balíčky pro operační systém a Docker registry pro image kontejnerů jednotlivých aplikací.

Přihlašovací údaje vám byly předány dodavatelem spolu s imagem virtuálního server.
  1. Přihlášení do RPM repozitáře.

    1. Konfigurace repozitáře se nachází v souboru /etc/yum.repos.d/iam-centos8.repo, který je potřeba editovat. K editaci můžete použít programy nano (uživatelsky přívětivější) nebo vim.

      V souboru je potřeba doplnit login a heslo
      [root@localhost ~]# nano /etc/yum.repos.d/iam-centos8.repo
      
      [iam-centos8]
      name=IAM Appliance Repository
      baseurl=https://repo.iamappliance.com/repository/rpm-default/
      enabled=1
      gpgcheck=1
      gpgkey=file:///etc/pki/rpm-gpg/BCV-IAM-RPM-SIGN-2024.asc
      username=ENTER_USER_HERE
      password=ENTER_PASS_HERE
    2. Potvrďte editaci (ctrl+o, enter) a ukončete editor (ctrl+x).

    3. Občerstvěte cache správce balíčků. Tím zároveň otestujete správnou konfiguraci repozitáře.

      Provedení refreshe balíčků
      [root@localhost ~]# dnf makecache
  2. Přihlášení do Docker repozitáře.

    1. Vyvolejte přihlášení pomocí příkazu a zadejte stejné přihlašovací údaje jako pro RPM repozitář.

      Přihlášení do Docker registry
      [root@localhost ~]# docker login repo.iamappliance.com:8443
      Username: zadejte login
      Password: zadejte heslo
      ... zkráceno ...
      Login Succeeded

Úprava konfigurace služeb

Aplikace CzechIdM potřebuje z bezpečnostních důvodů znát hostname (nebo hostnamy), na nichž je dostupná uživatelům. Tato informace se liší na každém prostředí, proto je nutné ji doplnit.

  1. Editujte soubor /data/registry/node-active-config/docker-compose-czechidm.yml, opět pomocí nano nebo vim.

  2. Najděte řádek s konfigurací CZECHIDM_ALLOWED_ORIGINS= a vyplňte ji podle potřeby. Formátování souboru ani ostatní konfiguraci neměňte.

    • Doporučujeme ponechat záznam http://localhost pro případ řešení provozních potíží.

    • Doplňte další hostnamy nebo IP adresy včetně protokolu. Protokol bude vždy https://. Záznamy oddělujte čárkou a nedělejte mezery.

    • Z této konfigurace se generují i klikatelné odkazy v mailových oznámeních, které IdM odesílá. Adresu, kterou chcete mít uvedenou v klikatelných odkazech, uveďte jako první.

      Příklad vyplněných allowed_origins
      [root@localhost ~]# nano /data/registry/node-active-config/docker-compose-czechidm.yml
      
      ... zkráceno ...
            - CZECHIDM_ALLOWED_ORIGINS=https://172.31.255.123,http://localhost
      ... zkráceno ...
  3. Potvrďte editaci (ctrl+o, enter) a ukončete editor (ctrl+x).

Spuštění služeb appliance

Služby appliance nemají povolený automatický start při startu operačního systému. Nejjednodušším způsobem je jejich autostart povolit a restartovat server - nemusíme řešit správné pořadí spouštění služeb.

  1. Povolte a nastartujte službu Docker

    [root@localhost ~]# systemctl enable --now docker.service
  2. Spusťte službu databáze a nechte ji inicializovat

    [root@localhost ~]# systemctl start czechidm-db.service && sleep 120
  3. Povolte autostart služeb appliance

    [root@localhost ~]# systemctl enable czechidm-db.service czechidm.service web-proxy.service
  4. Pokud chcete využívat automatických záloh provozní databáze CzechIdM, povolte je. Zálohy probíhají jednou denně vždy večer.

    [root@localhost ~]# systemctl enable czechidm-db-backup.timer
  5. Restartujte server.

    [root@localhost ~]# reboot
  6. Po startu serveru počkejte několik minut, první start služeb je pomalejší kvůli inicializaci databázových struktur. Průběh spouštění je možné sledovat v logu /var/log/messages, v reálném čase např. pomocí tail -f /var/log/messages. Od verze IAM appliance 0.5 jsou logy umístěny v /data/logs/czechidm/.

    Úspěšný start CzechIdM značí tento záznam v logu
    Jan 21 09:23:50 localhost czechidm[973]: 2021-01-21 10:23:50.195  INFO 216781 --- [CamelMainRunController] o.a.camel.spring.SpringCamelContext.start : Apache Camel 2.17.2 (CamelContext: camel-1) started in 1.727 seconds
  7. Přistupte přes webový prohlížeč na https://adresa-nebo-hostname/. Hlášení o neplatném certifikátu nyní ignorujte, později ho můžete vyměnit.

  8. Přihlašte se do CzechIdM výchozím loginem admin a heslem admin a heslo ihned změňte.

Aktualizace appliance

Zjistěte dostupnou verzi appliance ve vaší výchozí instalaci pomocí příkazu dnf info iam-appliance. Tento příkaz zobrazí i nejvyšší aktuálně dostupnou verzi. Pro použití příkazu dnf musíte mít funkční softwarové repozitáře.

Po zjištění vaší a poslední dostupné verze IAM appliance postupujte podle konkrétního Upgrade Guide.