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 menyarankan Anda menggunakan versi dukungan jangka panjang Amazon Corretto atau OpenJDK. Versi 8 atau lebih tinggi diperlukan..

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. Sebagai contoh:

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

    Di remote-ssh-usermana nama pengguna yang digunakan untuk masuk ke perangkat Anda yang sedang diuji dan remote-device-ipmerupakan alamat IP perangkat yang diuji untuk menjalankan pengujian. Sebagai contoh:

    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.

Konfigurasikan kredensional pengguna untuk perangkat Windows

Untuk memenuhi syarat perangkat berbasis Windows, Anda harus mengonfigurasi kredensional pengguna di LocalSystem akun pada perangkat yang sedang diuji untuk pengguna berikut:

  • Pengguna Greengrass default (). ggc_user

  • Pengguna yang Anda gunakan untuk terhubung ke perangkat yang sedang diuji. Anda mengkonfigurasi pengguna ini dalam device.jsonfile.

Anda harus membuat setiap pengguna di LocalSystem akun pada perangkat yang sedang diuji, dan kemudian menyimpan nama pengguna dan kata sandi untuk pengguna dalam contoh Credential Manager untuk LocalSystem akun tersebut.

Untuk mengkonfigurasi pengguna di perangkat Windows
  1. Buka Windows Command Prompt (cmd.exe) sebagai administrator.

  2. Buat pengguna di LocalSystem akun di perangkat Windows. Jalankan perintah berikut untuk setiap pengguna yang ingin Anda buat. Untuk pengguna Greengrass default, ganti nama pengguna dengan. ggc_user Ganti kata sandi dengan kata sandi yang aman.

    net user /add user-name password
  3. Unduh dan instal PsExecutilitas dari Microsoft pada perangkat.

  4. Gunakan PsExec utilitas untuk menyimpan nama pengguna dan kata sandi untuk pengguna default dalam contoh Credential Manager untuk LocalSystem akun tersebut.

    Jalankan perintah berikut untuk setiap pengguna yang ingin Anda konfigurasi di Credential Manager. Untuk pengguna Greengrass default, ganti nama pengguna dengan. ggc_user Ganti kata sandi dengan kata sandi pengguna yang Anda tetapkan sebelumnya.

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

    Jika PsExec License Agreementterbuka, pilih Acceptuntuk menyetujui lisensi dan jalankan perintah.

    catatan

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

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 khusus

Anda dapat memilih untuk menggunakan peran IAM khusus sebagai peran pertukaran token yang diasumsikan perangkat yang diuji untuk berinteraksi dengan AWS sumber daya. Untuk informasi tentang membuat peran IAM, lihat Membuat peran IAM di Panduan Pengguna IAM.

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

  • File konfigurasi userdata.json harus diperbarui untuk mengatur parameter ke. GreengrassV2TokenExchangeRole true

  • 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 cocok dengan sumber daya peran IAM yang Anda tentukan dalam izin IAM untuk pengguna pengujian. Secara default, kebijakan pengguna pengujian mengizinkan akses ke peran IAM yang memiliki idt- awalan dalam nama peran mereka. Jika nama peran IAM Anda tidak menggunakan awalan ini, tambahkan arn:aws:iam::*:role/custom-iam-role-name sumber daya ke roleAliasResources pernyataan dan passRoleForResources pernyataan dalam kebijakan pengguna pengujian 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.

  • Docker Engine 1.9.1 atau yang lebih baru diinstal pada perangkat inti Greengrass. Versi 20.10 adalah versi terbaru yang diverifikasi untuk bekerja dengan perangkat lunak AWS IoT Greengrass Core. Anda harus menginstal Docker langsung pada perangkat inti sebelum Anda menyebarkan 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 ke docker grup untuk memanggil docker perintah tanpasudo.

    • Pada perangkat Windows, Anda dapat menambahkan pengguna ke docker-users grup untuk memanggil docker perintah tanpa hak istimewa adminstrator.

    Linux or Unix

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

    sudo usermod -aG docker ggc_user

    Untuk informasi selengkapnya, lihat Mengelola Docker sebagai pengguna non-root.

    Windows Command Prompt (CMD)

    Untuk menambahkanggc_user, atau pengguna yang Anda gunakan untuk menjalankan komponen kontainer Docker, ke docker-users grup, 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, ke docker-users grup, jalankan perintah berikut sebagai administrator.

    Add-LocalGroupMember -Group docker-users -Member ggc_user

Persyaratan kualifikasi ML

IDT for AWS IoT Greengrass V2 menyediakan pengujian kualifikasi ML untuk memvalidasi bahwa perangkat Anda dapat menggunakan komponen machine learning yang AWS disediakan untuk melakukan inferensi ML secara lokal menggunakan kerangka kerja Deep Learning Runtime atau Lite ML. TensorFlow 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 diinstal pada perangkat. Raspberry Pi OS Bullseye menyertakan versi sebelumnya NumPy, sehingga Anda dapat menjalankan perintah berikut untuk meningkatkan NumPy pada perangkat.

      pip3 install --upgrade numpy
    • Tumpukan kamera lama diaktifkan di 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 membuka alat konfigurasi Raspberry Pi.

        sudo raspi-config
      2. Pilih Opsi Antarmuka.

      3. Pilih Kamera lama untuk mengaktifkan tumpukan kamera lama.

      4. Reboot Raspberry Pi.

Persyaratan kualifikasi HSM

AWS IoT Greengrassmenyediakan komponen penyedia PKCS #11 untuk diintegrasikan dengan Modul Keamanan Perangkat Keras PKCS (HSM) pada perangkat. Pengaturan HSM tergantung pada perangkat Anda dan modul HSM yang telah Anda pilih. Selama konfigurasi HSM yang diharapkan, seperti yang didokumentasikan dalam pengaturan konfigurasi IDT, disediakan, IDT akan memiliki informasi yang diperlukan untuk menjalankan tes kualifikasi fitur opsional ini.