Konfigurasikan perangkat Anda untuk menjalankan tes IDT - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan perangkat Anda untuk menjalankan tes IDT

Untuk mengaktifkan IDT untuk menjalankan tes untuk kualifikasi perangkat, Anda harus mengonfigurasi komputer host Anda untuk mengakses perangkat Anda, dan mengonfigurasi izin pengguna pada perangkat Anda.

Instal Java pada komputer host

Dimulai dengan IDT v4.2.0, tes kualifikasi opsional untuk AWS IoT Greengrass membutuhkan Java untuk dapat berjalan.

Anda dapat menggunakan Java versi 8 atau yang lebih besar. Kami merekomendasikan Amazon Corretto 11 atau OpenJDK 11.

Konfigurasikan komputer host Anda untuk mengakses perangkat yang sedang diuji

IDT berjalan pada komputer host Anda dan harus dapat menggunakan SSH untuk terhubung ke perangkat Anda. Terdapat dua pilihan untuk memungkinkan IDT untuk mendapatkan akses SSH ke perangkat Anda yang diuji:

  1. Ikuti petunjuk di sini untuk membuat pasangan kunci SSH dan otorisasi kunci Anda untuk masuk ke perangkat Anda yang sedang diuji tanpa menyebutkan kata sandi.

  2. Berikan nama pengguna dan kata sandi untuk setiap perangkat di file device.json. Untuk informasi selengkapnya, lihat Konfigurasikan device.json.

Anda dapat menggunakan implementasi SSL apa pun untuk membuat kunci SSH. Petunjuk berikut menunjukkan cara menggunakan SSH-KEYGEN atau PuTTYgen (untuk Windows). Jika Anda menggunakan implementasi SSL lain, lihat dokumentasi untuk implementasi tersebut.

IDT menggunakan kunci SSH untuk diautentikasi dengan perangkat Anda yang sedang diuji.

Untuk membuat kunci SSH dengan SSH-KEYGEN

  1. Buat kunci SSH

    Anda dapat menggunakan perintah ssh-keygen Open SSH untuk membuat pasangan kunci SSH. Jika Anda sudah memiliki pasanagn kunci SSH pada komputer host Anda, adalah praktik terbaik untuk membuat pasangan kunci SSH khusus untuk IDT. Dengan cara ini, setelah Anda menyelesaikan tes, komputer host Anda tidak dapat lagi terhubung ke perangkat Anda tanpa memasukkan kata sandi. Hal ini juga memungkinkan Anda membatasi akses ke perangkat jarak jauh hanya untuk yang membutuhkannya.

    catatan

    Windows tidak memiliki klien SSH yang diinstal. Untuk informasi tentang cara menginstal klien SSH di Windows, lihat Unduh Perangkat Lunak Klien SSH.

    Perintah ssh-keygen meminta Anda untuk memberikan nama dan path untuk menyimpan pasangan kunci tersebut. Secara default, file pasangan kunci diberi nama id_rsa (kunci privat) dan id_rsa.pub (kunci publik). Di macOS dan Linux, lokasi default file ini adalah ~/.ssh/. Di Windows, lokasi default untuk file ini adalah C:\Users\<user-name>\.ssh.

    Saat diminta, masukkan frase kunci untuk melindungi kunci SSH Anda. Untuk informasi lebih lanjut, lihat Buat Kunci SSH Baru.

  2. Tambahkan kunci SSH yang diotorisasi pada perangkat Anda yang sedang diuji.

    IDT harus menggunakan kunci privat SSH Anda untuk masuk ke perangkat Anda yang sedang diuji. Untuk mengotorisasi kunci privat SSH Anda untuk masuk ke perangkat Anda yang sedang diuji, gunakan perintah ssh-copy-id dari komputer host Anda. Perintah ini menambahkan kunci publik Anda ke dalam file ~/.ssh/authorized_keys pada perangkat Anda yang sedang diuji. Misalnya:

    $ ssh-copy-id <remote-ssh-user>@<remote-device-ip>

    Di manaremote-ssh-useradalah nama pengguna yang digunakan untuk masuk ke perangkat Anda yang sedang diuji danremote-device-ipadalah alamat IP perangkat yang diuji untuk menjalankan pengujian. Misalnya:

    ssh-copy-id pi@192.168.1.5

    Saat diminta, masukkan kata sandi untuk nama pengguna yang Anda tentukan di perintah ssh-copy-id.

    ssh-copy-id mengasumsikan kunci publik tersebut bernama id_rsa.pub dan disimpan di lokasi default (pada macOS dan Linux, ~/.ssh/ dan pada Windows, C:\Users\<user-name>\.ssh). Jika Anda memberikan kunci publik nama yang berbeda atau menyimpannya di lokasi yang berbeda, Anda harus menentukan path yang memenuhi syarat untuk kunci publik SSH Anda dengan menggunakan -i untuk ssh-copy-id (misalnya, ssh-copy-id -i ~/my/path/myKey.pub). Untuk informasi lebih lanjut tentang cara membuat kunci SSH dan menyalin kunci publik, lihat SSH-COPY-ID.

