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

Prasyarat untuk menjalankan rangkaian kualifikasi AWS IoT Greengrass

Bagian ini menjelaskan prasyarat untuk menggunakan AWS IoT Device Tester (IDT) untuk AWS IoT Greengrass.

Unduh versi terbaru AWS IoT Device Tester untuk AWS IoT Greengrass

Mengunduhversi terbaruIDT dan ekstrak perangkat lunak ke lokasi (<device-tester-extract-location>) pada sistem file Anda di mana Anda memiliki izin baca/tulis.

catatan

IDT tidak mendukung untuk dijalankan oleh beberapa pengguna dari lokasi bersama, seperti direktori NFS atau folder bersama jaringan Windows. Kami sarankan Anda mengekstraksi paket IDT ke drive lokal dan menjalankan biner IDT pada workstation lokal Anda.

Windows memiliki batasan panjang jalur 260 karakter. Jika Anda menggunakan Windows, ekstraksi IDT ke direktori root seperti C:\ atau D:\ agar jalur Anda tetap di bawah batas 260 karakter.

Unduh perangkat lunak AWS IoT Greengrass

IDT untuk V2 AWS IoT Greengrass menguji kompatibilitas perangkat Anda dengan versi AWS IoT Greengrass tertentu. Jalankan perintah berikut untuk mengunduh perangkat lunak inti AWS IoT Greengrass ke file bernama aws.greengrass.nucleus.zip. Ganti versi dengan versi komponen nukleus yang didukung untuk versi IDT Anda.

Linux or Unix
curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip > aws.greengrass.nucleus.zip
Windows Command Prompt (CMD)
curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip > aws.greengrass.nucleus.zip
PowerShell
iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip -OutFile aws.greengrass.nucleus.zip

Tempatkan file aws.greengrass.nucleus.zip yang sudah diunduh di folder <device-tester-extract-location>/products/.

catatan

Jangan menempatkan beberapa file dalam direktori ini untuk sistem operasi dan arsitektur yang sama.

Buat dan konfigurasi Akun AWS

Sebelum Anda dapat menggunakan AWS IoT Device Tester untuk V2 AWS IoT Greengrass, Anda harus melakukan langkah-langkah berikut:

  1. MenyiapkanAkun AWS. Jika Anda sudah memiliki Akun AWS, lewati ke langkah 2.

  2. Konfigurasikan izin untuk IDT.

Izin akun ini memungkinkan IDT untuk mengakses layanan AWS dan membuat sumber daya AWS, seperti objek AWS IoT dan komponen AWS IoT Greengrass, atas nama Anda.

Untuk membuat sumber daya ini, IDT untuk V2 AWS IoT Greengrass menggunakan kredensial AWS yang dikonfigurasi di file config.json untuk membuat panggilan API atas nama Anda. Sumber daya ini disediakan pada berbagai waktu selama tes.

catatan

Meskipun sebagian besar pengujian memenuhi syarat untuk Tingkat Gratis AWS, Anda harus menyediakan kartu kredit saat mendaftar Akun AWS. Untuk informasi selengkapnya, lihat Mengapa saya memerlukan metode pembayaran jika akun saya dilindungi oleh Tingkat Gratis?.

Langkah 1: Siapkan Akun AWS

Pada langkah ini, buat dan konfigurasikan Akun AWS. Jika Anda sudah memiliki akun Akun AWS, lewati ke Langkah 2: Mengkonfigurasi izin untuk IDT.

Jika Anda tidak memiliki Akun AWS, selesaikan langkah berikut untuk membuatnya.

Untuk mendaftar ke Akun AWS

  1. Buka https://portal.aws.amazon.com/billing/signup.

  2. Ikuti petunjuk online.

    Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon dan memasukkan kode verifikasi di keypad telepon.

