Konfigurasikan pengaturan IDT untuk menjalankan rangkaian kualifikasi AWS IoT Greengrass - AWS IoT Greengrass

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

Konfigurasikan pengaturan IDT untuk menjalankan rangkaian kualifikasi AWS IoT Greengrass

Sebelum menjalankan tes, Anda harus mengonfigurasi pengaturan untuk kredensial AWS dan perangkat di komputer host Anda.

Konfigurasikan kredensial AWS di config.json

Anda harus mengonfigurasikan kredensial pengguna IAM Anda di file <device_tester_extract_location>/configs/config.json. Gunakan kredensial untuk IDT untuk Pengguna V2 AWS IoT Greengrass yang dibuat di Buat dan konfigurasi Akun AWS. Anda dapat menentukan kredensial Anda dengan salah satu dari dua cara berikut:

  • Di file kredensial

  • Sebagai variabel lingkungan

IDT menggunakan file kredensials yang sama sebagai AWS CLI. Untuk informasi selengkapnya, lihat File konfigurasi dan kredensial.

Lokasi file kredensial itu bervariasi, tergantung pada sistem operasi yang Anda gunakan:

  • macOS, Linux: ~/.aws/credentials

  • Windows: C:\Users\UserName\.aws\credentials

Tambahkan kredensial AWS Anda ke file credentials dalam format berikut:

[default] aws_access_key_id = <your_access_key_id> aws_secret_access_key = <your_secret_access_key>

Untuk mengonfigurasi IDT untuk V2 AWS IoT Greengrass untuk menggunakan kredensial AWS dari file credentials Anda, edit file config.json Anda sebagai berikut:

{ "awsRegion": "region", "auth": { "method": "file", "credentials": { "profile": "default" } } }
catatan

Jika Anda tidak menggunakan profil default AWS, pastikan untuk mengubah nama profil di file config.json Anda. Untuk informasi selengkapnya, lihat Profil Bernama.

Variabel lingkungan adalah variabel yang dikelola oleh sistem operasi dan digunakan oleh perintah sistem. Variabel ini tidak tersimpan jika Anda menutup sesi SSH. IDT untuk V2 AWS IoT Greengrass dapat menggunakan variabel lingkungan AWS_ACCESS_KEY_ID dan AWS_SECRET_ACCESS_KEY untuk menyimpan kredensial AWS.

Untuk mengatur variabel ini di Linux, macOS, atau Unix, gunakan export:

export AWS_ACCESS_KEY_ID=<your_access_key_id> export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>

Untuk menetapkan variabel ini di Windows, gunakan set:

set AWS_ACCESS_KEY_ID=<your_access_key_id> set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>

Untuk mengonfigurasi IDT untuk menggunakan variabel lingkungan, edit bagian auth di file config.json Anda. Berikut ini contohnya:

{ "awsRegion": "region", "auth": { "method": "environment" } }

Konfigurasikan device.json

Selain kredensial AWS, IDT untuk V2 AWS IoT Greengrass membutuhkan informasi tentang perangkat tempat pengujian tersebut dijalankan. Contoh informasi antara lain alamat IP, informasi login, sistem operasi, dan arsitektur CPU.

Anda harus memberikan informasi ini dengan menggunakan templat device.json yang terletak di <device_tester_extract_location>/configs/device.json:

[ { "id": "<pool-id>", "sku": "<sku>", "features": [ { "name": "arch", "value": "x86_64 | armv6l | armv7l | aarch64" }, { "name": "ml", "value": "dlr | tensorflowlite | dlr,tensorflowlite | no" }, { "name": "docker", "value": "yes | no" }, { "name": "streamManagement", "value": "yes | no" }, { "name": "hsi", "value": "hsm | no" } ], "devices": [ { "id": "<device-id>", "operatingSystem": "Linux | Windows", "connectivity": { "protocol": "ssh", "ip": "<ip-address>", "port": 22, "publicKeyPath": "<public-key-path>", "auth": { "method": "pki | password", "credentials": { "user": "<user-name>", "privKeyPath": "/path/to/private/key", "password": "<password>" } } } } ] } ]
catatan

Tentukan privKeyPath hanya jika method diatur ke pki.

Tentukan password hanya jika method diatur ke password.

Semua properti yang berisi nilai wajib diisi seperti yang dijelaskan di sini:

id