Untuk membuat kunci SSH dengan menggunakan PuTTYgen (hanya Windows)

  1. Pastikan Anda mempunyai server dan klien OpenSSH yang terinstal pada perangkat Anda yang sedang diuji. Untuk informasi selengkapnya, lihat OpenSSH.

  2. Instal PuTTYgen di perangkat Anda yang sedang diuji.

  3. Buka PuTTYgen.

  4. Pilih Buat dan gerakkan kursor mouse Anda di dalam kotak untuk menghasilkan kunci privat.

  5. Dari menu Konversi, pilih Ekspor kunci OpenSSH, dan simpan kunci privat dengan ekstensi file .pem.

  6. Tambahkan kunci publik ke file /home/<user>/.ssh/authorized_keys pada perangkat yang sedang diuji.

    1. Salin teks kunci publik dari jendela PuTTYgen.

    2. Gunakan PuTTY untuk membuat sesi pada perangkat Anda yang sedang diuji.

      1. Dari command prompt atau jendela Windows Powershell, jalankan perintah berikut:

        C:/<path-to-putty>/putty.exe -ssh <user>@<dut-ip-address>

      2. Saat diminta, masukkan kata sandi perangkat Anda.

      3. Gunakan vi atau editor teks lain untuk menambahkan kunci publik ke file /home/<user>/.ssh/authorized_keys pada perangkat Anda yang sedang diuji.

  7. Perbarui file device.json Anda dengan nama pengguna, alamat IP, dan path Anda ke file kunci privat yang baru saja Anda simpan di komputer host untuk setiap perangkat yang sedang diuji. Untuk informasi selengkapnya, lihat Konfigurasikan device.json. Pastikan Anda memberikan path dan nama file yang lengkap untuk kunci privat dan gunakan garis miring ('/'). Misalnya, untuk path Windows C:\DT\privatekey.pem, gunakan C:/DT/privatekey.pem di file device.json.

Mengonfigurasi kredensi pengguna untuk perangkat Windows

Untuk memenuhi syarat perangkat berbasis Windows, Anda harus mengkonfigurasi kredensi pengguna diLocalSystem akun pada perangkat yang diuji untuk pengguna berikut:

  • Pengguna Greengrass default (ggc_user).

  • Pengguna yang Anda gunakan untuk menyambung ke perangkat yang dites. Anda mengkonfigurasi pengguna ini didevice.jsonfail.

Anda harus membuat setiap pengguna di LocalSystem akun di perangkat yang sedang diuji, lalu simpan nama pengguna dan kata sandi untuk pengguna di instance Manajer Kredensi untukLocalSystem akun.

Untuk mengkonfigurasi pengguna di perangkat Windows

  1. Buka Prompt Perintah Windows (cmd.exe) sebagai administrator.

  2. Buat pengguna di LocalSystem akun pada perangkat Windows. Jalankan perintah berikut untuk setiap pengguna yang ingin Anda buat. Untuk pengguna Greengrass default, gantiuser-namebersamaggc_user. Gantikata sandidengan kata sandi yang aman.

    net user /add user-name password
  3. Unduh dan instalPsExecutilitasdari Microsoft pada perangkat.

  4. Gunakan PsExec utilitas untuk menyimpan nama pengguna dan kata sandi untuk pengguna default di Manajer Kredensil LocalSystem akun.

    Jalankan perintah berikut untuk setiap pengguna yang ingin Anda konfigurasi di Manajer Kredensil. Untuk pengguna Greengrass default, gantiuser-namebersamaggc_user. Gantikata sandidengan kata sandi pengguna yang Anda tetapkan sebelumnya.

    psexec -s cmd /c cmdkey /generic:user-name /user:user-name /pass:password

    JikaPsExec License Agreementterbuka, pilihAcceptuntuk menyetujui lisensi dan menjalankan perintah.

    catatan

    Pada perangkat Windows, LocalSystem akun menjalankan inti Greengrass, dan Anda harus menggunakan PsExec utilitas untuk menyimpan informasi pengguna di LocalSystemakun. Menggunakan aplikasi Credential Manager menyimpan informasi ini di akun Windows pengguna yang saat ini masuk, bukan LocalSystemakun.

Konfigurasikan izin pengguna di perangkat Anda

