

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
<a name="device-config-setup"></a>

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
<a name="install-java-for-idt"></a>

Dimulai dengan IDT v4.2.0, tes kualifikasi opsional untuk AWS IoT Greengrass memerlukan Java untuk dijalankan.

Anda dapat menggunakan Java versi 8 atau yang lebih besar. Kami menyarankan Anda menggunakan versi dukungan jangka panjang [Amazon Corretto](https://aws.amazon.com/corretto/) [atau](https://openjdk.java.net/) OpenJDK. Versi 8 atau lebih tinggi diperlukan..

## Konfigurasikan komputer host Anda untuk mengakses perangkat yang sedang diuji
<a name="configure-host"></a>

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.

1. Berikan nama pengguna dan kata sandi untuk setiap perangkat di file `device.json`. Untuk informasi selengkapnya, lihat [Konfigurasikan device.json](set-config.md#device-config).

Anda dapat menggunakan implementasi SSL apa pun untuk membuat kunci SSH. Petunjuk berikut menunjukkan cara menggunakan [SSH-KEYGEN](https://www.ssh.com/ssh/keygen/) atau [Pu TTYgen](https://www.ssh.com/ssh/putty/windows/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](https://www.ssh.com/ssh/#sec-Download-client-software).

   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](https://www.ssh.com/ssh/keygen/).

1. 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. Contoh:

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

   Di *remote-ssh-user* mana nama pengguna yang digunakan untuk masuk ke perangkat Anda yang sedang diuji dan *remote-device-ip* merupakan alamat IP perangkat yang diuji untuk menjalankan pengujian. 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 \$1/my/path/myKey.pub**). Untuk informasi lebih lanjut tentang cara membuat kunci SSH dan menyalin kunci publik, lihat [SSH-COPY-ID](https://www.ssh.com/ssh/copy-id).

**Untuk membuat kunci SSH menggunakan Pu TTYgen (hanya Windows)**

1. Pastikan Anda mempunyai server dan klien OpenSSH yang terinstal pada perangkat Anda yang sedang diuji. Untuk informasi selengkapnya, lihat [OpenSSH](https://www.openssh.com/).

1. Instal [Pu TTYgen](https://www.puttygen.com/) pada perangkat Anda yang sedang diuji.

1. Buka PuTTYgen.

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

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

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

   1. Salin teks kunci publik dari TTYgen jendela Pu.

   1. 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>* ** 

      1. Saat diminta, masukkan kata sandi perangkat Anda.

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

1. 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](set-config.md#device-config). 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
<a name="configure-windows-user-for-idt"></a>

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.json`file](set-config.md#device-config).

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. <a name="set-up-windows-device-environment-procedure"></a>

**Untuk mengkonfigurasi pengguna di perangkat Windows**

1. Buka Windows Command Prompt (`cmd.exe`) sebagai administrator.

1. Buat pengguna di LocalSystem akun di perangkat Windows. Jalankan perintah berikut untuk setiap pengguna yang ingin Anda buat. Untuk pengguna Greengrass default, ganti dengan. *user-name* `ggc_user` Ganti *password* dengan kata sandi yang aman.

   ```
   net user /add user-name password
   ```

1. Unduh dan instal [PsExecutilitas](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) dari Microsoft pada perangkat. 

1. 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 dengan. *user-name* `ggc_user` Ganti *password* dengan kata sandi pengguna yang Anda tetapkan sebelumnya.

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

   Jika **PsExec License Agreement**terbuka, pilih **Accept**untuk 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
<a name="root-access"></a>

IDT melakukan operasi pada berbagai direktori dan file dalam perangkat yang diuji. Beberapa operasi ini memerlukan izin yang ditinggikan (menggunakan **sudo**). Untuk mengotomatiskan operasi ini, IDT untuk AWS IoT Greengrass V2 harus dapat menjalankan perintah dengan sudo tanpa diminta 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>`.

1. Keluar, lalu masuk kembali agar perubahan diterapkan.

1. 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.

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

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

## Konfigurasikan peran pertukaran token kustom
<a name="configure-custom-tes-role-for-idt"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) 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](set-config.md#custom-token-exchange-role-idt) harus diperbarui untuk mengatur parameter ke. `GreengrassV2TokenExchangeRole` `true`
+ Peran IAM kustom harus dikonfigurasi dengan kebijakan kepercayaan minimum berikut:

------
#### [ JSON ]

****  

  ```
  {
     "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:

------
#### [ JSON ]

****  

  ```
  {
     "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](dev-tst-prereqs.md#configure-idt-permissions) 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:

    
**Example `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"
           ]
        }
     }
  }
  ```  
**Example `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
<a name="optional-feature-config"></a>

Bagian ini menjelaskan persyaratan perangkat untuk menjalankan tes IDT untuk fitur Docker dan machine learning (ML) opsional. Fitur ML hanya didukung di IDT v4.9.3. 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 AWS IoT Greengrass kualifikasi](set-config.md).

**Topics**
+ [Persyaratan kualifikasi Docker](#idt-config-docker-components)
+ [Persyaratan kualifikasi ML](#idt-config-ml-components)
+ [Persyaratan kualifikasi HSM](#idt-config-hsm-components)

### Persyaratan kualifikasi Docker
<a name="idt-config-docker-components"></a>

IDT untuk AWS IoT Greengrass V2 menyediakan tes kualifikasi Docker untuk memvalidasi bahwa perangkat Anda dapat menggunakan komponen [manajer aplikasi Docker AWS yang disediakan untuk mengunduh gambar kontainer Docker](docker-application-manager-component.md) yang dapat Anda jalankan menggunakan komponen kontainer Docker khusus. Untuk informasi selengkapnya tentang cara membuat konten dokumen kustom, lihat [Jalankan kontainer Docker](run-docker-container.md).

Untuk menjalankan tes kualifikasi Docker, perangkat Anda yang sedang diuji harus memenuhi persyaratan berikut untuk men-deploy komponen manajer aplikasi Docker.
+ <a name="docker-engine-requirement"></a>[Docker Engine](https://docs.docker.com/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.
+ <a name="docker-daemon-requirement"></a>Daemon Docker dimulai dan berjalan pada perangkat inti sebelum Anda men-deploy komponen ini. 
+ <a name="docker-user-permissions-requirement"></a>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 tanpa`sudo`.
  + Pada perangkat Windows, Anda dapat menambahkan pengguna ke `docker-users` grup untuk memanggil `docker` perintah tanpa hak istimewa adminstrator.

------
#### [ Linux or Unix ]

  Untuk menambahkan`ggc_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](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user).

------
#### [ Windows Command Prompt (CMD) ]

  Untuk menambahkan`ggc_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 menambahkan`ggc_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
<a name="idt-config-ml-components"></a>

**catatan**  
Fitur pembelajaran mesin hanya didukung di IDT v4.9.3.

[IDT untuk AWS IoT Greengrass V2 menyediakan pengujian kualifikasi ML untuk memvalidasi bahwa perangkat Anda dapat menggunakan [komponen machine learning](machine-learning-components.md) yang AWS disediakan untuk melakukan inferensi ML secara lokal menggunakan kerangka kerja [Deep Learning Runtime](https://github.com/neo-ai/neo-ai-dlr) atau Lite ML. TensorFlow ](https://www.tensorflow.org/lite/guide/python) Untuk informasi lebih lanjut tentang cara menjalankan inferensi ML pada perangkat Greengrass, lihat [Lakukan inferensi machine learning](perform-machine-learning-inference.md).

Untuk menjalankan tes kualifikasi ML, perangkat Anda yang sedang diuji harus memenuhi persyaratan berikut untuk men-deploy komponen machine learning.<a name="ml-component-requirements"></a>
+ Pada perangkat inti Greengrass yang menjalankan Amazon Linux 2 atau Ubuntu 18.04, [Pustaka GNU C](https://www.gnu.org/software/libc/) (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.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Untuk mengaktifkan tumpukan kamera lama**

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

       ```
       sudo raspi-config
       ```

    1. Pilih **Opsi Antarmuka**.

    1. Pilih **Kamera lama** untuk mengaktifkan tumpukan kamera lama.

    1. Reboot Raspberry Pi.

### Persyaratan kualifikasi HSM
<a name="idt-config-hsm-components"></a>

AWS IoT Greengrass menyediakan [komponen penyedia PKCS \$111](pkcs11-provider-component.md) untuk diintegrasikan dengan PKCS Hardware Security Module (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](set-config.md), disediakan, IDT akan memiliki informasi yang diperlukan untuk menjalankan tes kualifikasi fitur opsional ini.