Untuk membuat pengguna administrator untuk diri Anda sendiri dan menambahkan pengguna ke grup administrator (konsol)

  1. Masuk ke Konsol IAM sebagai pemilik akun dengan memilih Pengguna akar dan masukkan alamat email Akun AWS Anda. Di laman berikutnya, masukkan kata sandi Anda.

    catatan

    Kami sangat merekomendasikan agar Anda mematuhi praktik terbaik dalam menggunakan pengguna IAM Administrator yang mengikuti dan mengunci kredensial pengguna root dengan aman. Masuk sebagai pengguna akar hanya untuk melakukan beberapa tugas manajemen layanan dan akun.

  2. Di panel navigasi, pilih Users (Pengguna) lalu pilih Add users (Tambahkan pengguna).

  3. Untuk Nama pengguna, masukkan Administrator.

  4. Pilih kotak centang di samping AWS Management Console akses. Kemudian pilih Kata sandi khusus, lalu masukkan kata sandi baru Anda di kotak teks.

  5. (Opsional) Secara default, AWS mengharuskan pengguna baru untuk membuat kata sandi baru saat pertama kali masuk. Anda dapat mengosongkan kotak centang di samping Pengguna harus membuat kata sandi baru saat masuk berikutnya agar pengguna baru dapat mengatur ulang kata sandi mereka setelah masuk.

  6. Pilih Berikutnya: Izin.

  7. Di Bawah Atur izin, pilih Tambahkan pengguna ke grup.

  8. Pilih Create group (Buat kelompok).

  9. Di kotak dialog Buat kelompok, untuk Nama kelompok masukkan Administrators.

  10. Pilih Filter policies (Kebijakan filter), lalu pilih AWS managed - job function ( terkelola - fungsi tugas) untuk memfilter isi tabel.

  11. Dalam daftar kebijakan, pilih kotak centang untukAdministratorAccess. Lalu, pilih Create group (Buat grup).

    catatan

    Anda harus mengaktifkan akses pengguna IAM dan peran ke Penagihan sebelum Anda dapat menggunakan izin AdministratorAccess untuk mengakses konsol AWS Billing and Cost Management. Untuk melakukannya, ikuti petunjuk di langkah 1 dari tutorial tentang pendelegasian akses ke konsol penagihan.

  12. Kembali ke daftar grup, pilih kotak centang untuk grup baru Anda. Pilih Segarkan jika diperlukan untuk melihat kelompok dalam daftar.

  13. Pilih Berikutnya: Tanda.

  14. (Opsional) Tambahkan metadata ke pengguna dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag di IAM, lihat Menandai entitas IAM dalam Panduan Pengguna IAM.

  15. Pilih Berikutnya: Peninjauan untuk melihat daftar keanggotaan grup yang akan ditambahkan ke pengguna baru. Saat Anda siap untuk melanjutkan, pilih Create user (Buat pengguna).

Anda dapat menggunakan proses yang sama untuk membuat lebih banyak grup dan pengguna serta memberi pengguna Anda akses ke sumber daya Akun AWS Anda. Untuk mempelajari tentang menggunakan kebijakan yang membatasi izin pengguna untuk sumber daya AWS khusus, lihat Manajemen akses dan Contoh kebijakan.

Langkah 2: Mengkonfigurasi izin untuk IDT