IDT melakukan operasi pada berbagai direktori dan file dalam perangkat yang diuji. Beberapa operasi ini memerlukan izin yang ditinggikan (menggunakan sudo). Untuk mengotomatisasi operasi ini, IDT untuk V2 AWS IoT Greengrass harus dapat menjalankan perintah dengan sudo tanpa diminta memasukkan kata sandi.

Ikuti langkah-langkah ini pada perangkat yang sedang diuji untuk mengizinkan akses sudo tanpa diminta memasukkan kata sandi.

catatan

username mengacu pada pengguna SSH yang digunakan oleh IDT untuk mengakses perangkat yang diuji.

Tambahkan pengguna ke grup sudo.

  1. Pada perangkat yang sedang diuji, jalankan sudo usermod -aG sudo <username>.

  2. Keluar, lalu masuk kembali agar perubahan diterapkan.

  3. Untuk memverifikasi nama pengguna Anda telah berhasil ditambahkan, jalankan sudo echo test. Jika Anda tidak diminta untuk memasukkan kata sandi, pengguna Anda telah dikonfigurasi dengan benar.

  4. Buka file /etc/sudoers dan tambahkan baris berikut ke akhir file:

    <ssh-username> ALL=(ALL) NOPASSWD: ALL

Konfigurasikan peran pertukaran token kustom

Anda dapat memilih untuk menggunakan peran IAM kustom sebagai peran pertukaran token yang diasumsikan oleh perangkat yang diuji untuk berinteraksiAWSsumber daya. Untuk informasi tentang membuat sebuah IAM role, lihatMembuat Peran IAMdi dalamPanduan Pengguna IAM.

