

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

# Instal perangkat lunak AWS IoT Greengrass Core dengan penyediaan AWS IoT armada
<a name="fleet-provisioning"></a>

[Fitur ini tersedia untuk v2.4.0 dan yang lebih baru dari komponen inti Greengrass.](greengrass-nucleus-component.md)

Dengan penyediaan AWS IoT armada, Anda dapat mengonfigurasi AWS IoT untuk menghasilkan dan mengirimkan sertifikat perangkat X.509 dan kunci pribadi dengan aman ke perangkat Anda saat terhubung untuk pertama kalinya. AWS IoT AWS IoT menyediakan sertifikat klien yang ditandatangani oleh otoritas sertifikat Amazon Root (CA). Anda juga dapat mengonfigurasi AWS IoT untuk menentukan grup hal, jenis benda, dan izin untuk perangkat inti Greengrass yang Anda sediakan dengan penyediaan armada. Anda menentukan *templat penyediaan* untuk menentukan bagaimana AWS IoT ketentuan setiap perangkat. Template penyediaan menentukan hal, kebijakan, dan sumber daya sertifikat yang akan dibuat untuk perangkat saat penyediaan. Untuk informasi selengkapnya, lihat [Templat penyediaan di Panduan AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html) *Pengembang*.

AWS IoT Greengrass menyediakan plugin penyediaan AWS IoT armada yang dapat Anda gunakan untuk menginstal perangkat lunak AWS IoT Greengrass Core menggunakan AWS sumber daya yang dibuat oleh penyediaan AWS IoT armada. Plugin penyediaan armada menggunakan *penyediaan berdasarkan klaim*. Perangkat menggunakan sertifikat klaim penyediaan dan kunci pribadi untuk mendapatkan sertifikat perangkat X.509 unik dan kunci pribadi yang dapat digunakan untuk operasi reguler. Anda dapat menyematkan sertifikat klaim dan kunci pribadi di setiap perangkat selama pembuatan, sehingga pelanggan Anda dapat mengaktifkan perangkat nanti ketika setiap perangkat online. Anda dapat menggunakan sertifikat klaim dan kunci pribadi yang sama untuk beberapa perangkat. Untuk informasi selengkapnya, lihat [Penyediaan berdasarkan klaim](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#claim-based) di Panduan *AWS IoT Core Pengembang*.

**catatan**  
Plugin penyediaan armada untuk [Greengrass nucleus](greengrass-nucleus-component.md) saat ini tidak mendukung penyimpanan kunci pribadi dan file sertifikat dalam modul keamanan perangkat keras (HSM). Untuk menggunakan HSM dengan inti [Greengrass](greengrass-nucleus-component.md), [instal AWS IoT Greengrass perangkat lunak Core dengan penyediaan manual](manual-installation.md). [Greengrass nucleus](greengrass-nucleus-lite-component.md) lite v2.5.0 dan yang lebih baru mendukung TPM dengan penyediaan armada secara asli.

Untuk menginstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan AWS IoT armada, Anda harus menyiapkan sumber daya Akun AWS yang AWS IoT digunakan untuk menyediakan perangkat inti Greengrass. Sumber daya ini mencakup templat penyediaan, sertifikat klaim, dan peran [IAM pertukaran token](device-service-role.md). Setelah Anda membuat sumber daya ini, Anda dapat menggunakannya kembali untuk menyediakan beberapa perangkat inti dalam armada. Untuk informasi selengkapnya, lihat [Siapkan penyediaan AWS IoT armada untuk perangkat inti Greengrass](fleet-provisioning-setup.md).

**penting**  <a name="install-greengrass-core-requirements-note"></a>
Sebelum Anda mengunduh perangkat lunak AWS IoT Greengrass Core, periksa apakah perangkat inti Anda memenuhi [persyaratan](greengrass-nucleus-component.md#greengrass-v2-requirements) untuk menginstal dan menjalankan perangkat lunak AWS IoT Greengrass Core v2.0.

**Topics**
+ [Prasyarat](#fleet-provisioning-prerequisites)
+ [Ambil titik akhir AWS IoT](#retrieve-iot-endpoints)
+ [Unduh sertifikat ke perangkat](#download-claim-certificates)
+ [Mengatur lingkungan perangkat](#set-up-device-environment)
+ [Unduh perangkat lunak AWS IoT Greengrass Inti](#download-greengrass-core-v2)
+ [Unduh plugin penyediaan AWS IoT armada](#download-fleet-provisioning-plugin)
+ [Instal perangkat lunak AWS IoT Greengrass Core](#run-greengrass-core-v2-installer-fleet)
+ [Siapkan penyediaan AWS IoT armada untuk perangkat inti Greengrass](fleet-provisioning-setup.md)
+ [Konfigurasikan AWS IoT plugin penyediaan armada](fleet-provisioning-configuration.md)
+ [AWS IoT changelog plugin penyediaan armada](fleet-provisioning-changelog.md)

## Prasyarat
<a name="fleet-provisioning-prerequisites"></a>

Untuk menginstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan AWS IoT armada, Anda harus terlebih dahulu [mengatur penyediaan AWS IoT armada untuk perangkat inti Greengrass](fleet-provisioning-setup.md). Setelah Anda menyelesaikan langkah-langkah ini sekali, Anda dapat menggunakan penyediaan armada untuk menginstal perangkat lunak AWS IoT Greengrass Core di sejumlah perangkat.

## Ambil titik akhir AWS IoT
<a name="retrieve-iot-endpoints"></a>

Dapatkan AWS IoT titik akhir untuk Anda Akun AWS, dan simpan untuk digunakan nanti. Perangkat Anda menggunakan titik akhir ini untuk tersambung ke AWS IoT. Lakukan hal-hal berikut:

1. Dapatkan titik akhir AWS IoT data untuk Anda Akun AWS.

   ```
   aws iot describe-endpoint --endpoint-type iot:Data-ATS
   ```

   Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

   ```
   {
     "endpointAddress": "device-data-prefix-ats.iot.us-west-2.amazonaws.com"
   }
   ```

1. Dapatkan titik akhir AWS IoT kredensial untuk Anda. Akun AWS

   ```
   aws iot describe-endpoint --endpoint-type iot:CredentialProvider
   ```

   Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

   ```
   {
     "endpointAddress": "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"
   }
   ```

## Unduh sertifikat ke perangkat
<a name="download-claim-certificates"></a>

Perangkat menggunakan sertifikat klaim dan kunci pribadi untuk mengautentikasi permintaannya untuk menyediakan AWS sumber daya dan memperoleh sertifikat perangkat X.509. Anda dapat menyematkan sertifikat klaim dan kunci pribadi ke dalam perangkat selama pembuatan, atau menyalin sertifikat dan kunci ke perangkat selama instalasi. Di bagian ini, Anda menyalin sertifikat klaim dan kunci pribadi ke perangkat. Anda juga mengunduh sertifikat Amazon Root Certificate Authority (CA) ke perangkat.

**penting**  <a name="installation-fleet-provisioning-secure-claim-private-keys"></a>
Kunci pribadi klaim penyediaan harus diamankan setiap saat, termasuk pada perangkat inti Greengrass. Kami menyarankan Anda menggunakan CloudWatch metrik dan log Amazon untuk memantau indikasi penyalahgunaan, seperti penggunaan sertifikat klaim yang tidak sah ke perangkat penyediaan. Jika Anda mendeteksi penyalahgunaan, nonaktifkan sertifikat klaim penyediaan sehingga tidak dapat digunakan untuk penyediaan perangkat. Untuk informasi selengkapnya, lihat [Pemantauan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/monitoring_overview.html) di *Panduan AWS IoT Core Pengembang*.  
Untuk membantu mengelola jumlah perangkat dengan lebih baik, dan perangkat mana, yang mendaftarkan diri di perangkat Anda Akun AWS, Anda dapat menentukan hook pra-penyediaan saat membuat templat penyediaan armada. Hook pra-penyediaan adalah AWS Lambda fungsi yang memvalidasi parameter template yang disediakan perangkat selama pendaftaran. Misalnya, Anda dapat membuat hook pra-penyediaan yang memeriksa ID perangkat terhadap database untuk memverifikasi bahwa perangkat memiliki izin untuk menyediakan. *Untuk informasi selengkapnya, lihat [Pra-penyediaan kait](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html) di Panduan Pengembang.AWS IoT Core *

**Untuk mengunduh sertifikat klaim ke perangkat**

1. Salin sertifikat klaim dan kunci pribadi ke perangkat. Jika SSH dan SCP diaktifkan pada komputer pengembangan dan perangkat, Anda dapat menggunakan `scp` perintah di komputer pengembangan Anda untuk mentransfer sertifikat klaim dan kunci pribadi. Contoh perintah berikut mentransfer file-file ini folder bernama `claim-certs` pada komputer pengembangan Anda ke perangkat. Ganti *device-ip-address* dengan alamat IP perangkat Anda.

   ```
   scp -r claim-certs/ device-ip-address:~
   ```

1. <a name="installation-create-greengrass-root-folder"></a>Buat folder akar Greengrass pada perangkat tersebut. Anda nantinya akan menginstal perangkat lunak AWS IoT Greengrass Core ke folder ini.
**catatan**  
Windows memiliki batasan panjang jalur 260 karakter. Jika Anda menggunakan Windows, gunakan folder root seperti `C:\greengrass\v2` atau `D:\greengrass\v2` untuk menjaga jalur komponen Greengrass di bawah batas 260 karakter.

------
#### [ Linux or Unix ]
   + Ganti `/greengrass/v2` dengan folder yang akan digunakan.

   ```
   sudo mkdir -p /greengrass/v2
   ```

------
#### [ Windows Command Prompt ]
   + Ganti *C:\$1greengrass\$1v2* dengan folder yang akan digunakan.

   ```
   mkdir C:\greengrass\v2
   ```

------
#### [ PowerShell ]
   + Ganti *C:\$1greengrass\$1v2* dengan folder yang akan digunakan.

   ```
   mkdir C:\greengrass\v2
   ```

------

1. <a name="installation-set-greengrass-root-folder-permissions"></a>(Hanya Linux) Atur izin induk folder root Greengrass.
   + Ganti */greengrass* dengan induk folder root.

   ```
   sudo chmod 755 /greengrass
   ```

1. Pindahkan sertifikat klaim ke folder root Greengrass.
   + Ganti `/greengrass/v2` atau *C:\$1greengrass\$1v2* dengan folder root Greengrass.

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

   ```
   sudo mv ~/claim-certs /greengrass/v2
   ```

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

   ```
   move %USERPROFILE%\claim-certs C:\greengrass\v2
   ```

------
#### [ PowerShell ]

   ```
   mv -Path ~\claim-certs -Destination C:\greengrass\v2
   ```

------

1. <a name="installation-download-root-ca-certificate"></a>Unduh sertifikat otoritas sertifikat root Amazon (CA). AWS IoT sertifikat dikaitkan dengan sertifikat CA root Amazon secara default.

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

   ```
   sudo curl -o /greengrass/v2/AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

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

   ```
   curl -o C:\greengrass\v2\\AmazonRootCA1.pem https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

------
#### [ PowerShell ]

   ```
   iwr -Uri https://www.amazontrust.com/repository/AmazonRootCA1.pem -OutFile C:\greengrass\v2\\AmazonRootCA1.pem
   ```

------

## Mengatur lingkungan perangkat
<a name="set-up-device-environment"></a>

Ikuti langkah-langkah di bagian ini untuk menyiapkan perangkat Linux atau Windows untuk digunakan sebagai perangkat AWS IoT Greengrass inti Anda.

### Siapkan perangkat Linux
<a name="set-up-linux-device-environment"></a><a name="set-up-linux-device-environment-procedure"></a>

**Untuk mengatur perangkat Linux untuk AWS IoT Greengrass V2**

1. Instal runtime Java, yang dibutuhkan perangkat lunak AWS IoT Greengrass Core untuk dijalankan. 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. Perintah berikut menunjukkan cara menginstal OpenJDK di perangkat Anda.
   + Untuk distribusi berbasis Debian atau berbasis Ubuntu:

     ```
     sudo apt install default-jdk
     ```
   + Untuk distribusi berbasis Red Hat:

     ```
     sudo yum install java-11-openjdk-devel
     ```
   + Untuk Amazon Linux 2:

     ```
     sudo amazon-linux-extras install java-openjdk11
     ```
   + Untuk Amazon Linux 2023:

     ```
     sudo dnf install java-11-amazon-corretto -y
     ```

   Ketika instalasi selesai, jalankan perintah berikut untuk memverifikasi bahwa Java berjalan pada perangkat Linux Anda.

   ```
   java -version
   ```

   Perintah mencetak versi Java yang berjalan pada perangkat. Misalnya, pada distribusi berbasis Debian, output mungkin terlihat mirip dengan sampel berikut.

   ```
   openjdk version "11.0.9.1" 2020-11-04
   OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2)
   OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
   ```

1. (Opsional) Buat pengguna dan grup sistem default yang menjalankan komponen pada perangkat. Anda juga dapat memilih untuk membiarkan penginstal perangkat lunak AWS IoT Greengrass Core membuat pengguna dan grup ini selama instalasi dengan argumen `--component-default-user` installer. Untuk informasi selengkapnya, lihat [Argumen penginstal](configure-installer.md).

   ```
   sudo useradd --system --create-home ggc_user
   sudo groupadd --system ggc_group
   ```

1. Verifikasi bahwa pengguna yang menjalankan perangkat lunak AWS IoT Greengrass Core (biasanya`root`), memiliki izin untuk menjalankan `sudo` dengan pengguna dan grup apa pun.

   1. Jalankan perintah berikut untuk membuka `/etc/sudoers` file.

      ```
      sudo visudo
      ```

   1. Verifikasi bahwa izin untuk pengguna terlihat seperti contoh berikut.

      ```
      root    ALL=(ALL:ALL) ALL
      ```

1. **(Opsional) Untuk [menjalankan fungsi Lambda kontainer](run-lambda-functions.md), Anda harus mengaktifkan [cgroups](https://en.wikipedia.org/wiki/Cgroups) v1, dan Anda harus mengaktifkan dan memasang memori dan perangkat cgroups.** Jika Anda tidak berencana untuk menjalankan fungsi Lambda kontainer, Anda dapat melewati langkah ini.

   Untuk mengaktifkan opsi cgroups ini, boot perangkat dengan parameter kernel Linux berikut.

   ```
   cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
   ```

   Untuk informasi tentang melihat dan menyetel parameter kernel untuk perangkat Anda, lihat dokumentasi untuk sistem operasi dan boot loader Anda. Ikuti instruksi untuk mengatur parameter kernel secara permanen.

1. Instal semua dependensi lain yang diperlukan pada perangkat Anda seperti yang ditunjukkan oleh daftar persyaratan di. [Persyaratan perangkat](greengrass-nucleus-component.md#greengrass-v2-requirements)

### Mengatur perangkat Windows
<a name="set-up-windows-device-environment"></a>

**catatan**  
[Fitur ini tersedia untuk v2.5.0 dan yang lebih baru dari komponen inti Greengrass.](greengrass-nucleus-component.md)<a name="set-up-windows-device-environment-procedure"></a>

**Untuk mengatur perangkat Windows untuk AWS IoT Greengrass V2**

1. Instal runtime Java, yang dibutuhkan perangkat lunak AWS IoT Greengrass Core untuk dijalankan. 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.

1. Periksa apakah Java tersedia pada variabel sistem [PATH](https://en.wikipedia.org/wiki/PATH_(variable)), dan tambahkan jika tidak. LocalSystem Akun menjalankan perangkat lunak AWS IoT Greengrass Core, jadi Anda harus menambahkan Java ke variabel sistem PATH alih-alih variabel pengguna PATH untuk pengguna Anda. Lakukan hal-hal berikut:

   1. Tekan tombol Windows untuk membuka menu mulai.

   1. Ketik **environment variables** untuk mencari opsi sistem dari menu mulai.

   1. Di hasil pencarian menu mulai, pilih **Edit variabel lingkungan sistem** untuk membuka jendela **Properti sistem**.

   1. Pilih **variabel Lingkungan...** untuk membuka jendela **Variabel Lingkungan**.

   1. Di bawah **Variabel sistem**, pilih **Path**, lalu pilih **Edit**. Di jendela **variabel Edit lingkungan**, Anda dapat melihat setiap jalur pada baris terpisah.

   1. Periksa apakah jalur ke `bin` folder instalasi Java ada. Jalannya mungkin terlihat mirip dengan contoh berikut.

      ```
      C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
      ```

   1. Jika `bin` folder instalasi Java hilang dari **Path**, pilih **Baru** untuk menambahkannya, lalu pilih **OK**.

1. <a name="set-up-windows-device-environment-open-cmd"></a>Buka Windows Command Prompt (`cmd.exe`) sebagai administrator.

1. <a name="set-up-windows-device-environment-create"></a>Buat pengguna default di LocalSystem akun di perangkat Windows. Ganti *password* dengan kata sandi yang aman.

   ```
   net user /add ggc_user password
   ```
**Tip**  <a name="windows-password-expiration-tip"></a>
Bergantung pada konfigurasi Windows Anda, kata sandi pengguna mungkin diatur untuk kedaluwarsa pada tanggal di masa mendatang. Untuk memastikan aplikasi Greengrass Anda terus beroperasi, lacak kapan kata sandi kedaluwarsa, dan perbarui sebelum kedaluwarsa. Anda juga dapat mengatur kata sandi pengguna agar tidak pernah kedaluwarsa.  
Untuk memeriksa kapan pengguna dan kata sandinya kedaluwarsa, jalankan perintah berikut.  

     ```
     net user ggc_user | findstr /C:expires
     ```
Untuk mengatur kata sandi pengguna agar tidak pernah kedaluwarsa, jalankan perintah berikut.  

     ```
     wmic UserAccount where "Name='ggc_user'" set PasswordExpires=False
     ```
Jika Anda menggunakan Windows 10 atau yang lebih baru di mana [`wmic`perintah tidak digunakan lagi](https://learn.microsoft.com/en-us/windows/win32/wmisdk/wmic), jalankan perintah berikut. PowerShell   

     ```
     Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = 'ggc_user'" | Set-CimInstance -Property @{PasswordExpires="False"}
     ```

1. <a name="set-up-windows-device-psexec"></a>Unduh dan instal [PsExecutilitas](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) dari Microsoft pada perangkat. 

1. <a name="set-up-windows-device-credentials"></a>Gunakan PsExec utilitas untuk menyimpan nama pengguna dan kata sandi untuk pengguna default dalam contoh Credential Manager untuk LocalSystem akun tersebut. Ganti *password* dengan kata sandi pengguna yang Anda tetapkan sebelumnya.

   ```
   psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /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 PsExec informasi pengguna default di akun. LocalSystem Menggunakan aplikasi Credential Manager menyimpan informasi ini di akun Windows dari pengguna yang saat ini masuk, bukan LocalSystem akun.

## Unduh perangkat lunak AWS IoT Greengrass Inti
<a name="download-greengrass-core-v2"></a>

Anda dapat mengunduh versi terbaru perangkat lunak AWS IoT Greengrass Core dari lokasi berikut:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/greengrass](https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip)-nucleus-latest.zip

**catatan**  
Anda dapat mengunduh versi tertentu dari perangkat lunak AWS IoT Greengrass Core dari lokasi berikut. Ganti *version* dengan versi yang akan diunduh.  

```
https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-version.zip
```

**Untuk mengunduh perangkat lunak AWS IoT Greengrass Core**

1. <a name="installation-download-ggc-software-step"></a>Di perangkat inti Anda, unduh perangkat lunak AWS IoT Greengrass Core ke file bernama`greengrass-nucleus-latest.zip`.

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

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
   ```

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

   ```
   curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip > greengrass-nucleus-latest.zip
   ```

------
#### [ PowerShell ]

   ```
   iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-nucleus-latest.zip -OutFile greengrass-nucleus-latest.zip
   ```

------

   <a name="core-software-license"></a>Dengan mengunduh perangkat lunak ini, Anda menyetujui [Perjanjian Lisensi Perangkat Lunak Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

1. <a name="verify-gg-nucleus-signature"></a>(Opsional) Untuk memverifikasi tanda tangan perangkat lunak inti Greengrass
**catatan**  
Fitur ini tersedia dengan Greengrass nucleus versi 2.9.5 dan yang lebih baru.

   1. Gunakan perintah berikut untuk memverifikasi tanda tangan artefak inti Greengrass Anda:

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

      ```
      jarsigner -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

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

      Nama file mungkin terlihat berbeda tergantung pada versi JDK yang Anda instal. Ganti *`jdk17.0.6_10`* dengan versi JDK yang Anda instal.

      ```
      "C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe" -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------
#### [ PowerShell ]

      Nama file mungkin terlihat berbeda tergantung pada versi JDK yang Anda instal. Ganti *`jdk17.0.6_10`* dengan versi JDK yang Anda instal.

      ```
      'C:\\Program Files\\Amazon Corretto\\jdk17.0.6_10\\bin\\jarsigner.exe' -verify -certs -verbose greengrass-nucleus-latest.zip
      ```

------

   1. `jarsigner`Pemanggilan menghasilkan output yang menunjukkan hasil verifikasi.

      1. Jika file zip inti Greengrass ditandatangani, output berisi pernyataan berikut:

         ```
         jar verified.
         ```

      1. Jika file zip inti Greengrass tidak ditandatangani, output berisi pernyataan berikut:

         ```
         jar is unsigned.
         ```

   1. Jika Anda memberikan `-certs` opsi Jarsigner bersama dengan `-verify` dan `-verbose` opsi, output juga menyertakan informasi sertifikat penandatangan terperinci.

1. <a name="installation-unzip-ggc-software-step"></a>Buka zip perangkat lunak AWS IoT Greengrass Core ke folder di perangkat Anda. Ganti *GreengrassInstaller* dengan folder yang ingin Anda gunakan.

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

   ```
   unzip greengrass-nucleus-latest.zip -d GreengrassInstaller && rm greengrass-nucleus-latest.zip
   ```

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

   ```
   mkdir GreengrassInstaller && tar -xf greengrass-nucleus-latest.zip -C GreengrassInstaller && del greengrass-nucleus-latest.zip
   ```

------
#### [ PowerShell ]

   ```
   Expand-Archive -Path greengrass-nucleus-latest.zip -DestinationPath .\\GreengrassInstaller
   rm greengrass-nucleus-latest.zip
   ```

------

1. (Opsional) Jalankan perintah berikut untuk melihat versi perangkat lunak AWS IoT Greengrass Core.

   ```
   java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
   ```

**penting**  <a name="installer-folder-2.4.0-warning"></a>
Jika Anda menginstal versi inti Greengrass lebih awal dari v2.4.0, jangan hapus folder ini setelah Anda menginstal perangkat lunak Core. AWS IoT Greengrass Perangkat lunak AWS IoT Greengrass Core menggunakan file dalam folder ini untuk dijalankan.  
Jika Anda mengunduh versi terbaru perangkat lunak, Anda menginstal v2.4.0 atau yang lebih baru, dan Anda dapat menghapus folder ini setelah Anda menginstal perangkat lunak AWS IoT Greengrass Core.

## Unduh plugin penyediaan AWS IoT armada
<a name="download-fleet-provisioning-plugin"></a>

Anda dapat mengunduh versi terbaru plugin penyediaan AWS IoT armada dari lokasi berikut:
+ [https://d2s8p88vqu9w66.cloudfront. net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim](https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar)-latest.jar

**catatan**  
Anda dapat mengunduh versi tertentu dari plugin penyediaan AWS IoT armada dari lokasi berikut. Ganti *version* dengan versi yang akan diunduh. Untuk informasi selengkapnya tentang setiap versi plugin penyediaan armada, lihat. [AWS IoT changelog plugin penyediaan armada](fleet-provisioning-changelog.md)  

```
https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-version.jar
```

Plugin penyediaan armada adalah open source. Untuk melihat kode sumbernya, lihat [plugin penyediaan AWS IoT armada](https://github.com/aws-greengrass/aws-greengrass-fleet-provisioning-by-claim) di. GitHub

**Untuk mengunduh plugin penyediaan AWS IoT armada**
+ Di perangkat Anda, unduh plugin penyediaan AWS IoT armada ke file bernama. `aws.greengrass.FleetProvisioningByClaim.jar` Ganti *GreengrassInstaller* dengan folder yang ingin Anda gunakan.

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

  ```
  curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
  ```

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

  ```
  curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar > GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
  ```

------
#### [ PowerShell ]

  ```
  iwr -Uri https://d2s8p88vqu9w66.cloudfront.net/releases/aws-greengrass-FleetProvisioningByClaim/fleetprovisioningbyclaim-latest.jar -OutFile GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar
  ```

------

  <a name="core-software-license"></a>Dengan mengunduh perangkat lunak ini, Anda menyetujui [Perjanjian Lisensi Perangkat Lunak Greengrass Core](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf).

## Instal perangkat lunak AWS IoT Greengrass Core
<a name="run-greengrass-core-v2-installer-fleet"></a>

Jalankan penginstal dengan argumen yang menentukan tindakan berikut:
+ Instal dari file konfigurasi sebagian yang menetapkan untuk menggunakan plugin penyediaan armada untuk menyediakan sumber daya. AWS Perangkat lunak AWS IoT Greengrass Core menggunakan file konfigurasi yang menentukan konfigurasi setiap komponen Greengrass pada perangkat. Penginstal membuat file konfigurasi lengkap dari file konfigurasi paral yang Anda sediakan dan AWS sumber daya yang dibuat oleh plugin penyediaan armada.
+ <a name="install-argument-component-default-user"></a>Tentukan untuk menggunakan pengguna `ggc_user` sistem untuk menjalankan komponen perangkat lunak pada perangkat inti. Pada perangkat Linux, perintah ini juga menentukan untuk menggunakan grup `ggc_group` sistem, dan penginstal membuat pengguna dan grup sistem untuk Anda.
+ <a name="install-argument-system-service"></a>Siapkan perangkat lunak AWS IoT Greengrass Core sebagai layanan sistem yang berjalan saat boot. Pada perangkat Linux, ini membutuhkan sistem init [Systemd](https://en.wikipedia.org/wiki/Systemd).
**penting**  <a name="windows-system-service-requirement-important-note"></a>
Pada perangkat inti Windows, Anda harus mengatur perangkat lunak AWS IoT Greengrass inti sebagai layanan sistem.

Untuk informasi lebih lanjut tentang argumen yang dapat Anda tentukan, lihat [Argumen penginstal](configure-installer.md).

**catatan**  
<a name="jvm-tuning-note"></a>Jika Anda menjalankan AWS IoT Greengrass perangkat dengan memori terbatas, Anda dapat mengontrol jumlah memori yang digunakan perangkat lunak AWS IoT Greengrass Core. Untuk mengontrol alokasi memori, Anda dapat mengatur pilihan ukuran tumpukan JVM di konfigurasi parameter `jvmOptions` dalam komponen nukleus anda. Untuk informasi selengkapnya, lihat [Kontrol alokasi memori dengan opsi JVM](configure-greengrass-core-v2.md#jvm-tuning).

**Untuk menginstal perangkat lunak AWS IoT Greengrass Core**

1. <a name="installer-check-greengrass-core-software-version"></a>Periksa versi perangkat lunak AWS IoT Greengrass inti.
   + Ganti *GreengrassInstaller* dengan path ke folder yang berisi perangkat lunak.

   ```
   java -jar ./GreengrassInstaller/lib/Greengrass.jar --version
   ```

1. Gunakan editor teks untuk membuat file konfigurasi bernama `config.yaml` yang akan disediakan ke penginstal.

   <a name="nano-command-intro"></a>Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

   ```
   nano GreengrassInstaller/config.yaml
   ```

   Salin konten YAML berikut ke dalam file. File konfigurasi sebagian ini menentukan parameter untuk plugin penyediaan armada. Untuk informasi selengkapnya tentang opsi yang dapat Anda tentukan, lihat[Konfigurasikan AWS IoT plugin penyediaan armada](fleet-provisioning-configuration.md).

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

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "2.17.0"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "/greengrass/v2"
         awsRegion: "us-west-2"
         iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com"
         iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"
         iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias"
         provisioningTemplate: "GreengrassFleetProvisioningTemplate"
         claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt"
         claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key"
         rootCaPath: "/greengrass/v2/AmazonRootCA1.pem"
         templateParameters:
           ThingName: "MyGreengrassCore"
           ThingGroupName: "MyGreengrassCoreGroup"
   ```

------
#### [ Windows ]

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "2.17.0"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "C:\\greengrass\\v2"
         awsRegion: "us-west-2"
         iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com"
         iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"
         iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias"
         provisioningTemplate: "GreengrassFleetProvisioningTemplate"
         claimCertificatePath: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt"
         claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key"
         rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem"
         templateParameters:
           ThingName: "MyGreengrassCore"
           ThingGroupName: "MyGreengrassCoreGroup"
   ```

------

   Kemudian, lakukan hal berikut:
   + Ganti *2.17.0* dengan versi perangkat lunak AWS IoT Greengrass Core.
   + Ganti setiap instance dari `/greengrass/v2` atau *C:\$1greengrass\$1v2* dengan folder root Greengrass.
**catatan**  
Pada perangkat Windows, Anda harus menentukan pemisah jalur sebagai garis miring terbalik ganda (`\\`), seperti. `C:\\greengrass\\v2`
   + Ganti *us-west-2* dengan AWS Wilayah tempat Anda membuat templat penyediaan dan sumber daya lainnya.
   + Ganti `iotDataEndpoint` dengan titik akhir AWS IoT data Anda.
   + Ganti `iotCredentialEndpoint` dengan titik akhir AWS IoT kredensial Anda.
   + Ganti *GreengrassCoreTokenExchangeRoleAlias* dengan nama alias peran pertukaran token.
   + Ganti *GreengrassFleetProvisioningTemplate* dengan nama template penyediaan armada.
   + Ganti `claimCertificatePath` dengan jalur ke sertifikat klaim pada perangkat.
   + Ganti `claimCertificatePrivateKeyPath` dengan jalur ke kunci pribadi sertifikat klaim pada perangkat.
   + Ganti parameter template (`templateParameters`) dengan nilai yang akan digunakan untuk menyediakan perangkat. Contoh ini mengacu pada [contoh template](fleet-provisioning-setup.md#example-fleet-provisioning-template) yang mendefinisikan `ThingName` dan `ThingGroupName` parameter.
**catatan**  
Dalam file konfigurasi ini, Anda dapat menyesuaikan opsi konfigurasi lain seperti port dan proxy jaringan yang akan digunakan, seperti yang ditunjukkan pada contoh berikut. Untuk informasi selengkapnya, lihat [konfigurasi nukleus Greengrass](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration).  

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "2.17.0"
       configuration:
         mqtt:
           port: 443
         greengrassDataPlanePort: 443
         networkProxy:
           noProxyAddresses: "http://192.168.0.1,www.example.com"
           proxy:
             url: "http://my-proxy-server:1100"
             username: "Mary_Major"
             password: "pass@word1357"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "/greengrass/v2"
         awsRegion: "us-west-2"
         iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com"
         iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"
         iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias"
         provisioningTemplate: "GreengrassFleetProvisioningTemplate"
         claimCertificatePath: "/greengrass/v2/claim-certs/claim.pem.crt"
         claimCertificatePrivateKeyPath: "/greengrass/v2/claim-certs/claim.private.pem.key"
         rootCaPath: "/greengrass/v2/AmazonRootCA1.pem"
         templateParameters:
           ThingName: "MyGreengrassCore"
           ThingGroupName: "MyGreengrassCoreGroup"
         mqttPort: 443
         proxyUrl: "http://my-proxy-server:1100"
         proxyUserName: "Mary_Major"
         proxyPassword: "pass@word1357"
   ```

   ```
   ---
   services:
     aws.greengrass.Nucleus:
       version: "2.17.0"
       configuration:
         mqtt:
           port: 443
         greengrassDataPlanePort: 443
         networkProxy:
           noProxyAddresses: "http://192.168.0.1,www.example.com"
           proxy:
             url: "http://my-proxy-server:1100"
             username: "Mary_Major"
             password: "pass@word1357"
     aws.greengrass.FleetProvisioningByClaim:
       configuration:
         rootPath: "C:\\greengrass\\v2"
         awsRegion: "us-west-2"
         iotDataEndpoint: "device-data-prefix-ats.iot.us-west-2.amazonaws.com"
         iotCredentialEndpoint: "device-credentials-prefix.credentials.iot.us-west-2.amazonaws.com"
         iotRoleAlias: "GreengrassCoreTokenExchangeRoleAlias"
         provisioningTemplate: "GreengrassFleetProvisioningTemplate"
         claimCertificatePath: "C:\\greengrass\\v2\\claim-certs\\claim.pem.crt"
         claimCertificatePrivateKeyPath: "C:\\greengrass\\v2\\claim-certs\\claim.private.pem.key"
         rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem"
         templateParameters:
           ThingName: "MyGreengrassCore"
           ThingGroupName: "MyGreengrassCoreGroup"
         mqttPort: 443
         proxyUrl: "http://my-proxy-server:1100"
         proxyUserName: "Mary_Major"
         proxyPassword: "pass@word1357"
   ```
Untuk menggunakan proxy HTTPS, Anda harus menggunakan versi 1.1.0 atau yang lebih baru dari plugin penyediaan armada. Anda juga harus menentukan bagian `rootCaPath` bawah`system`, seperti yang ditunjukkan pada contoh berikut.  

   ```
   ---
   system:
     rootCaPath: "/greengrass/v2/AmazonRootCA1.pem"
   services:
     ...
   ```

   ```
   ---
   system:
     rootCaPath: "C:\\greengrass\\v2\\AmazonRootCA1.pem"
   services:
     ...
   ```

1. Jalankan pemasang. Tentukan `--trusted-plugin` untuk menyediakan plugin penyediaan armada, dan tentukan `--init-config` untuk menyediakan file konfigurasi.
   + Ganti `/greengrass/v2` dengan folder root Greengrass.
   + Ganti setiap instance *GreengrassInstaller* dengan folder tempat Anda membongkar penginstal.

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

   ```
   sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \
     -jar ./GreengrassInstaller/lib/Greengrass.jar \
     --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar \
     --init-config ./GreengrassInstaller/config.yaml \
     --component-default-user ggc_user:ggc_group \
     --setup-system-service true
   ```

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

   ```
   java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" ^
     -jar ./GreengrassInstaller/lib/Greengrass.jar ^
     --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar ^
     --init-config ./GreengrassInstaller/config.yaml ^
     --component-default-user ggc_user ^
     --setup-system-service true
   ```

------
#### [ PowerShell ]

   ```
   java -Droot="C:\greengrass\v2" "-Dlog.store=FILE" `
     -jar ./GreengrassInstaller/lib/Greengrass.jar `
     --trusted-plugin ./GreengrassInstaller/aws.greengrass.FleetProvisioningByClaim.jar `
     --init-config ./GreengrassInstaller/config.yaml `
     --component-default-user ggc_user `
     --setup-system-service true
   ```

------
**penting**  <a name="windows-system-service-installer-argument-important-note"></a>
Pada perangkat inti Windows, Anda harus menentukan `--setup-system-service true` untuk mengatur perangkat lunak AWS IoT Greengrass inti sebagai layanan sistem.

   <a name="installer-setup-system-service-output-message"></a>Jika Anda menentukan `--setup-system-service true`, penginstal akan mencetak `Successfully set up Nucleus as a system service` jika ia mengatur dan menjalankan perangkat lunak sebagai layanan. Jika tidak, installer tersebut tidak akan menghasilkan pesan apa pun jika ia berhasil menginstal perangkat lunak tersebut.
**catatan**  <a name="installer-deploy-dev-tools-without-provision"></a>
Anda tidak dapat menggunakan argumen `deploy-dev-tools` untuk men-deploy alat pengembangan lokal ketika Anda menjalankan penginstal tersebut tanpa argumen `--provision true`. Untuk informasi tentang cara men-deploy Greengrass CLI secara langsung pada perangkat Anda, lihat [Antarmuka Baris Perintah Greengrass](gg-cli.md).

1. <a name="installer-verify-installation"></a>Verifikasi instalasi dengan melihat file di folder root.

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

   ```
   ls /greengrass/v2
   ```

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

   ```
   dir C:\greengrass\v2
   ```

------
#### [ PowerShell ]

   ```
   ls C:\greengrass\v2
   ```

------

   Jika penginstalan berhasil, folder akar berisi beberapa folder, seperti `config`, `packages`, dan `logs`.

<a name="install-greengrass-core-run-software"></a>Jika Anda menginstal perangkat lunak AWS IoT Greengrass Core sebagai layanan sistem, penginstal menjalankan perangkat lunak untuk Anda. Jika tidak, Anda harus menjalankan perangkat lunak itu secara manual. Untuk informasi selengkapnya, lihat [Jalankan perangkat lunak AWS IoT Greengrass Core](run-greengrass-core-v2.md).

<a name="install-greengrass-core-next-steps-intro"></a>Untuk informasi selengkapnya tentang cara mengkonfigurasi dan menggunakan perangkat lunak dan AWS IoT Greengrass, lihat berikut ini:<a name="install-greengrass-core-next-steps-links"></a>
+ [Konfigurasikan perangkat lunak AWS IoT Greengrass Inti](configure-greengrass-core-v2.md)
+ [Kembangkan AWS IoT Greengrass komponen](develop-greengrass-components.md)
+ [Menyebarkan AWS IoT Greengrass komponen ke perangkat](manage-deployments.md)
+ [Antarmuka Baris Perintah Greengrass](gg-cli.md)

# Siapkan penyediaan AWS IoT armada untuk perangkat inti Greengrass
<a name="fleet-provisioning-setup"></a>

Untuk [menginstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan armada](fleet-provisioning.md), Anda harus terlebih dahulu menyiapkan sumber daya berikut di perangkat Anda. Akun AWS Sumber daya ini memungkinkan perangkat untuk mendaftarkan diri AWS IoT dan beroperasi sebagai perangkat inti Greengrass. Ikuti langkah-langkah di bagian ini sekali untuk membuat dan mengonfigurasi sumber daya ini di bagian Anda Akun AWS.
+ Peran IAM pertukaran token, yang digunakan perangkat inti untuk mengotorisasi panggilan ke AWS layanan.
+ Alias AWS IoT peran yang menunjuk ke peran pertukaran token.
+ (Opsional) AWS IoT Kebijakan, yang digunakan perangkat inti untuk mengotorisasi panggilan ke AWS IoT dan AWS IoT Greengrass layanan. AWS IoT Kebijakan ini harus mengizinkan `iot:AssumeRoleWithCertificate` izin untuk alias AWS IoT peran yang menunjuk ke peran pertukaran token.

  Anda dapat menggunakan satu AWS IoT kebijakan untuk semua perangkat inti di armada Anda, atau Anda dapat mengonfigurasi templat penyediaan armada untuk membuat AWS IoT kebijakan untuk setiap perangkat inti.
+  AWS IoT Template penyediaan armada. Template ini harus menentukan yang berikut:<a name="installation-fleet-provisioning-template-requirements"></a>
  + Sumber daya AWS IoT sesuatu. Anda dapat menentukan daftar grup benda yang ada untuk menyebarkan komponen ke setiap perangkat saat online.
  + Sumber daya AWS IoT kebijakan. Sumber daya ini dapat menentukan salah satu properti berikut:
    + Nama AWS IoT kebijakan yang ada. Jika Anda memilih opsi ini, perangkat inti yang Anda buat dari templat ini menggunakan AWS IoT kebijakan yang sama, dan Anda dapat mengelola izinnya sebagai armada.
    + Dokumen AWS IoT kebijakan. Jika Anda memilih opsi ini, setiap perangkat inti yang Anda buat dari templat ini menggunakan AWS IoT kebijakan unik, dan Anda dapat mengelola izin untuk setiap perangkat inti individual.
  + Sumber daya AWS IoT sertifikat. Sumber daya sertifikat ini harus menggunakan `AWS::IoT::Certificate::Id` parameter untuk melampirkan sertifikat ke perangkat inti. Untuk informasi selengkapnya, lihat [Just-in-time penyediaan di Panduan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/jit-provisioning.html) *Pengembang*.
+ Sertifikat klaim AWS IoT penyediaan dan kunci pribadi untuk templat penyediaan armada. Anda dapat menyematkan sertifikat dan kunci pribadi ini di perangkat selama pembuatan, sehingga perangkat dapat mendaftar dan menyediakan sendiri ketika mereka online.
**penting**  <a name="installation-fleet-provisioning-secure-claim-private-keys"></a>
Kunci pribadi klaim penyediaan harus diamankan setiap saat, termasuk pada perangkat inti Greengrass. Kami menyarankan Anda menggunakan CloudWatch metrik dan log Amazon untuk memantau indikasi penyalahgunaan, seperti penggunaan sertifikat klaim yang tidak sah ke perangkat penyediaan. Jika Anda mendeteksi penyalahgunaan, nonaktifkan sertifikat klaim penyediaan sehingga tidak dapat digunakan untuk penyediaan perangkat. Untuk informasi selengkapnya, lihat [Pemantauan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/monitoring_overview.html) di *Panduan AWS IoT Core Pengembang*.  
Untuk membantu mengelola jumlah perangkat dengan lebih baik, dan perangkat mana, yang mendaftarkan diri di perangkat Anda Akun AWS, Anda dapat menentukan hook pra-penyediaan saat membuat templat penyediaan armada. Hook pra-penyediaan adalah AWS Lambda fungsi yang memvalidasi parameter template yang disediakan perangkat selama pendaftaran. Misalnya, Anda dapat membuat hook pra-penyediaan yang memeriksa ID perangkat terhadap database untuk memverifikasi bahwa perangkat memiliki izin untuk menyediakan. *Untuk informasi selengkapnya, lihat [Pra-penyediaan kait](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html) di Panduan Pengembang.AWS IoT Core *
+  AWS IoT Kebijakan yang Anda lampirkan ke sertifikat klaim penyediaan untuk mengizinkan perangkat mendaftar dan menggunakan templat penyediaan armada.

**Topics**
+ [Buat peran pertukaran token](#create-token-exchange-role)
+ [Buat AWS IoT kebijakan](#create-iot-policy)
+ [Buat templat penyediaan armada](#create-provisioning-template)
+ [Membuat sertifikat klaim penyediaan dan kunci pribadi](#create-claim-certificates)

## Buat peran pertukaran token
<a name="create-token-exchange-role"></a>

<a name="installation-create-token-exchange-role-intro"></a>Perangkat inti Greengrass menggunakan peran layanan IAM, yang disebut peran *pertukaran token, untuk mengotorisasi* panggilan ke layanan. AWS Perangkat menggunakan penyedia AWS IoT kredensil untuk mendapatkan AWS kredensil sementara untuk peran ini, yang memungkinkan perangkat berinteraksi, mengirim log ke Amazon Log AWS IoT, dan mengunduh CloudWatch artefak komponen khusus dari Amazon S3. Untuk informasi selengkapnya, lihat [Otorisasi perangkat inti untuk berinteraksi dengan layanan AWS](device-service-role.md).

<a name="installation-create-token-exchange-role-alias-intro"></a>Anda menggunakan *alias AWS IoT peran* untuk mengonfigurasi peran pertukaran token untuk perangkat inti Greengrass. Alias peran memungkinkan Anda mengubah peran pertukaran token untuk suatu perangkat tetapi menjaga konfigurasi perangkat tetap sama. Untuk informasi selengkapnya, lihat [Mengotorisasi panggilan langsung ke layanan AWS](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) di *Panduan Developer AWS IoT Core *.

Di bagian ini, Anda membuat peran IAM pertukaran token dan alias AWS IoT peran yang menunjuk ke peran tersebut. Jika Anda telah menyiapkan perangkat inti Greengrass, Anda dapat menggunakan peran pertukaran token dan alias peran alih-alih membuat yang baru.

**Buat peran pertukaran token IAM role**

1. <a name="create-token-exchange-role-create-iam-role"></a>Buat peran IAM yang dapat digunakan perangkat Anda sebagai peran pertukaran token. Lakukan hal-hal berikut:

   1. Buat file yang berisi dokumen kebijakan kepercayaan yang memerlukan peran pertukaran token.

      <a name="nano-command-intro"></a>Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      ```
      nano device-role-trust-policy.json
      ```

      Salin JSON berikut ke dalam file.

      ```
      {
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "credentials.iot.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

   1. Buat peran pertukaran token dengan dokumen kebijakan kepercayaan.
      + Ganti *GreengrassV2TokenExchangeRole* dengan nama peran IAM yang akan dibuat.

      ```
      aws iam create-role --role-name GreengrassV2TokenExchangeRole --assume-role-policy-document file://device-role-trust-policy.json
      ```

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      ```
      {
        "Role": {
          "Path": "/",
          "RoleName": "GreengrassV2TokenExchangeRole",
          "RoleId": "AROAZ2YMUHYHK5OKM77FB",
          "Arn": "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole",
          "CreateDate": "2021-02-06T00:13:29+00:00",
          "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",		 	 	 
            "Statement": [
              {
                "Effect": "Allow",
                "Principal": {
                  "Service": "credentials.iot.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
              }
            ]
          }
        }
      ```

   1. Buat file yang berisi dokumen kebijakan akses yang diperlukan oleh peran pertukaran token.

      <a name="nano-command-intro"></a>Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      ```
      nano device-role-access-policy.json
      ```

      Salin JSON berikut ke dalam file.

      ```
      {
        "Version": "2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "logs:CreateLogGroup",
              "logs:CreateLogStream",
              "logs:PutLogEvents",
              "logs:DescribeLogStreams",
              "s3:GetBucketLocation"
            ],
            "Resource": "*"
          }
        ]
      }
      ```
**catatan**  
Kebijakan akses ini tidak mengizinkan akses ke artefak komponen dalam bucket S3. Untuk men-deploy komponen kustom yang menentukan artefak di Amazon S3, Anda harus menambahkan izin untuk peran tersebut untuk memungkinkan perangkat inti Anda untuk mengambil artefak komponen. Untuk informasi selengkapnya, lihat [Izinkan akses ke bucket S3 untuk artefak komponen](device-service-role.md#device-service-role-access-s3-bucket).  
Jika Anda belum memiliki bucket S3 untuk artefak komponen, Anda dapat menambahkan izin ini nanti setelah membuat bucket.

   1. Buat kebijakan IAM dari dokumen kebijakan.
      + Ganti *GreengrassV2TokenExchangeRoleAccess* dengan nama kebijakan IAM yang akan dibuat.

      ```
      aws iam create-policy --policy-name GreengrassV2TokenExchangeRoleAccess --policy-document file://device-role-access-policy.json
      ```

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      ```
      {
        "Policy": {
          "PolicyName": "GreengrassV2TokenExchangeRoleAccess",
          "PolicyId": "ANPAZ2YMUHYHACI7C5Z66",
          "Arn": "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess",
          "Path": "/",
          "DefaultVersionId": "v1",
          "AttachmentCount": 0,
          "PermissionsBoundaryUsageCount": 0,
          "IsAttachable": true,
          "CreateDate": "2021-02-06T00:37:17+00:00",
          "UpdateDate": "2021-02-06T00:37:17+00:00"
        }
      }
      ```

   1. Lampirkan kebijakan IAM untuk peran pertukaran token.
      + Ganti *GreengrassV2TokenExchangeRole* dengan nama peran IAM.
      + Ganti ARN peran dengan ARN dari kebijakan IAM yang Anda buat di langkah sebelumnya.

      ```
      aws iam attach-role-policy --role-name GreengrassV2TokenExchangeRole --policy-arn arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess
      ```

      Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

1. <a name="create-token-exchange-role-create-iot-role-alias"></a>Buat alias AWS IoT peran yang menunjuk ke peran pertukaran token.
   + Ganti *GreengrassCoreTokenExchangeRoleAlias* dengan nama alias peran yang akan dibuat.
   + Ganti ARN peran dengan ARN dari IAM role yang Anda buat di langkah sebelumnya.

   ```
   aws iot create-role-alias --role-alias GreengrassCoreTokenExchangeRoleAlias --role-arn arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole
   ```

   Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

   ```
   {
     "roleAlias": "GreengrassCoreTokenExchangeRoleAlias",
     "roleAliasArn": "arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias"
   }
   ```
**catatan**  
Untuk membuat alias peran, Anda harus memiliki izin untuk melewati IAM role pertukaran token ke AWS IoT. Jika Anda menerima pesan galat saat mencoba membuat alias peran, periksa apakah AWS pengguna Anda memiliki izin ini. Untuk informasi selengkapnya, lihat [Memberikan izin pengguna untuk meneruskan peran ke AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) di *AWS Identity and Access Management Panduan Pengguna*.

## Buat AWS IoT kebijakan
<a name="create-iot-policy"></a>

Setelah Anda mendaftarkan perangkat sebagai AWS IoT sesuatu, perangkat tersebut dapat menggunakan sertifikat digital untuk mengautentikasi. AWS Sertifikat ini mencakup satu atau beberapa AWS IoT kebijakan yang menentukan izin yang dapat digunakan perangkat dengan sertifikat. Kebijakan ini memungkinkan perangkat untuk berkomunikasi dengan AWS IoT dan AWS IoT Greengrass.

Dengan penyediaan AWS IoT armada, perangkat terhubung AWS IoT untuk membuat dan mengunduh sertifikat perangkat. Di templat penyediaan armada yang dibuat di bagian berikutnya, Anda dapat menentukan apakah AWS IoT melampirkan AWS IoT kebijakan yang sama ke sertifikat semua perangkat, atau membuat kebijakan baru untuk setiap perangkat.

Di bagian ini, Anda membuat AWS IoT kebijakan yang AWS IoT melekat pada semua sertifikat perangkat. Dengan pendekatan ini, Anda dapat mengelola izin untuk semua perangkat sebagai armada. Jika Anda lebih suka membuat AWS IoT kebijakan baru untuk setiap perangkat, Anda dapat melewati bagian ini, dan merujuk ke kebijakan di dalamnya saat menentukan templat armada.

**Untuk membuat AWS IoT kebijakan**
+ Buat AWS IoT kebijakan yang menentukan AWS IoT izin untuk armada perangkat inti Greengrass Anda. Kebijakan berikut memungkinkan akses ke semua topik MQTT dan operasi Greengrass, sehingga perangkat Anda bekerja dengan aplikasi kustom dan perubahan di masa mendatang yang memerlukan operasi Greengrass baru. Kebijakan ini juga mengizinkan `iot:AssumeRoleWithCertificate` izin, yang memungkinkan perangkat Anda menggunakan peran pertukaran token yang Anda buat di bagian sebelumnya. Anda dapat membatasi kebijakan ini berdasarkan kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [AWS IoT Kebijakan minimal untuk perangkat AWS IoT Greengrass V2 inti](device-auth.md#greengrass-core-minimal-iot-policy).

  Lakukan hal-hal berikut:

  1. Buat file yang berisi dokumen AWS IoT kebijakan yang dibutuhkan perangkat inti Greengrass.

     <a name="nano-command-intro"></a>Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

     ```
     nano greengrass-v2-iot-policy.json
     ```

     Salin JSON berikut ke dalam file.
     + Ganti `iot:AssumeRoleWithCertificate` sumber daya dengan ARN alias AWS IoT peran yang Anda buat di bagian sebelumnya.

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

****  

     ```
     {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Action": [
             "iot:Publish",
             "iot:Subscribe",
             "iot:Receive",
             "iot:Connect",
             "greengrass:*"
           ],
           "Resource": [
             "*"
           ]
         },
         {
           "Effect": "Allow",
           "Action": "iot:AssumeRoleWithCertificate",
           "Resource": "arn:aws:iot:us-east-1:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias"
         }
       ]
     }
     ```

------

  1. Buat AWS IoT kebijakan dari dokumen kebijakan.
     + Ganti *GreengrassV2IoTThingPolicy* dengan nama kebijakan yang akan dibuat.

     ```
     aws iot create-policy --policy-name GreengrassV2IoTThingPolicy --policy-document file://greengrass-v2-iot-policy.json
     ```

     Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

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

****  

     ```
     {
       "policyName": "GreengrassV2IoTThingPolicy",
       "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassV2IoTThingPolicy",
       "policyDocument": "{
         \"Version\": \"2012-10-17\",
         \"Statement\": [
           {
             \"Effect\": \"Allow\",
             \"Action\": [
               \"iot:Publish\",
               \"iot:Subscribe\",
               \"iot:Receive\",
               \"iot:Connect\",
               \"greengrass:*\"
             ],
             \"Resource\": [
               \"*\"
             ]
           },
           {
             \"Effect\": \"Allow\",
             \"Action\": \"iot:AssumeRoleWithCertificate\",
             \"Resource\": \"arn:aws:iot:us-west-2:123456789012:rolealias/GreengrassCoreTokenExchangeRoleAlias\"
           }
         ]
       }",
       "policyVersionId": "1"
     }
     ```

------

## Buat templat penyediaan armada
<a name="create-provisioning-template"></a>

AWS IoT Templat penyediaan armada menentukan cara menyediakan AWS IoT berbagai hal, kebijakan, dan sertifikat. Untuk menyediakan perangkat inti Greengrass dengan plugin penyediaan armada, Anda harus membuat templat yang menentukan hal berikut:<a name="installation-fleet-provisioning-template-requirements"></a>
+ Sumber daya AWS IoT sesuatu. Anda dapat menentukan daftar grup benda yang ada untuk menyebarkan komponen ke setiap perangkat saat online.
+ Sumber daya AWS IoT kebijakan. Sumber daya ini dapat menentukan salah satu properti berikut:
  + Nama AWS IoT kebijakan yang ada. Jika Anda memilih opsi ini, perangkat inti yang Anda buat dari templat ini menggunakan AWS IoT kebijakan yang sama, dan Anda dapat mengelola izinnya sebagai armada.
  + Dokumen AWS IoT kebijakan. Jika Anda memilih opsi ini, setiap perangkat inti yang Anda buat dari templat ini menggunakan AWS IoT kebijakan unik, dan Anda dapat mengelola izin untuk setiap perangkat inti individual.
+ Sumber daya AWS IoT sertifikat. Sumber daya sertifikat ini harus menggunakan `AWS::IoT::Certificate::Id` parameter untuk melampirkan sertifikat ke perangkat inti. Untuk informasi selengkapnya, lihat [Just-in-time penyediaan di Panduan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/jit-provisioning.html) *Pengembang*.

Dalam template, Anda dapat menentukan untuk menambahkan AWS IoT hal ke daftar grup hal yang ada. Ketika perangkat inti terhubung AWS IoT Greengrass untuk pertama kalinya, ia menerima penerapan Greengrass untuk setiap grup hal di mana ia menjadi anggota. Anda dapat menggunakan grup benda untuk menyebarkan perangkat lunak terbaru ke setiap perangkat segera setelah online. Untuk informasi selengkapnya, lihat [Menyebarkan AWS IoT Greengrass komponen ke perangkat](manage-deployments.md).

 AWS IoT Layanan memerlukan izin untuk membuat dan memperbarui AWS IoT sumber daya di perangkat Anda Akun AWS saat menyediakan perangkat. Untuk memberikan akses AWS IoT layanan, Anda membuat peran IAM dan menyediakannya saat Anda membuat template. AWS IoT menyediakan kebijakan terkelola, [AWSIoTThingsRegistrasi](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration), yang memungkinkan akses ke semua izin yang AWS IoT mungkin digunakan saat menyediakan perangkat. Anda dapat menggunakan kebijakan terkelola ini, atau membuat kebijakan khusus yang mencakup izin dalam kebijakan terkelola untuk kasus penggunaan Anda.

Di bagian ini, Anda membuat peran IAM yang memungkinkan AWS IoT penyediaan sumber daya untuk perangkat, dan Anda membuat templat penyediaan armada yang menggunakan peran IAM tersebut.

**Untuk membuat template penyediaan armada**

1. Buat peran IAM yang AWS IoT dapat diasumsikan untuk menyediakan sumber daya di Anda Akun AWS. Lakukan hal-hal berikut:

   1. Buat file yang berisi dokumen kebijakan kepercayaan yang memungkinkan AWS IoT untuk mengambil peran.

      <a name="nano-command-intro"></a>Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      ```
      nano aws-iot-trust-policy.json
      ```

      Salin JSON berikut ke dalam file.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "iot.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

------

   1. Buat peran IAM dengan dokumen kebijakan kepercayaan.
      + Ganti *GreengrassFleetProvisioningRole* dengan nama peran IAM yang akan dibuat.

      ```
      aws iam create-role --role-name GreengrassFleetProvisioningRole --assume-role-policy-document file://aws-iot-trust-policy.json
      ```

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "iot:Connect",
              "iot:Publish",
              "iot:Subscribe",
              "iot:Receive"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. Tinjau kebijakan [AWSIoTThingsPendaftaran](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration), yang memungkinkan akses ke semua izin yang AWS IoT mungkin digunakan saat menyediakan perangkat. Anda dapat menggunakan kebijakan terkelola ini, atau membuat kebijakan khusus yang menentukan izin cakupan bawah untuk kasus penggunaan Anda. Jika Anda memilih untuk membuat kebijakan khusus, lakukan sekarang.

   1. Lampirkan kebijakan IAM ke peran penyediaan armada.
      + Ganti *GreengrassFleetProvisioningRole* dengan nama peran IAM.
      + Jika Anda membuat kebijakan kustom pada langkah sebelumnya, ganti kebijakan ARN dengan ARN dari kebijakan IAM yang akan digunakan.

      ```
      aws iam attach-role-policy --role-name GreengrassFleetProvisioningRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSIoTThingsRegistration
      ```

      Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

1. (Opsional) Buat *hook pra-penyediaan*, yang merupakan AWS Lambda fungsi yang memvalidasi parameter template yang disediakan perangkat saat pendaftaran. Anda dapat menggunakan pengait pra-penyediaan untuk mendapatkan kontrol lebih besar atas perangkat mana dan berapa banyak perangkat yang terpasang di dalamnya. Akun AWS*Untuk informasi selengkapnya, lihat [Pra-penyediaan kait](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html) di Panduan Pengembang.AWS IoT Core *

1. Buat template penyediaan armada. Lakukan hal-hal berikut:

   1. Buat file yang berisi dokumen template penyediaan.

      <a name="nano-command-intro"></a>Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      ```
      nano greengrass-fleet-provisioning-template.json
      ```

      Tulis dokumen template penyediaan. Anda dapat mulai dari contoh template penyediaan berikut, yang menentukan untuk membuat AWS IoT sesuatu dengan properti berikut:
      + Nama benda adalah nilai yang Anda tentukan dalam parameter `ThingName` template.
      + Masalahnya adalah anggota grup benda yang Anda tentukan dalam parameter `ThingGroupName` template. Kelompok benda harus ada di Anda Akun AWS.
      + Sertifikat benda itu memiliki AWS IoT kebijakan yang disebutkan `GreengrassV2IoTThingPolicy` terlampir padanya.

      Untuk informasi selengkapnya, lihat [Templat penyediaan di Panduan AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html) *Pengembang*.

      ```
      {
        "Parameters": {
          "ThingName": {
            "Type": "String"
          },
          "ThingGroupName": {
            "Type": "String"
          },
          "AWS::IoT::Certificate::Id": {
            "Type": "String"
          }
        },
        "Resources": {
          "MyThing": {
            "OverrideSettings": {
              "AttributePayload": "REPLACE",
              "ThingGroups": "REPLACE",
              "ThingTypeName": "REPLACE"
            },
            "Properties": {
              "AttributePayload": {},
              "ThingGroups": [
                {
                  "Ref": "ThingGroupName"
                }
              ],
              "ThingName": {
                "Ref": "ThingName"
              }
            },
            "Type": "AWS::IoT::Thing"
          },
          "MyPolicy": {
            "Properties": {
              "PolicyName": "GreengrassV2IoTThingPolicy"
            },
            "Type": "AWS::IoT::Policy"
          },
          "MyCertificate": {
            "Properties": {
              "CertificateId": {
                "Ref": "AWS::IoT::Certificate::Id"
              },
              "Status": "Active"
            },
            "Type": "AWS::IoT::Certificate"
          }
        }
      }
      ```
**catatan**  
*MyThing*,*MyPolicy*, dan *MyCertificate* merupakan nama arbitrer yang mengidentifikasi setiap spesifikasi sumber daya dalam templat penyediaan armada. AWS IoT tidak menggunakan nama-nama ini dalam sumber daya yang dibuatnya dari template. Anda dapat menggunakan nama-nama ini atau menggantinya dengan nilai yang membantu Anda mengidentifikasi setiap sumber daya dalam template.

   1. Buat template penyediaan armada dari dokumen template penyediaan.
      + Ganti *GreengrassFleetProvisioningTemplate* dengan nama template yang akan dibuat.
      + Ganti deskripsi template dengan deskripsi untuk template Anda.
      + Ganti peran penyediaan ARN dengan ARN dari peran yang Anda buat sebelumnya.

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

      ```
      aws iot create-provisioning-template \
        --template-name GreengrassFleetProvisioningTemplate \
        --description "A provisioning template for Greengrass core devices." \
        --provisioning-role-arn "arn:aws:iam::123456789012:role/GreengrassFleetProvisioningRole" \
        --template-body file://greengrass-fleet-provisioning-template.json \
        --enabled
      ```

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

      ```
      aws iot create-provisioning-template ^
        --template-name GreengrassFleetProvisioningTemplate ^
        --description "A provisioning template for Greengrass core devices." ^
        --provisioning-role-arn "arn:aws:iam::123456789012:role/GreengrassFleetProvisioningRole" ^
        --template-body file://greengrass-fleet-provisioning-template.json ^
        --enabled
      ```

------
#### [ PowerShell ]

      ```
      aws iot create-provisioning-template `
        --template-name GreengrassFleetProvisioningTemplate `
        --description "A provisioning template for Greengrass core devices." `
        --provisioning-role-arn "arn:aws:iam::123456789012:role/GreengrassFleetProvisioningRole" `
        --template-body file://greengrass-fleet-provisioning-template.json `
        --enabled
      ```

------
**catatan**  
Jika Anda membuat hook pra-penyediaan, tentukan ARN dari fungsi Lambda hook pra-penyediaan dengan argumen. `--pre-provisioning-hook`  

      ```
      --pre-provisioning-hook targetArn=arn:aws:lambda:us-west-2:123456789012:function:GreengrassPreProvisioningHook
      ```

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

      ```
      {
          "templateArn": "arn:aws:iot:us-west-2:123456789012:provisioningtemplate/GreengrassFleetProvisioningTemplate",
          "templateName": "GreengrassFleetProvisioningTemplate",
          "defaultVersionId": 1
      }
      ```

## Membuat sertifikat klaim penyediaan dan kunci pribadi
<a name="create-claim-certificates"></a>

Sertifikat klaim adalah sertifikat X.509 yang memungkinkan perangkat untuk mendaftar sebagai AWS IoT benda dan mengambil sertifikat perangkat X.509 unik untuk digunakan untuk operasi reguler. Setelah membuat sertifikat klaim, Anda melampirkan AWS IoT kebijakan yang memungkinkan perangkat menggunakannya untuk membuat sertifikat perangkat unik dan penyediaan dengan templat penyediaan armada. Perangkat dengan sertifikat klaim dapat menyediakan hanya menggunakan templat penyediaan yang Anda izinkan dalam kebijakan. AWS IoT 

Di bagian ini, Anda membuat sertifikat klaim dan mengonfigurasinya untuk digunakan perangkat dengan templat penyediaan armada yang Anda buat di bagian sebelumnya.

**penting**  <a name="installation-fleet-provisioning-secure-claim-private-keys"></a>
Kunci pribadi klaim penyediaan harus diamankan setiap saat, termasuk pada perangkat inti Greengrass. Kami menyarankan Anda menggunakan CloudWatch metrik dan log Amazon untuk memantau indikasi penyalahgunaan, seperti penggunaan sertifikat klaim yang tidak sah ke perangkat penyediaan. Jika Anda mendeteksi penyalahgunaan, nonaktifkan sertifikat klaim penyediaan sehingga tidak dapat digunakan untuk penyediaan perangkat. Untuk informasi selengkapnya, lihat [Pemantauan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/monitoring_overview.html) di *Panduan AWS IoT Core Pengembang*.  
Untuk membantu mengelola jumlah perangkat dengan lebih baik, dan perangkat mana, yang mendaftarkan diri di perangkat Anda Akun AWS, Anda dapat menentukan hook pra-penyediaan saat membuat templat penyediaan armada. Hook pra-penyediaan adalah AWS Lambda fungsi yang memvalidasi parameter template yang disediakan perangkat selama pendaftaran. Misalnya, Anda dapat membuat hook pra-penyediaan yang memeriksa ID perangkat terhadap database untuk memverifikasi bahwa perangkat memiliki izin untuk menyediakan. *Untuk informasi selengkapnya, lihat [Pra-penyediaan kait](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html) di Panduan Pengembang.AWS IoT Core *

**Untuk membuat sertifikat klaim penyediaan dan kunci pribadi**

1. Buat folder tempat Anda mengunduh sertifikat klaim dan kunci pribadi.

   ```
   mkdir claim-certs
   ```

1. Membuat dan menyimpan sertifikat dan kunci pribadi untuk digunakan untuk penyediaan. AWS IoT menyediakan sertifikat klien yang ditandatangani oleh otoritas sertifikat Amazon Root (CA).

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

   ```
   aws iot create-keys-and-certificate \
     --certificate-pem-outfile "claim-certs/claim.pem.crt" \
     --public-key-outfile "claim-certs/claim.public.pem.key" \
     --private-key-outfile "claim-certs/claim.private.pem.key" \
     --set-as-active
   ```

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

   ```
   aws iot create-keys-and-certificate ^
     --certificate-pem-outfile "claim-certs/claim.pem.crt" ^
     --public-key-outfile "claim-certs/claim.public.pem.key" ^
     --private-key-outfile "claim-certs/claim.private.pem.key" ^
     --set-as-active
   ```

------
#### [ PowerShell ]

   ```
   aws iot create-keys-and-certificate `
     --certificate-pem-outfile "claim-certs/claim.pem.crt" `
     --public-key-outfile "claim-certs/claim.public.pem.key" `
     --private-key-outfile "claim-certs/claim.private.pem.key" `
     --set-as-active
   ```

------

   Tanggapan berisi informasi tentang sertifikat, jika permintaan berhasil. Simpan ARN sertifikat untuk digunakan nanti.

1. Buat dan lampirkan AWS IoT kebijakan yang memungkinkan perangkat menggunakan sertifikat untuk membuat sertifikat perangkat unik dan penyediaan templat penyediaan armada. Kebijakan berikut memungkinkan akses ke MQTT API penyediaan perangkat. *Untuk informasi selengkapnya, lihat [Penyediaan perangkat MQTT API](https://docs.aws.amazon.com/iot/latest/developerguide/fleet-provision-api.html) di Panduan Pengembang.AWS IoT Core *

   Lakukan hal-hal berikut:

   1. Buat file yang berisi dokumen AWS IoT kebijakan yang dibutuhkan perangkat inti Greengrass.

      <a name="nano-command-intro"></a>Misalnya, pada sistem berbasis Linux, Anda dapat menjalankan perintah berikut untuk menggunakan GNU nano untuk membuat file.

      ```
      nano greengrass-provisioning-claim-iot-policy.json
      ```

      Salin JSON berikut ke dalam file.
      + Ganti setiap instance *region* dengan Wilayah AWS tempat Anda mengatur penyediaan armada.
      + Ganti setiap instance *account-id* dengan Akun AWS ID Anda.
      + Ganti setiap instance *GreengrassFleetProvisioningTemplate* dengan nama template penyediaan armada yang Anda buat di bagian sebelumnya.

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": "iot:Connect",
            "Resource": "*"
          },
          {
            "Effect": "Allow",
            "Action": [
              "iot:Publish",
              "iot:Receive"
            ],
            "Resource": [
            "arn:aws:iot:us-east-1:123456789012:topic/$aws/certificates/create/*",
        "arn:aws:iot:us-east-1:123456789012:topic/$aws/provisioning-templates/GreengrassFleetProvisioningTemplate/provision/*"
            ]
          },
          {
            "Effect": "Allow",
            "Action": "iot:Subscribe",
            "Resource": [
            "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/certificates/create/*",
        "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/provisioning-templates/GreengrassFleetProvisioningTemplate/provision/*"
            ]
          }
        ]
      }
      ```

------

   1. Buat AWS IoT kebijakan dari dokumen kebijakan.
      + Ganti *GreengrassProvisioningClaimPolicy* dengan nama kebijakan yang akan dibuat.

      ```
      aws iot create-policy --policy-name GreengrassProvisioningClaimPolicy --policy-document file://greengrass-provisioning-claim-iot-policy.json
      ```

      Respons tersebut serupa dengan contoh berikut ini, jika permintaannya berhasil.

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

****  

      ```
      {
        "policyName": "GreengrassProvisioningClaimPolicy",
        "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GreengrassProvisioningClaimPolicy",
        "policyDocument": "{
          \"Version\": \"2012-10-17\",
          \"Statement\": [
            {
              \"Effect\": \"Allow\",
              \"Action\": \"iot:Connect\",
              \"Resource\": \"*\"
            },
            {
              \"Effect\": \"Allow\",
              \"Action\": [
                \"iot:Publish\",
                \"iot:Receive\"
              ],
              \"Resource\": [
              \"arn:aws:iot:us-east-1:123456789012:topic/$aws/certificates/create/*\",
        \"arn:aws:iot:us-east-1:123456789012:topic/$aws/provisioning-templates/GreengrassFleetProvisioningTemplate/provision/*\"
              ]
            },
            {
              \"Effect\": \"Allow\",
              \"Action\": \"iot:Subscribe\",
              \"Resource\": [
              \"arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/certificates/create/*\",
        \"arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/provisioning-templates/GreengrassFleetProvisioningTemplate/provision/*\"
              ]
            }
          ]
        }",
        "policyVersionId": "1"
      }
      ```

------

1. Lampirkan AWS IoT kebijakan ke sertifikat klaim penyediaan.
   + Ganti *GreengrassProvisioningClaimPolicy* dengan nama kebijakan yang akan dilampirkan.
   + Ganti ARN target dengan ARN dari sertifikat klaim penyediaan.

   ```
   aws iot attach-policy --policy-name GreengrassProvisioningClaimPolicy --target arn:aws:iot:us-west-2:123456789012:cert/aa0b7958770878eabe251d8a7ddd547f4889c524c9b574ab9fbf65f32248b1d4
   ```

   Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

Anda sekarang memiliki sertifikat klaim penyediaan dan kunci pribadi yang dapat digunakan perangkat untuk mendaftar AWS IoT dan menyediakan diri mereka sebagai perangkat inti Greengrass. Anda dapat menyematkan sertifikat klaim dan kunci pribadi di perangkat selama pembuatan, atau menyalin sertifikat dan kunci ke perangkat sebelum Anda menginstal perangkat lunak AWS IoT Greengrass Core. Lihat informasi yang lebih lengkap di [Instal perangkat lunak AWS IoT Greengrass Core dengan penyediaan AWS IoT armada](fleet-provisioning.md).

# Konfigurasikan AWS IoT plugin penyediaan armada
<a name="fleet-provisioning-configuration"></a>

Plugin penyediaan AWS IoT armada menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan saat Anda [menginstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan armada](fleet-provisioning.md).

`rootPath`  
Jalur ke folder untuk digunakan sebagai root untuk perangkat lunak AWS IoT Greengrass Core.

`awsRegion`  
 Wilayah AWS Yang digunakan plugin penyediaan armada untuk menyediakan sumber daya. AWS 

`iotDataEndpoint`  
<a name="nucleus-component-configuration-iot-data-endpoint"></a>Titik akhir AWS IoT data untuk Anda Akun AWS.

`iotCredentialEndpoint`  
<a name="nucleus-component-configuration-iot-cred-endpoint"></a>Titik akhir AWS IoT kredensial untuk Anda. Akun AWS

`iotRoleAlias`  
<a name="nucleus-component-configuration-iot-role-alias"></a>Alias AWS IoT peran yang menunjuk ke peran IAM pertukaran token. Penyedia AWS IoT kredensi mengasumsikan peran ini untuk memungkinkan perangkat inti Greengrass berinteraksi dengan layanan. AWS Untuk informasi selengkapnya, lihat [Otorisasi perangkat inti untuk berinteraksi dengan layanan AWS](device-service-role.md).

`provisioningTemplate`  
Template penyediaan AWS IoT armada untuk digunakan untuk menyediakan AWS sumber daya. Template ini harus menentukan yang berikut:  <a name="installation-fleet-provisioning-template-requirements"></a>
+ Sumber daya AWS IoT sesuatu. Anda dapat menentukan daftar grup benda yang ada untuk menyebarkan komponen ke setiap perangkat saat online.
+ Sumber daya AWS IoT kebijakan. Sumber daya ini dapat menentukan salah satu properti berikut:
  + Nama AWS IoT kebijakan yang ada. Jika Anda memilih opsi ini, perangkat inti yang Anda buat dari templat ini menggunakan AWS IoT kebijakan yang sama, dan Anda dapat mengelola izinnya sebagai armada.
  + Dokumen AWS IoT kebijakan. Jika Anda memilih opsi ini, setiap perangkat inti yang Anda buat dari templat ini menggunakan AWS IoT kebijakan unik, dan Anda dapat mengelola izin untuk setiap perangkat inti individual.
+ Sumber daya AWS IoT sertifikat. Sumber daya sertifikat ini harus menggunakan `AWS::IoT::Certificate::Id` parameter untuk melampirkan sertifikat ke perangkat inti. Untuk informasi selengkapnya, lihat [Just-in-time penyediaan di Panduan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/jit-provisioning.html) *Pengembang*.
Untuk informasi selengkapnya, lihat [Templat penyediaan di Panduan AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html) *Pengembang*.

`claimCertificatePath`  
Jalur ke sertifikat klaim penyediaan untuk templat penyediaan yang Anda tentukan. `provisioningTemplate` Untuk informasi selengkapnya, lihat [CreateProvisioningClaim](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateProvisioningClaim.html) di dalam *Referensi API AWS IoT Core *. 

`claimCertificatePrivateKeyPath`  
Jalur ke kunci pribadi sertifikat klaim penyediaan untuk templat penyediaan yang Anda tentukan. `provisioningTemplate` Untuk informasi selengkapnya, lihat [CreateProvisioningClaim](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateProvisioningClaim.html) di dalam *Referensi API AWS IoT Core *.   
Kunci pribadi klaim penyediaan harus diamankan setiap saat, termasuk pada perangkat inti Greengrass. Kami menyarankan Anda menggunakan CloudWatch metrik dan log Amazon untuk memantau indikasi penyalahgunaan, seperti penggunaan sertifikat klaim yang tidak sah ke perangkat penyediaan. Jika Anda mendeteksi penyalahgunaan, nonaktifkan sertifikat klaim penyediaan sehingga tidak dapat digunakan untuk penyediaan perangkat. Untuk informasi selengkapnya, lihat [Pemantauan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/monitoring_overview.html) di *Panduan AWS IoT Core Pengembang*.  
Untuk membantu mengelola jumlah perangkat dengan lebih baik, dan perangkat mana, yang mendaftarkan diri di perangkat Anda Akun AWS, Anda dapat menentukan hook pra-penyediaan saat membuat templat penyediaan armada. Hook pra-penyediaan adalah AWS Lambda fungsi yang memvalidasi parameter template yang disediakan perangkat selama pendaftaran. Misalnya, Anda dapat membuat hook pra-penyediaan yang memeriksa ID perangkat terhadap database untuk memverifikasi bahwa perangkat memiliki izin untuk menyediakan. *Untuk informasi selengkapnya, lihat [Pra-penyediaan kait](https://docs.aws.amazon.com/iot/latest/developerguide/pre-provisioning-hook.html) di Panduan Pengembang.AWS IoT Core *

`rootCaPath`  
Jalur ke sertifikat otoritas sertifikat root Amazon (CA).

`templateParameters`  
(Opsional) Peta parameter yang akan disediakan untuk template penyediaan armada. *Untuk informasi selengkapnya, lihat [bagian Parameter templat penyediaan](https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html#parameters-section) di Panduan Pengembang.AWS IoT Core *

`deviceId`  
(Opsional) Pengidentifikasi perangkat yang akan digunakan sebagai ID klien saat plugin penyediaan armada membuat koneksi MQTT ke. AWS IoT  
Default: Sebuah UUID acak.

`mqttPort`  
(Opsional) Port yang akan digunakan untuk koneksi MQTT.  
Default: `8883`

`proxyUrl`  
(Opsional) URL server proxy dalam format`scheme://userinfo@host:port`. Untuk menggunakan proxy HTTPS, Anda harus menggunakan versi 1.1.0 atau yang lebih baru dari plugin penyediaan armada.  <a name="nucleus-component-configuration-proxy-url-segments"></a>
+ `scheme` — Skema, yang harus berupa `http` atau `https`.
**penting**  
<a name="https-proxy-greengrass-nucleus-requirement"></a>Perangkat inti Greengrass harus menjalankan [Greengrass](greengrass-nucleus-component.md) nucleus v2.5.0 atau yang lebih baru untuk menggunakan proxy HTTPS.  
Jika Anda mengonfigurasi proxy HTTPS, Anda harus menambahkan sertifikat CA server proxy ke sertifikat CA root Amazon perangkat inti. Untuk informasi selengkapnya, lihat [Aktifkan perangkat inti untuk mempercayai proxy HTTPS](configure-greengrass-core-v2.md#https-proxy-certificate-trust).
+ `userinfo` - (Opsional) Nama pengguna dan informasi kata sandi. Jika Anda menentukan informasi ini di`url`, perangkat inti Greengrass mengabaikan bidang dan. `username` `password`
+ `host` - Nama host atau alamat IP server proksi.
+ `port` — (Opsional) Nomor port. Jika Anda tidak menentukan port, maka perangkat inti Greengrass akan menggunakan nilai default berikut:
  + `http` – 80
  + `https` – 443

`proxyUserName`  
(Opsional) Nama pengguna yang mengautentikasi server proxy.

`proxyPassword`  
(Opsional) Nama pengguna yang mengautentikasi server proxy.

CSRPath  
(Opsional) Jalur ke file permintaan penandatanganan sertifikat (CSR) yang akan digunakan untuk membuat sertifikat perangkat dari CSR. Untuk informasi selengkapnya, lihat [Penyediaan berdasarkan klaim](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#claim-based) di panduan * AWS IoT Core pengembang*.

csrPrivateKeyJalan  
(Opsional, diperlukan jika `csrPath` dideklarasikan) Jalur ke kunci pribadi yang digunakan untuk menghasilkan CSR. Kunci pribadi harus digunakan untuk menghasilkan CSR. Untuk informasi selengkapnya, lihat [Penyediaan berdasarkan klaim](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html#claim-based) di panduan *AWS IoT Core pengembang*.

CertificatePath  
(Opsional) Jalur yang akan digunakan untuk menyimpan sertifikat perangkat yang diunduh.

privateKeyPath  
(Opsional) Jalur yang digunakan untuk menyimpan kunci pribadi perangkat yang diunduh.

# AWS IoT changelog plugin penyediaan armada
<a name="fleet-provisioning-changelog"></a>

Tabel berikut menjelaskan perubahan dalam setiap versi penyediaan AWS IoT armada oleh plugin klaim ()`aws.greengrass.FleetProvisioningByClaim`.


|  Versi  |  Perubahan  | 
| --- | --- | 
|  1.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/fleet-provisioning-changelog.html)  | 
|  1.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/fleet-provisioning-changelog.html)  | 
|  1.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/fleet-provisioning-changelog.html)  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/fleet-provisioning-changelog.html)  | 
|  1.0.0  |  Versi awal.  | 