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

Unduh versi terbaru IDT 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. Mengatur sebuahAkun 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: Konfigurasikan izin untuk IDT.

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

Untuk mendaftar Akun AWS
  1. Buka https://portal.aws.amazon.com/billing/signup.

  2. Ikuti petunjuk secara online.

    Anda akan diminta untuk menerima panggilan telepon dan memasukkan kode verifikasi pada keypad telepon sebagai bagian dari prosedur pendaftaran.

    Saat Anda mendaftar Akun AWS, Pengguna root akun AWS akan dibuat. Pengguna root memiliki akses ke semua Layanan AWS dan sumber daya dalam akun. Sebagai praktik terbaik keamanan, tetapkan akses administratif ke pengguna administratif, dan hanya gunakan pengguna root untuk melakukan tugas yang memerlukan akses pengguna root.

Untuk membuat pengguna administrator, pilih salah satu opsi berikut.

Pilih salah satu cara untuk mengelola administrator Anda Untuk Oleh Anda juga bisa
Di Pusat Identitas IAM

(Direkomendasikan)

Gunakan kredensi jangka pendek untuk mengakses. AWS

Ini sejalan dengan praktik terbaik keamanan. Untuk informasi tentang praktik terbaik, lihat Praktik terbaik keamanan di IAM di Panduan Pengguna IAM.

Mengikuti petunjuk di Memulai di Panduan AWS IAM Identity Center Pengguna. Konfigurasikan akses terprogram dengan Mengonfigurasi AWS CLI yang akan digunakan AWS IAM Identity Center dalam AWS Command Line InterfacePanduan Pengguna.
Di IAM

(Tidak direkomendasikan)

Gunakan kredensi jangka panjang untuk mengakses. AWS Mengikuti petunjuk dalam Membuat pengguna admin IAM pertama Anda dan grup pengguna di Panduan Pengguna IAM. Konfigurasikan akses terprogram dengan Mengelola kunci akses untuk pengguna IAM di Panduan Pengguna IAM.

Langkah 2: Konfigurasikan 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. Jika Anda tidak menggunakan PreInstalled, pada tab JSON, ganti konten placeholder dengan kebijakan berikut. Jika Anda menggunakan PreInstalled, lanjutkan ke langkah 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", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "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-*", "arn:aws:iot:*:*:job/*" ] }, { "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-*" ] } ] }
    3. Jika Anda menggunakan PreInstalled, pada tab JSON, ganti konten placeholder dengan kebijakan berikut. Pastikan Anda:

      • Ganti ThingName dan ThingGroup dalam iotResources pernyataan dengan nama benda dan grup benda yang dibuat selama instalasi Greengrass di perangkat Anda yang sedang diuji (DUT) untuk menambahkan izin.

      • Ganti PassRole dan RoleAlias dalam roleAliasResources pernyataan dan pernyataan dengan peran passRoleForResources yang dibuat selama instalasi Greengrass di DUT Anda.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/passRole", "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", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "Resource":[ "arn:aws:iot:*:*:thing/thingName", "arn:aws:iot:*:*:thinggroup/thingGroup", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*", "arn:aws:iot:*:*:job/*" ] }, { "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/roleAlias", "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 menggunakan peran IAM kustom sebagai peran pertukaran token untuk perangkat yang sedang diuji, pastikan Anda memperbarui roleAliasResources pernyataan dan passRoleForResources pernyataan dalam kebijakan untuk mengizinkan sumber daya peran IAM kustom Anda.

    4. Pilih Tinjau kebijakan.

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

    6. 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 Selanjutnya: Menandai.

    4. Pilih Berikutnya: Tinjauan untuk 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: Konfigurasikan perangkat 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. Jika Anda tidak menggunakan PreInstalled, buka editor teks dan simpan konten kebijakan berikut dalam file JSON. Jika Anda menggunakan PreInstalled, lanjutkan ke langkah 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", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "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-*", "arn:aws:iot:*:*:job/*" ] }, { "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-*" ] } ] }
    2. Jika Anda menggunakan PreInstalled, buka editor teks dan simpan konten kebijakan berikut dalam file JSON. Pastikan Anda:

      • Ganti ThingName dan ThingGroup dalam iotResources pernyataan yang dibuat selama instalasi Greengrass pada perangkat Anda yang sedang diuji (DUT) untuk menambahkan izin.

      • Ganti PassRole dan RoleAlias dalam roleAliasResources pernyataan dan pernyataan dengan peran passRoleForResources yang dibuat selama instalasi Greengrass di DUT Anda.

      { "Version":"2012-10-17", "Statement":[ { "Sid":"passRoleForResources", "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/passRole", "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", "iot:ListThingGroupsForThing", "iot:ListThingsInThingGroup", "iot:CreateJob", "iot:DescribeJob", "iot:DescribeJobExecution", "iot:CancelJob" ], "Resource":[ "arn:aws:iot:*:*:thing/thingName", "arn:aws:iot:*:*:thinggroup/thingGroup", "arn:aws:iot:*:*:policy/idt-*", "arn:aws:iot:*:*:cert/*", "arn:aws:iot:*:*:topic/idt-*", "arn:aws:iot:*:*:job/*" ] }, { "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/roleAlias", "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 menggunakan peran IAM kustom sebagai peran pertukaran token untuk perangkat yang sedang diuji, pastikan Anda memperbarui roleAliasResources pernyataan dan passRoleForResources pernyataan dalam kebijakan untuk mengizinkan sumber daya peran IAM kustom Anda.

    3. 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: Konfigurasikan perangkat fisik.

Izin AWS IoT Device Tester

Kebijakan berikut menjelaskan AWS IoT Device Tester izin.

AWS IoT Device Testermemerlukan izin ini untuk memeriksa versi dan fitur pembaruan otomatis.

  • iot-device-tester:SupportedVersion

    Memberikan AWS IoT Device Tester izin untuk mengambil daftar produk yang didukung, rangkaian pengujian, dan versi IDT.

  • iot-device-tester:LatestIdt

    Memberikan AWS IoT Device Tester izin untuk mengambil versi IDT terbaru yang tersedia untuk diunduh.

  • iot-device-tester:CheckVersion

    Memberikan AWS IoT Device Tester izin untuk memeriksa kompatibilitas versi untuk IDT, suite pengujian, dan produk.

  • iot-device-tester:DownloadTestSuite

    Memberikan AWS IoT Device Tester izin untuk mengunduh pembaruan suite pengujian.

AWS IoT Device Testerjuga menggunakan izin berikut untuk pelaporan metrik opsional:

  • iot-device-tester:SendMetrics

    Memberikan izin AWS untuk mengumpulkan metrik tentang penggunaan AWS IoT Device Tester internal. Jika izin ini dihilangkan, metrik ini tidak akan dikumpulkan.