ID alfanumerik yang ditetapkan pengguna yang secara unik mengidentifikasi kumpulan perangkat disebut kolam perangkat. Perangkat yang termasuk dalam suatu kolam harus memiliki perangkat keras yang identik. Ketika Anda menjalankan serangkaian tes, perangkat di kolam tersebut digunakan untuk memparalelkan beban kerja. Beberapa perangkat digunakan untuk menjalankan tes yang berbeda.

sku

Nilai alfanumerik yang secara unik mengidentifikasi perangkat yang diuji. SKU digunakan untuk melacak forum yang berkualitas.

catatan

Jika Anda ingin mencantumkan perangkat Anda di Katalog Perangkat AWS Partner, SKU yang Anda tentukan di sini harus sesuai dengan SKU yang Anda gunakan dalam proses pencantuman.

features

Rangkaian yang berisi fitur perangkat yang didukung. Semua fitur bersifat wajib.

arch

Arsitektur sistem operasi yang didukung yang divalidasi oleh oleh tes yang dijalankan. Nilai yang valid adalah:

  • x86_64

  • armv6l

  • armv7l

  • aarch64

ml

Memvalidasi bahwa perangkat tersebut memenuhi semua dependensi teknis yang diperlukan untuk menggunakan komponen machine learning (ML) yang disediakan oleh AWS.

Mengaktifkan fitur ini juga memvalidasibahwa perangkat dapat melakukan inferensi dengan menggunakanDeep Learning RuntimedanTensorFlow sedikitKerangka kerja ML.

Nilai yang valid adalah kombinasi dari dlr dan tensorflowlite, atau no.

docker

Memvalidasi bahwa perangkat tersebut memenuhi semua dependensi teknis yang diperlukan untuk menggunakan komponen manajer aplikasi Docker yang disediakan oleh AWS (aws.greengrass.DockerApplicationManager).

Mengaktifkan fitur ini juga memvalidasibahwa perangkat tersebut dapat mengunduh citra kontainer Docker dari Amazon ECR.

Nilai yang valid adalah kombinasi dari yes atau no.

streamManagement

Memvalidasi bahwa perangkat tersebut dapat mengunduh, menginstal, dan menjalankan perintah manajer pengaliran AWS IoT Greengrass.

Nilai yang valid adalah kombinasi dari yes atau no.

hsi

Memvalidasi bahwa perangkat dapat mengautentikasi koneksi keAWS IoTdanAWS IoT Greengrasslayanan yang menggunakan kunci privat dan sertifikat yang disimpan dalam modul keamanan perangkat keras (HSM). Tes ini juga memverifikasi bahwaAWS-disediakanKomponen penyedia PKCS #11dapat berinteraksi dengan HSM menggunakan pustaka PKCS #11 yang disediakan vendor. Untuk informasi selengkapnya, lihat Integrasi keamanan perangkat keras.

Nilai yang valid adalah hsm atau no.

catatan

IDT v4.2.0 dan versi yang lebih baru mendukung pengujian fitur ml, docker, dan streamManagement. Jika Anda tidak ingin menguji fitur ini, atur nilai yang sesuai ke no.

catatan

Mengujihsihanya tersedia dengan IDT v4.5.1 dan versi yang lebih baru.

devices.id

Pengenal unik yang ditetapkan pengguna untuk perangkat Anda.

devices.operatingSystem

Sistem operasi perangkat. Nilai yang didukung adalah Linux dan Windows.

connectivity.protocol

Protokol komunikasi yang digunakan untuk berkomunikasi dengan perangkat ini. Saat ini, satu-satunya nilai yang didukung adalah ssh untuk perangkat fisik.

connectivity.ip

Alamat IP perangkat yang sedang diuji.

Properti ini hanya berlaku jika connectivity.protocol diatur ke ssh.

connectivity.port

Tidak wajib. Jumlah port yang akan digunakan untuk koneksi SSH.

Nilai default-nya adalah 22.

Properti ini hanya berlaku jika connectivity.protocol diatur ke ssh.

connectivity.publicKeyPath

Tidak wajib. Jalur lengkap ke kunci publik yang digunakan untuk mengautentikasi koneksi ke perangkat yang sedang diuji.

Saat Anda menentukanpublicKeyPath, IDT memvalidasi kunci publik perangkat saat membuat koneksi SSH ke perangkat yang diuji. Jika nilai ini tidak ditentukan, IDT membuat koneksi SSH, tetapi tidak memvalidasi kunci publik perangkat.