Pada langkah ini, konfigurasikan izin yang digunakan oleh IDT untuk V2 AWS IoT Greengrass untuk menjalankan tes dan mengumpulkan data penggunaan IDT. Anda dapat menggunakanAWS Management Console atau AWS Command Line Interface (AWS CLI) untuk membuat kebijakan IAM dan pengguna tes untuk IDT, dan kemudian melampirkan kebijakan untuk pengguna. Jika Anda telah membuat pengguna tes untuk IDT, lewati ke Konfigurasikan perangkat Anda untuk menjalankan tes IDT.

  1. Masuklah ke konsol IAM.

  2. Buat kebijakan yang dikelola pelanggan yang memberikan izin untuk membuat peran dengan izin tertentu.

    1. Pada panel navigasi, pilih Kebijakan, lalu pilih Buat kebijakan.

    2. Pada tab JSON, ganti placeholder konten dengan kebijakan berikut.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/idt-*", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }, { "Sid":"lambdaResources", "Effect":"Allow", "Action":[ "lambda:CreateFunction", "lambda:PublishVersion", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource":[ "arn:aws:lambda:*:*:function:idt-*" ] }, { "Sid":"iotResources", "Effect":"Allow", "Action":[ "iot:CreateThing", "iot:DeleteThing", "iot:DescribeThing", "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:AddThingToThingGroup", "iot:RemoveThingFromThingGroup", "iot:AttachThingPrincipal", "iot:DetachThingPrincipal", "iot:UpdateCertificate", "iot:DeleteCertificate", "iot:CreatePolicy", "iot:AttachPolicy", "iot:DetachPolicy", "iot:DeletePolicy", "iot:GetPolicy", "iot:Publish", "iot:TagResource", "iot:ListThingPrincipals", "iot:ListAttachedPolicies", "iot:ListTargetsForPolicy" ], "Resource":[ "arn:aws:iot:*:*:thing/idt-*", "arn:aws:iot:*:*:thinggroup/idt-*", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*" ] }, { "Sid":"s3Resources", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:PutObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:CreateBucket", "s3:ListBucket", "s3:ListBucketVersions", "s3:DeleteBucket", "s3:PutObjectTagging", "s3:PutBucketTagging" ], "Resource":"arn:aws:s3::*:idt-*" }, { "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/idt-*" ] }, { "Sid":"idtExecuteAndCollectMetrics", "Effect":"Allow", "Action":[ "iot-device-tester:SendMetrics", "iot-device-tester:SupportedVersion", "iot-device-tester:LatestIdt", "iot-device-tester:CheckVersion", "iot-device-tester:DownloadTestSuite" ], "Resource":"*" }, { "Sid":"genericResources", "Effect":"Allow", "Action":[ "greengrass:*", "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:ListThings", "iot:DescribeEndpoint", "iot:CreateKeysAndCertificate" ], "Resource":"*" }, { "Sid":"iamResourcesUpdate", "Effect":"Allow", "Action":[ "iam:CreateRole", "iam:DeleteRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:TagPolicy", "iam:GetPolicy", "iam:ListAttachedRolePolicies", "iam:ListEntitiesForPolicy" ], "Resource":[ "arn:aws:iam::*:role/idt-*", "arn:aws:iam::*:policy/idt-*" ] } ] }
      catatan

      Jika Anda menggunakan PreInstalled, pastikan Anda memperbaruiiotResourcespernyataan untuk menambahkan izin ke nama benda dan grup hal yang dibuat selama instalasi Greengrass pada perangkat Anda yang sedang diuji (DUT).

      catatan

      Jika Anda ingin menggunakanperan IAM kustom sebagai peran pertukaran tokenuntuk perangkat Anda yang diuji, pastikan Anda memperbaruiroleAliasResourcesdanpassRoleForResourcespernyataan dalam kebijakan Anda untuk mengizinkan sumber daya peran IAM kustom Anda.

    3. Pilih Tinjau kebijakan.

    4. Untuk Nama, masukkan IDTGreengrassIAMPermissions. Di bawah Ringkasan, tinjau izin yang diberikan oleh kebijakan Anda.

    5. Pilih Buat kebijakan.

  3. Buat pengguna IAM dan lampirkan izin yang diperlukan oleh IDT untuk AWS IoT Greengrass.

    1. Buat pengguna IAM. Ikuti langkah 1 hingga 5 di Membuat pengguna IAM (konsol) di Panduan Pengguna IAM.

    2. Lampirkan izin untuk pengguna IAM Anda:

      1. Pada halaman Atur izin, pilih Lampirkan kebijakan yang ada ke pengguna secara langsung.

      2. Cari kebijakan IDTGreengrassIAMPermissions yang Anda buat pada langkah sebelumnya. Pilih kotak centang.

    3. Pilih Berikutnya: Tag.

    4. Pilih Berikutnya: Ulasanuntuk melihat ringkasan pilihan Anda.

    5. Pilih Buat pengguna.

    6. Untuk melihat access key pengguna (access key ID dan secret access key), pilih Tampilkan di samping setiap kata sandi dan kunci akses rahasia. Untuk menyimpan kunci akses, pilih Download.csv lalu simpan file ke lokasi yang aman. Anda menggunakan informasi ini nanti untuk file kredensial AWS.

  4. Langkah berikutnya: Mengkonfigurasiperangkat fisik.

  1. Pada komputer Anda, instal dan konfigurasikan AWS CLI jika belum dipasang. Ikuti langkah-langkah di Menginstal AWS CLI di Panduan Pengguna AWS Command Line Interface.

    catatan

    AWS CLI adalah alat sumber terbuka yang dapat Anda gunakan untuk berinteraksi dengan layanan AWS dari shell baris-perintah Anda.

  2. Buat kebijakan yang dikelola pelanggan yang memberikan izin untuk mengelola IDT dan peran AWS IoT Greengrass.

    1. Buka editor teks dan simpan isi kebijakan berikut dalam file JSON.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/idt-*", "Condition":{ "StringEquals":{ "iam:PassedToService":[ "iot.amazonaws.com", "lambda.amazonaws.com", "greengrass.amazonaws.com" ] } } }, { "Sid":"lambdaResources", "Effect":"Allow", "Action":[ "lambda:CreateFunction", "lambda:PublishVersion", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource":[ "arn:aws:lambda:*:*:function:idt-*" ] }, { "Sid":"iotResources", "Effect":"Allow", "Action":[ "iot:CreateThing", "iot:DeleteThing", "iot:DescribeThing", "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:AddThingToThingGroup", "iot:RemoveThingFromThingGroup", "iot:AttachThingPrincipal", "iot:DetachThingPrincipal", "iot:UpdateCertificate", "iot:DeleteCertificate", "iot:CreatePolicy", "iot:AttachPolicy", "iot:DetachPolicy", "iot:DeletePolicy", "iot:GetPolicy", "iot:Publish", "iot:TagResource", "iot:ListThingPrincipals", "iot:ListAttachedPolicies", "iot:ListTargetsForPolicy" ], "Resource":[ "arn:aws:iot:*:*:thing/idt-*", "arn:aws:iot:*:*:thinggroup/idt-*", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*" ] }, { "Sid":"s3Resources", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:PutObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:CreateBucket", "s3:ListBucket", "s3:ListBucketVersions", "s3:DeleteBucket", "s3:PutObjectTagging", "s3:PutBucketTagging" ], "Resource":"arn:aws:s3::*:idt-*" }, { "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/idt-*" ] }, { "Sid":"idtExecuteAndCollectMetrics", "Effect":"Allow", "Action":[ "iot-device-tester:SendMetrics", "iot-device-tester:SupportedVersion", "iot-device-tester:LatestIdt", "iot-device-tester:CheckVersion", "iot-device-tester:DownloadTestSuite" ], "Resource":"*" }, { "Sid":"genericResources", "Effect":"Allow", "Action":[ "greengrass:*", "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:ListThings", "iot:DescribeEndpoint", "iot:CreateKeysAndCertificate" ], "Resource":"*" }, { "Sid":"iamResourcesUpdate", "Effect":"Allow", "Action":[ "iam:CreateRole", "iam:DeleteRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:TagPolicy", "iam:GetPolicy", "iam:ListAttachedRolePolicies", "iam:ListEntitiesForPolicy" ], "Resource":[ "arn:aws:iam::*:role/idt-*", "arn:aws:iam::*:policy/idt-*" ] } ] }
      catatan

      Jika Anda ingin menggunakanperan IAM kustom sebagai peran pertukaran tokenuntuk perangkat Anda yang diuji, pastikan Anda memperbaruiroleAliasResourcesdanpassRoleForResourcespernyataan dalam kebijakan Anda untuk mengizinkan sumber daya peran IAM kustom Anda.

      catatan

      Jika Anda menggunakan PreInstalled, pastikan Anda memperbaruiiotResourcespernyataan untuk menambahkan izin ke nama benda dan grup hal yang dibuat selama instalasi Greengrass pada perangkat Anda yang sedang diuji (DUT).

    2. Jalankan perintah berikut untuk membuat kebijakan terkelola pelanggan bernama IDTGreengrassIAMPermissions. Ganti policy.json dengan path lengkap ke file JSON yang Anda buat di langkah sebelumnya.

      aws iam create-policy --policy-name IDTGreengrassIAMPermissions --policy-document file://policy.json
  3. Buat pengguna IAM dan lampirkan izin yang diperlukan oleh IDT untuk AWS IoT Greengrass.

    1. Buat pengguna IAM. Dalam contoh pengaturan ini, pengguna diberi nama IDTGreengrassUser.

      aws iam create-user --user-name IDTGreengrassUser
    2. Lampirkan kebijakan IDTGreengrassIAMPermissions yang Anda buat pada langkah 2 untuk pengguna IAM Anda. Ganti <account-id> dalam perintah tersebut dengan ID Akun AWS Anda.

      aws iam attach-user-policy --user-name IDTGreengrassUser --policy-arn arn:aws:iam::<account-id>:policy/IDTGreengrassIAMPermissions
  4. Buat secret access key untuk pengguna tersebut.

    aws iam create-access-key --user-name IDTGreengrassUser

    Simpan output tersebut di lokasi yang aman. Anda menggunakan informasi ini nanti untuk mengonfigurasi file kredensial AWS.

  5. Langkah berikutnya: Mengkonfigurasiperangkat fisik.