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 AWS IoT Greengrass kualifikasi
Sebelum menjalankan pengujian, Anda harus mengonfigurasi pengaturan untuk AWS kredensil dan perangkat di komputer host Anda.
Konfigurasikan AWS kredensil di config.json
Anda harus mengonfigurasikan kredensial pengguna IAM Anda di file
. Gunakan kredensil untuk IDT untuk pengguna AWS IoT Greengrass V2 yang dibuat di. Buat dan konfigurasikan Akun AWS Anda dapat menentukan kredensial Anda dengan salah satu dari dua cara berikut:<device_tester_extract_location>
/configs/config.json
-
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 AWS kredensi Anda ke credentials
file dalam format berikut:
[default] aws_access_key_id =
<your_access_key_id>
aws_secret_access_key =<your_secret_access_key>
Untuk mengonfigurasi IDT untuk AWS IoT Greengrass V2 untuk menggunakan AWS kredensil dari credentials
file Anda, edit config.json
file Anda sebagai berikut:
{ "awsRegion": "
region
", "auth": { "method": "file", "credentials": { "profile": "default" } } }
catatan
Jika Anda tidak menggunakan default
AWS profil, pastikan untuk mengubah nama profil di config.json
file 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 AWS IoT Greengrass V2 dapat menggunakan variabel AWS_ACCESS_KEY_ID
dan AWS_SECRET_ACCESS_KEY
lingkungan untuk menyimpan AWS kredensil Anda.
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
catatan
IDT v4.9.3 mendukung pengujianml
,, docker
dan fitur. streamManagement
IDT v4.9.4 dan versi yang lebih baru mendukung pengujian. docker
Jika Anda tidak ingin menguji fitur ini, atur nilai yang sesuai ke no
.
Selain AWS kredensil, IDT untuk AWS IoT Greengrass V2 membutuhkan informasi tentang perangkat tempat pengujian 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
Konfigurasikan userdata.json
IDT untuk AWS IoT Greengrass V2 juga membutuhkan informasi tambahan tentang lokasi artefak uji dan AWS IoT Greengrass perangkat 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. Untuk PreInstalled Greengrass, ini adalah jalur 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 PreInstalled Greengrass.catatan
Untuk informasi tentang versi inti Greengrass yang didukung untuk IDT, lihat. AWS IoT GreengrassVersi IDT terbaru untuk V2 AWS IoT Greengrass Untuk mengunduh perangkat lunak Greengrass terbaru, lihat Mengunduh perangkat lunak. AWS IoT Greengrass
PreInstalled
-
Fitur ini tersedia untuk IDT v4.5.8 dan versi yang lebih baru hanya pada perangkat Linux.
(Opsional) Ketika nilainya
ya
, IDT akan menganggap jalur yang disebutkan sebagai direktori tempat Greengrass diinstal.InstallationDirRootOnDevice
Untuk informasi selengkapnya tentang cara menginstal Greengrass di perangkat Anda, lihat. Instal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya otomatis Jika menginstal dengan penyediaan manual, sertakan langkah “Tambahkan AWS IoT benda ke grup hal baru atau yang sudah ada” saat membuat AWS IoT sesuatu secara manual. IDT mengasumsikan bahwa grup benda dan benda dibuat selama pengaturan instalasi. Pastikan bahwa nilai-nilai ini tercermin dalam
effectiveConfig.yaml
file. IDT memeriksa file dieffectiveConfig.yaml
bawah<InstallationDirRootOnDevice>/config/effectiveConfig.yaml
.Untuk menjalankan tes dengan HSM, pastikan bahwa
aws.greengrass.crypto.Pkcs11Provider
bidang diperbarui dieffectiveConfig.yaml
. -
GreengrassV2TokenExchangeRole
-
(Opsional) Peran IAM kustom yang ingin Anda gunakan sebagai peran pertukaran token yang diasumsikan perangkat yang diuji untuk berinteraksi dengan AWS sumber daya.
catatan
IDT menggunakan peran IAM khusus ini alih-alih membuat peran pertukaran token default selama pengujian dijalankan. Jika Anda menggunakan peran kustom, Anda dapat memperbarui izin IAM untuk pengguna pengujian untuk mengecualikan
iamResourcesUpdate
pernyataan yang memungkinkan pengguna membuat dan menghapus peran dan kebijakan IAM.Untuk informasi selengkapnya tentang membuat peran IAM kustom sebagai peran pertukaran token Anda, lihatKonfigurasikan peran pertukaran token khusus.
hsm
-
Fitur ini tersedia untuk IDT v4.5.1 dan yang lebih baru.
(Opsional) Informasi konfigurasi untuk pengujian dengan Modul Keamanan AWS IoT Greengrass 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 kessh
.Awas
Konfigurasi HSM dapat dianggap sebagai data sensitif jika modul keamanan perangkat keras dibagi antara IDT dan sistem lain. Dalam situasi ini, Anda dapat menghindari mengamankan nilai konfigurasi ini dalam teks biasa dengan menyimpannya dalam AWS parameter SecureString Parameter Store dan mengonfigurasi IDT untuk mengambilnya selama eksekusi pengujian. Untuk informasi selengkapnya, lihat Ambil konfigurasi dari AWS Parameter Store
hsm.greengrassPkcsPluginJar
-
Jalur lengkap ke komponen penyedia PKCS #11 yang Anda unduh ke mesin host IDT. AWS IoT Greengrass menyediakan komponen ini sebagai file JAR yang dapat Anda unduh untuk ditentukan sebagai plugin penyediaan 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 pustaka PKCS #11 yang disediakan oleh vendor modul keamanan perangkat keras (HSM) untuk berinteraksi dengan HSM.
hsm.slotId
-
ID slot yang digunakan untuk mengidentifikasi slot HSM tempat 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 mengautentikasi perangkat lunak AWS IoT Greengrass Core ke HSM.
catatan
Sebagai praktik keamanan terbaik, 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
-
Nama Sumber Daya Amazon (ARN) dari sertifikat perangkat yang diunggah di cloud. AWS IoT
Anda sebelumnya harus membuat sertifikat ini menggunakan kunci di HSM, mengimpornya ke HSM Anda, dan mengunggahnya ke cloud. AWS IoT Untuk informasi tentang membuat dan mengimpor sertifikat, lihat dokumentasi untuk HSM Anda.
Anda harus mengunggah sertifikat ke akun dan Wilayah yang sama yang Anda berikan di config.json. . Untuk informasi selengkapnya tentang mengunggah sertifikat AWS IoT, lihat Mendaftarkan sertifikat klien secara manual di Panduan AWS IoT Pengembang.
hsm.rootCAPath
-
(Opsional) Jalur lengkap pada mesin host IDT ke otoritas sertifikat root (CA) yang menandatangani sertifikat Anda. Ini diperlukan jika sertifikat di HSM Anda yang dibuat tidak ditandatangani oleh Amazon root CA.
Ambil konfigurasi dari AWS Parameter Store
AWS IoT Device Tester (IDT) menyertakan fitur opsional untuk mengambil nilai konfigurasi dari AWS Systems Manager Parameter Store. AWS Parameter Store memungkinkan penyimpanan konfigurasi yang aman dan terenkripsi. Saat dikonfigurasi, IDT dapat mengambil parameter dari AWS Parameter Store sebagai pengganti menyimpan parameter dalam teks biasa di dalam file. userdata.json
Ini berguna untuk semua data sensitif yang harus disimpan terenkripsi, seperti: kata sandi, pin, dan rahasia lainnya.
-
Untuk menggunakan fitur ini, Anda harus memperbarui izin yang digunakan dalam membuat pengguna IDT Anda untuk mengizinkan GetParameter tindakan pada parameter yang IDT dikonfigurasi untuk digunakan. Di bawah ini adalah contoh pernyataan izin yang dapat ditambahkan ke pengguna IDT. Untuk informasi selengkapnya, lihat AWS Systems Manager panduan pengguna.
{ "Sid":"parameterStoreResources", "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/IDT*" }
Izin di atas dikonfigurasi untuk memungkinkan pengambilan semua parameter dengan nama yang dimulai dengan
IDT
, dengan menggunakan karakter wildcard.*
Anda harus menyesuaikan ini dengan kebutuhan Anda sehingga IDT memiliki akses untuk mengambil parameter yang dikonfigurasi berdasarkan penamaan parameter yang Anda gunakan. -
Anda perlu menyimpan nilai konfigurasi Anda di dalam AWS Paramater Store. Ini dapat dilakukan dari AWS konsol atau dari AWS CLI. AWS Parameter Store memungkinkan Anda memilih penyimpanan terenkripsi atau tidak terenkripsi. Untuk penyimpanan nilai sensitif seperti rahasia, kata sandi, dan pin, Anda harus menggunakan opsi terenkripsi yang merupakan jenis parameter. SecureString Untuk mengunggah parameter menggunakan AWS CLI, Anda dapat menggunakan perintah berikut:
aws ssm put-parameter --name IDT-example-name --value IDT-example-value --type SecureString
Anda dapat memverifikasi bahwa parameter disimpan menggunakan perintah berikut. (Opsional) Gunakan
--with-decryption
bendera untuk mengambil parameter yang didekripsiSecureString .aws ssm get-parameter --name IDT-example-name
Menggunakan AWS CLI akan mengunggah parameter di AWS wilayah pengguna CLI saat ini dan IDT akan mengambil parameter dari wilayah yang dikonfigurasi.
config.json
Untuk memeriksa wilayah Anda dari AWS CLI, gunakan yang berikut ini:aws configure get region
-
Setelah Anda memiliki nilai konfigurasi di AWS Cloud, Anda dapat memperbarui nilai apa pun di dalam konfigurasi IDT untuk diambil dari Cloud. AWS Untuk melakukannya, Anda menggunakan placeholder dalam konfigurasi formulir IDT Anda
{{AWS.Parameter.parameter_name}}
untuk mengambil parameter dengan nama itu dari Parameter Store. AWSMisalnya, Anda ingin menggunakan
IDT-example-name
parameter dari Langkah 2 sebagai KeyLabel HSM dalam konfigurasi HSM Anda. Untuk melakukan ini, Anda dapat memperbaruiuserdata.json
sebagai berikut:"hsm": { "keyLabel": "{{AWS.Parameter.IDT-example-name}}", [...] }
IDT akan mengambil nilai parameter ini saat runtime yang disetel ke Langkah 2
IDT-example-value
. Konfigurasi ini mirip dengan pengaturan"keyLabel": "IDT-example-value"
tetapi, sebaliknya, nilai itu disimpan sebagai terenkripsi di AWS Cloud.