Kami sangat menyarankan agar Anda menentukan jalur ke kunci publik, dan bahwa Anda menggunakan metode aman untuk mengambil kunci publik ini. Untuk klien SSH berbasis baris perintah standar, kunci publik disediakan diknown_hostsberkas. Jika Anda menentukan file kunci publik terpisah, file ini harus menggunakan format yang sama denganknown_hostsfile, yaitu, ip-address key-type public-key.

connectivity.auth

Informasi autentikasi untuk koneksi tersebut.

Properti ini hanya berlaku jika connectivity.protocol diatur ke ssh.

connectivity.auth.method

Metode autentikasi yang digunakan untuk mengakses perangkat melalui protokol konektivitas yang diberikan.

Nilai yang didukung adalah:

  • pki

  • password

connectivity.auth.credentials

Kredensial yang digunakan untuk autentikasi.

connectivity.auth.credentials.password

Kata sandi yang digunakan untuk masuk ke perangkat yang sedang diuji.

Nilai ini hanya berlaku jika connectivity.auth.method diatur ke password.

connectivity.auth.credentials.privKeyPath

Jalur lengkap ke kunci privat yang digunakan untuk masuk ke perangkat yang sedang diuji.

Nilai ini hanya berlaku jika connectivity.auth.method diatur ke pki.

connectivity.auth.credentials.user

Nama pengguna untuk masuk ke perangkat yang sedang diuji.

Konfigurasikan userdata.json

IDT untukAWS IoT GreengrassV2 juga membutuhkan informasi tambahan tentang lokasi artefak uji danAWS IoT Greengrassperangkat lunak.

Anda harus memberikan informasi ini dengan menggunakan templat userdata.json yang terletak di <device_tester_extract_location>/configs/userdata.json:

{ "TempResourcesDirOnDevice": "/path/to/temp/folder", "InstallationDirRootOnDevice": "/path/to/installation/folder", "GreengrassNucleusZip": "/path/to/aws.greengrass.nucleus.zip", "PreInstalled": "yes/no", "GreengrassV2TokenExchangeRole": "custom-iam-role-name", "hsm": { "greengrassPkcsPluginJar": "/path/to/aws.greengrass.crypto.Pkcs11Provider-latest.jar", "pkcs11ProviderLibrary": "/path/to/pkcs11-vendor-library", "slotId": "slot-id", "slotLabel": "slot-label", "slotUserPin": "slot-pin", "keyLabel": "key-label", "preloadedCertificateArn": "certificate-arn" "rootCA": "path/to/root-ca" } }

Semua properti yang berisi nilai wajib diisi seperti yang dijelaskan di sini:

TempResourcesDirOnDevice

Jalur lengkap ke folder sementara pada perangkat yang diuji untuk menyimpan artefak uji. Pastikan bahwa izin sudo tidak diperlukan untuk menulis ke direktori ini.

catatan

IDT menghapus isi folder ini ketika selesai menjalankan tes.

InstallationDirRootOnDevice

Jalur penuh ke folder pada perangkat tempat menginstal AWS IoT Greengrass. UntukPreInstalled Greengrass, ini adalah path ke direktori instalasi Greengrass.

Anda harus mengatur izin file yang diperlukan untuk folder ini. Jalankan perintah berikut untuk setiap folder di jalur instalasi.

sudo chmod 755 folder-name
GreengrassNucleusZip

Jalur penuh ke file ZIP inti Greengrass (greengrass-nucleus-latest.zip) pada komputer host Anda. Bidang ini tidak diperlukan untuk pengujian dengan PreInstalledGreengrass.

catatan

Untuk informasi tentang versi yang didukung dari inti Greengrass untuk IDT untukAWS IoT Greengrass, lihatVersi IDT terbaru untuk V2 AWS IoT Greengrass.

PreInstalled

Fitur ini tersedia untuk IDT v4.5.8 pada perangkat Linux saja.

(Opsional) Bila nilainyaya, IDT akan mengasumsikan jalur yang disebutkan dalamInstallationDirRootOnDevicemenjadi direktori tempat Greengrass diinstal.

