ການຕິດຕັ້ງ, ການກຳນົດຄ່າ ແລະ ການເປີດນຳໃຊ້ເຊີບເວີ Owner

ຕິດຕັ້ງແພັກເກັດ RPM fdo-owner-cli ແລະ fdo-owner-onboarding-server ເພື່ອໃຫ້ລະບົບສາມາດຮັບເວົາເຊີ (voucher) ທີ່ສ້າງຂຶ້ນໂດຍເຊີບເວີການຜະລິດ (Manufacturing server) ໃນລະຫວ່າງການບູດອຸປະກອນຄັ້ງທຳອິດ. ຈາກນັ້ນ ເຊີບເວີ Rendezvous ຈະຈັບຄູ່ UUID ຂອງອຸປະກອນເຂົ້າກັບແພລັດຟອມເປົ້າໝາຍ ຫຼື ຄລາວ ແລະ ແຈ້ງໃຫ້ອຸປະກອນຊາບວ່າຕ້ອງໃຊ້ຈຸດເຊື່ອມຕໍ່ (endpoint) ຂອງເຊີບເວີ Owner ໃດ.

ສິ່ງທີ່ຕ້ອງມີກ່ອນ
  • ອຸປະກອນທີ່ຈະຕິດຕັ້ງເຊີບເວີຕ້ອງມີອຸປະກອນ Trusted Platform Module (TPM) ເພື່ອເຂົ້າລະຫັດດິດ (disk). ຖ້າບໍ່ດັ່ງນັ້ນ, ທ່ານຈະພົບຂໍ້ຜິດພາດໃນເວລາບູດອຸປະກອນ Fedora IoT.

  • ທ່ານໄດ້ສ້າງ device_ca_cert.pem, owner_key.der, ແລະ owner_cert.pem ພ້ອມກັບຄີ (keys) ແລະ ໃບຢັ້ງຢືນ (certificates) ແລ້ວ ແລະ ສຳເນົາພວກມັນລົງໃນໄດເຣັກທໍຣີ /etc/fdo/keys.

ຂັ້ນຕອນການດຳເນີນງານ
  1. ຕິດຕັ້ງ RPM ທີ່ຈຳເປັນໃນເຊີບເວີນີ້:

    # dnf install -y fdo-owner-cli fdo-owner-onboarding-server
  2. ກະກຽມໄຟລ໌ກຳນົດຄ່າ owner-onboarding-server.yml ແລະ ບັນທຶກໄວ້ໃນໄດເຣັກທໍຣີ /etc/fdo/. ລະບຸເສັ້ນທາງ (path) ໄປຫາໃບຢັ້ງຢືນທີ່ທ່ານໄດ້ສຳເນົາໄວ້ແລ້ວ ແລະ ຂໍ້ມູນກ່ຽວກັບບ່ອນທີ່ຈະເຜີຍແຜ່ບໍລິການເຊີບເວີ Owner ໃນໄຟລ໌ນີ້.

    ຕໍ່ໄປນີ້ແມ່ນຕົວຢ່າງທີ່ມີຢູ່ໃນ /usr/share/doc/fdo/owner-onboarding-server.yml. ທ່ານສາມາດຊອກຫາບ່ອນອ້າງອີງເຖິງ Service Info API ໄດ້ ເຊັ່ນ: URL ຫຼື ໂທເຄັນການຢືນຢັນຕົວຕົນ (authentication token).

    ---
    ownership_voucher_store_driver:
      Directory:
        path: /etc/fdo/stores/owner_vouchers
    session_store_driver:
      Directory:
        path: /etc/fdo/stores/owner_onboarding_sessions
    trusted_device_keys_path: /etc/fdo/keys/device_ca_cert.pem
    owner_private_key_path: /etc/fdo/keys/owner_key.der
    owner_public_key_path: /etc/fdo/keys/owner_cert.pem
    bind: "0.0.0.0:8081"
    service_info_api_url: "http://192.168.122.1:8083/device_info"
    service_info_api_authentication:
      BearerToken:
        token: Kpt5P/5flBkaiNSvDYS3cEdBQXJn2Zv9n1D50431/lo=
    owner_addresses:
      - transport: http
        addresses:
          - ip_address: 192.168.122.1
        port: 8081
  3. ສ້າງ ແລະ ກຳນົດຄ່າ Service Info API.

    1. ເພີ່ມຂໍ້ມູນອັດຕະໂນມັດສຳລັບການເລີ່ມຕົ້ນລະບົບ (onboarding) ເຊັ່ນ: ການສ້າງຜູ້ໃຊ້, ໄຟລ໌ທີ່ຈະສຳເນົາ ຫຼື ສ້າງຂຶ້ນ, ຄຳສັ່ງທີ່ຈະປະຕິບັດ, ດິດທີ່ຈະເຂົ້າລະຫັດ ແລະ ອື່ນໆ. ໃຊ້ຕົວຢ່າງໄຟລ໌ກຳນົດຄ່າ Service Info API ໃນ /usr/share/doc/fdo/serviceinfo-api-server.yml ເປັນແມ່ແບບເພື່ອສ້າງໄຟລ໌ກຳນົດຄ່າໄວ້ພາຍໃຕ້ /etc/fdo/.

      ---
      service_info:
        initial_user:
          username: admin
          sshkeys:
            - "ssh-rsa AAAA...."
        diskencryption_clevis:
          - disk_label: /dev/vda3
            binding:
              pin: tpm2
              config: "{}"
            reencrypt: true
      bind: "0.0.0.0:8083"
      device_specific_store_driver:
        Directory:
          path: /etc/fdo/stores/serviceinfo_api_devices
      service_info_auth_token: Kpt5P/5flBkaiNSvDYS3cEdBQXJn2Zv9n1D50431/lo=
      admin_auth_token: zJNoErq7aa0RusJ1w0tkTjdITdMCWYkndzVv7F0V42Q=
  4. ກວດສອບສະຖານະຂອງ systemd units:

    # systemctl list-unit-files | grep fdo
    fdo-owner-onboarding-server.service        disabled        disabled
    fdo-serviceinfo-api-server.service         disabled        disabled
    1. ຖ້າບໍລິການຖືກຢຸດ ແລະ ປິດການນຳໃຊ້ຢູ່, ໃຫ້ເປີດນຳໃຊ້ ແລະ ເລີ່ມຕົ້ນມັນ:

      # systemctl enable --now fdo-owner-onboarding-server.service
      # systemctl enable --now fdo-serviceinfo-api-server.service
      ທ່ານຕ້ອງເລີ່ມຕົ້ນການບໍລິການ systemd ໃໝ່ທຸກຄັ້ງທີ່ທ່ານປ່ຽນແປງໄຟລ໌ກຳນົດຄ່າ.
  5. ກວດສອບວ່າເຊີບເວີກຳລັງລໍຖ້າການເຊື່ອມຕໍ່ (listening) ຢູ່ທີ່ພອດ 8083 ຕາມທີ່ກຳນົດໄວ້ຫຼືບໍ່:

    # ss -ltn
  6. ເປີດພອດຫາກທ່ານມີການກຳນົດຄ່າໄຟວໍ (firewall) ໃນເຊີບເວີນີ້:

    # firewall-cmd --add-port=8081/tcp --permanent
    # firewall-cmd --add-port=8083/tcp --permanent
    # systemctl restart firewalld