Anda harus memenuhi persyaratan berikut untuk memungkinkan IDT untuk menggunakan peran IAM kustom Anda. Kami sangat menyarankan agar Anda menambahkan hanya tindakan kebijakan minimum yang diperlukan untuk peran ini.

  • Yanguserdata.jsonfile konfigurasi harus diperbarui untuk mengaturGreengrassV2TokenExchangeRoleparametertrue.

  • Peran IAM kustom harus dikonfigurasi dengan kebijakan kepercayaan minimum berikut:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "credentials.iot.amazonaws.com", "lambda.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
  • Peran IAM kustom harus dikonfigurasi dengan kebijakan izin minimum berikut:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:DescribeCertificate", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "iot:Connect", "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:ListThingPrincipals", "iot:GetThingShadow", "iot:UpdateThingShadow", "s3:GetBucketLocation", "s3:GetObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource":"*" } ] }
  • Nama peran IAM kustom harus sesuai dengan sumber daya peran IAM yang Anda tentukan dalam izin IAM untuk pengguna pengujian. Secara default,kebijakan pengguna ujimemungkinkan akses ke peran IAM yang memilikiidt-awalan dalam nama peran mereka. Jika nama peran IAM Anda tidak menggunakan awalan ini, tambahkanarn:aws:iam::*:role/custom-iam-role-namesumber daya keroleAliasResourcesdanpassRoleForResourcespernyataan dalam kebijakan pengguna uji Anda, seperti yang ditunjukkan dalam contoh berikut:

    contoh passRoleForResources pernyataan

    { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/custom-iam-role-name", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }

    contoh roleAliasResources pernyataan

    { "Sid":"roleAliasResources", "Effect":"Allow", "Action":[ "iot:CreateRoleAlias", "iot:DescribeRoleAlias", "iot:DeleteRoleAlias", "iot:TagResource", "iam:GetRole" ], "Resource":[ "arn:aws:iot:*:*:rolealias/idt-*", "arn:aws:iam::*:role/custom-iam-role-name" ] }

Konfigurasikan perangkat Anda untuk menguji fitur opsional

Bagian ini menjelaskan persyaratan perangkat untuk menjalankan tes IDT untuk fitur Docker dan machine learning (ML) opsional. Anda harus memastikan perangkat Anda memenuhi persyaratan ini hanya jika Anda ingin menguji fitur ini. Jika tidak, lanjutkan ke Konfigurasikan pengaturan IDT untuk menjalankan rangkaian kualifikasi AWS IoT Greengrass.

Persyaratan kualifikasi Docker

IDT untuk V2 AWS IoT Greengrass menyediakan tes kualifikasi Docker untuk memvalidasi bahwa perangkat Anda dapat menggunakan komponen Manajer aplikasi Docker yang disediakan oleh AWS untuk mengunduh citra kontainer Docker yang dapat Anda jalankan dengan menggunakan komponen kontainer Docker kustom. Untuk informasi selengkapnya tentang cara membuat konten dokumen kustom, lihat Jalankan kontainer Docker.

Untuk menjalankan tes kualifikasi Docker, perangkat Anda yang sedang diuji harus memenuhi persyaratan berikut untuk men-deploy komponen manajer aplikasi Docker.

  • Mesin Docker1.9.1 atau yang lebih baru yang terpasang pada perangkat inti Greengrass. Versi 20.10 adalah versi terkini yang disahkan untuk bekerja denganAWS IoT GreengrassPerangkat lunak inti. Anda harus menginstal Docker langsung pada perangkat inti sebelum Anda men-deploy komponen yang menjalankan kontainer Docker.

  • Daemon Docker dimulai dan berjalan pada perangkat inti sebelum Anda men-deploy komponen ini.

  • Pengguna sistem yang menjalankan komponen kontainer Docker harus memiliki izin root atau administrator, atau Anda harus mengonfigurasi Docker untuk menjalankannya sebagai pengguna non-root atau non-admistrator.

    • Pada perangkat Linux, Anda dapat menambahkan pengguna kedockergrup untuk menelepondockerperintah tanpasudo.

    • Pada perangkat Windows, Anda dapat menambahkan pengguna kedocker-usersgrup untuk menelepondockerperintah tanpa hak adminstrator.

    Linux or Unix

    Untuk menambahkanggc_user, atau pengguna non-root yang Anda gunakan untuk menjalankan komponen kontainer Docker, kedockerkelompok, jalankan perintah berikut.

    sudo usermod -aG docker ggc_user

    Untuk informasi selengkapnya, lihatMengelola Docker sebagai pengguna non-root.

    Windows Command Prompt (CMD)

    Untuk menambahkanggc_user, atau pengguna yang Anda gunakan untuk menjalankan komponen kontainer Docker, kedocker-userskelompok, jalankan perintah berikut sebagai administrator.

    net localgroup docker-users ggc_user /add
    Windows PowerShell

    Untuk menambahkanggc_user, atau pengguna yang Anda gunakan untuk menjalankan komponen kontainer Docker, kedocker-userskelompok, jalankan perintah berikut sebagai administrator.

    Add-LocalGroupMember -Group docker-users -Member ggc_user

Persyaratan kualifikasi ML

IDTAWS IoT GreengrassV2 menyediakan tes kualifikasi ML untuk memvalidasi bahwa perangkat Anda dapat menggunakanAWS-Komponen machineuntuk melakukan inferensi MLL secara lokal menggunakanRuntime DeepatauTensorFlow sedikitKerangka kerja. Untuk informasi lebih lanjut tentang cara menjalankan inferensi ML pada perangkat Greengrass, lihat Lakukan inferensi machine learning.

Untuk menjalankan tes kualifikasi ML, perangkat Anda yang sedang diuji harus memenuhi persyaratan berikut untuk men-deploy komponen machine learning.

  • Pada perangkat inti Greengrass yang menjalankan Amazon Linux 2 atau Ubuntu 18.04, Pustaka GNU C (glibc) versi 2.27 atau yang lebih baru diinstal pada perangkat tersebut.

  • Pada perangkat Armv7l, seperti Raspberry Pi, dependensi untuk OpenCV-Python diinstal pada perangkat. Jalankan perintah berikut untuk menginstal dependensi.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • Perangkat Raspberry Pi yang menjalankan Raspberry Pi OS Bullseye harus memenuhi persyaratan berikut:

    • NumPy 1.22.4 atau yang lebih baru yang terpasang pada perangkat. Raspberry Pi OS Bullseye menyertakan versi sebelumnya NumPy, sehingga Anda dapat menjalankan perintah berikut untuk meng-upgrade NumPy pada perangkat.

      pip3 install --upgrade numpy
    • Tumpukan kamera lama diaktifkan pada perangkat. Raspberry Pi OS Bullseye menyertakan tumpukan kamera baru yang diaktifkan secara default dan tidak kompatibel, jadi Anda harus mengaktifkan tumpukan kamera lama.

      Untuk mengaktifkan tumpukan kamera lama

      1. Jalankan perintah berikut untuk menjalankan alat konfigurasi Raspberry Pi.

        sudo raspi-config
      2. PilihOpsi Antarmuka.

      3. PilihKamera warisanuntuk mengaktifkan tumpukan kamera lama.

      4. Reboot Raspberry Pi.

Persyaratan kualifikasi HSM

AWS IoT GreengrassmemberiKomponen penyedia PKCS #11untuk mengintegrasikan dengan Hardware Security Module (HSM) PKCS pada perangkat. Pengaturan HSM tergantung pada perangkat Anda dan modul HSM yang telah Anda pilih. Selama konfigurasi HSM yang diharapkan, seperti yang didokumentasikan dalamPengaturan konfigurasi IDT, disediakan, IDT akan memiliki informasi yang diperlukan untuk menjalankan tes kualifikasi fitur opsional ini.