Untuk informasi lebih lanjut tentang cara menginstal Greengrass di perangkat Anda, lihatInstal perangkat lunak inti AWS IoT Greengrass dengan penyediaan sumber daya otomatis. IDT mengasumsikan bahwa hal dan hal kelompok yang dibuat selama setup instalasi. Pastikan bahwa nilai-nilai ini tercermin dalameffectiveConfig.yamlberkas. IDT memeriksa fileeffectiveConfig.yamldi bawah<InstallationDirRootOnDevice>/config/effectiveConfig.yaml.

Untuk menjalankan tes dengan HSM, pastikanaws.greengrass.crypto.Pkcs11Providerbidang diperbarui dieffectiveConfig.yaml.

GreengrassV2TokenExchangeRole

(Opsional) Peran IAM kustom yang ingin Anda gunakan sebagai peran pertukaran token yang diasumsikan untuk berinteraksi dengan perangkat yang sedang diujiAWSsumber daya.

catatan

IDT menggunakan peran IAM kustom ini alih-alih membuat peran pertukaran token default selama pengujian dijalankan. Jika Anda menggunakan peran khusus, Anda dapat memperbaruiIzin IAM untuk pengguna pengujianuntuk mengecualikaniamResourcesUpdatepernyataan yang mengizinkan pengguna untuk membuat dan menghapus peran dan kebijakan IAM.

Untuk informasi lebih lanjut tentang membuat peran IAM kustom sebagai peran pertukaran token Anda, lihatKonfigurasikan peran pertukaran token kustom.

hsm

Fitur ini tersedia untuk IDT v4.5.1 dan yang lebih baru.

(Opsional) Informasi konfigurasi untuk pengujian denganAWS IoT GreengrassModul Keamanan Perangkat Keras (HSM). Jika tidak, hsm properti harus dihilangkan. Untuk informasi selengkapnya, lihat Integrasi keamanan perangkat keras.

Properti ini hanya berlaku jika connectivity.protocol diatur ke ssh.

hsm.greengrassPkcsPluginJar

Jalur lengkap keKomponen penyedia PKCS #11yang Anda unduh ke mesin host IDT.AWS IoT Greengrassmenyediakan komponen ini sebagai file JAR yang dapat Anda download untuk menentukan sebagai plugin provisioning selama instalasi. Anda dapat mengunduh versi terbaru dari file JAR komponen sebagai URL berikut:https://d2s8p88vqu9w66.cloudfront.net/releases/Pkcs11Provider/aws.greengrass.crypto.Pkcs11Provider-latest.jar.

hsm.pkcs11ProviderLibrary

Jalur lengkap ke perpustakaan PKCS #11 yang disediakan oleh vendor hardware security module (HSM) untuk berinteraksi dengan HSM.

hsm.slotId

Slot ID yang digunakan untuk mengidentifikasi slot HSM yang Anda memuat kunci dan sertifikat.

hsm.slotLabel

Label slot yang digunakan untuk mengidentifikasi slot HSM tempat Anda memuat kunci dan sertifikat.

hsm.slotUserPin

PIN pengguna yang digunakan IDT untuk mengautentikasiAWS IoT GreengrassPerangkat lunak inti ke HSM.

catatan

Sebagai praktik terbaik keamanan, jangan gunakan PIN pengguna yang sama pada perangkat produksi.

hsm.keyLabel

Label yang digunakan untuk mengidentifikasi kunci dalam modul perangkat keras. Kunci dan sertifikat harus menggunakan label kunci yang sama.

hsm.preloadedCertificateArn

Amazon Resource Name (ARN) dari sertifikat perangkat yang diunggah diAWS IoTcloud.

Anda harus sebelumnya menghasilkan sertifikat ini menggunakan kunci di HSM, mengimpornya ke HSM Anda, dan mengunggahnya keAWS IoTcloud. Untuk informasi tentang membuat dan mengimpor sertifikat, lihat dokumentasi untuk HSM Anda.

Anda harus mengunggah sertifikat ke akun dan Wilayah yang sama dengan yang Anda berikanconfig.json.. Untuk informasi lebih lanjut tentang pengunggahan sertifikatAWS IoT, lihatDaftarkan sertifikat klien secara manualdi dalamAWS IoTPanduan Pengembang.

hsm.rootCAPath

(Opsional) Jalur lengkap pada mesin host IDT ke otorisasi sertifikat akar (CA) yang menandatangani sertifikat Anda. Ini diperlukan jika sertifikat dalam HSM Anda yang dibuat tidak ditandatangani oleh Amazon root CA.