

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan menghentikan dukungan untuk. AWS IoT Greengrass Version 1 Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses sumber daya. AWS IoT Greengrass V1 Untuk informasi lebih lanjut, silakan kunjungi [Migrasi dari AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Ikhtisar AWS IoT Greengrass keamanan
<a name="gg-sec"></a>

AWS IoT Greengrass menggunakan sertifikat, AWS IoT kebijakan, serta kebijakan dan peran IAM X.509 untuk mengamankan aplikasi yang berjalan di perangkat di lingkungan Greengrass lokal Anda.

Diagram berikut menunjukkan komponen model AWS IoT Greengrass keamanan:

![\[Diagram arsitektur layanan Greengrass yang menunjukkan AWS layanan, inti Greengrass dan perangkat yang terhubung, dan interaksi sertifikatnya.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/gg-security.png)


A - Peran layanan Greengrass  
Peran IAM yang dibuat pelanggan diasumsikan oleh AWS IoT Greengrass saat mengakses AWS sumber daya Anda dari AWS IoT Core, AWS Lambda, dan layanan lainnya. AWS Untuk informasi selengkapnya, lihat [Peran layanan Greengrass](service-role.md).

B - Sertifikat perangkat core  
Sertifikat X.509 yang digunakan untuk mengautentikasi inti Greengrass dengan dan. AWS IoT Core AWS IoT Greengrass Untuk informasi selengkapnya, lihat [Otentikasi dan otorisasi perangkat untuk AWS IoT Greengrass](device-auth.md).

C - sertifikat perangkat  
Sertifikat X.509 yang digunakan untuk mengautentikasi perangkat klien, yang juga dikenal sebagai perangkat yang terhubung, dengan dan. AWS IoT Core AWS IoT Greengrass Untuk informasi selengkapnya, lihat [Otentikasi dan otorisasi perangkat untuk AWS IoT Greengrass](device-auth.md).

D - Peran grup  
Peran IAM yang dibuat pelanggan diasumsikan oleh AWS IoT Greengrass saat memanggil AWS layanan dari inti Greengrass.  
Anda menggunakan peran ini untuk menentukan izin akses yang diperlukan oleh fungsi dan konektor Lambda yang ditentukan pengguna untuk AWS mengakses layanan, seperti DynamoDB. Anda juga menggunakannya untuk memungkinkan AWS IoT Greengrass mengekspor aliran manajer aliran ke AWS layanan dan menulis ke CloudWatch Log. Untuk informasi selengkapnya, lihat [Peran grup Greengrass](group-role.md).  
AWS IoT Greengrass tidak menggunakan peran eksekusi Lambda yang ditentukan AWS Lambda untuk versi cloud dari fungsi Lambda.

sertifikat server E - MQTT  
Sertifikat yang digunakan untuk otentikasi timbal balik Transport Layer Security (TLS) antara perangkat inti Greengrass dan perangkat klien di grup Greengrass. Sertifikat ditandatangani oleh sertifikat CA grup, yang disimpan dalam AWS Cloud.

## Alur kerja koneksi perangkat
<a name="gg-sec-connection"></a>

Bagian ini menjelaskan bagaimana perangkat klien terhubung ke AWS IoT Greengrass layanan dan perangkat inti Greengrass. Perangkat klien adalah AWS IoT Core perangkat terdaftar yang berada dalam grup Greengrass yang sama dengan perangkat inti. 
+ Perangkat inti Greengrass menggunakan sertifikat perangkat, kunci pribadi, dan sertifikat CA root AWS IoT Core untuk terhubung ke layanan. AWS IoT Greengrass Pada perangkat core, pada `crypto` objek dalam [file konfigurasi](gg-core.md#config-json) menentukan path file untuk item ini.
+ Perangkat core Greengrass mengunduh informasi keanggotaan grup dari AWS IoT Greengrass layanan.
+ Ketika deployment dibuat untuk perangkat core Greengrass, Device Certificate Manager (DCM) menangani manajemen sertifikat server lokal untuk perangkat core Greengrass.
+ Perangkat klien terhubung ke AWS IoT Greengrass layanan menggunakan sertifikat perangkat, kunci pribadi, dan sertifikat AWS IoT Core root CA. Setelah membuat koneksi, perangkat klien menggunakan Layanan Greengrass Discovery untuk menemukan alamat IP perangkat inti Greengrass. Perangkat klien juga mengunduh sertifikat CA grup, yang digunakan untuk otentikasi timbal balik TLS dengan perangkat inti Greengrass.
+ Perangkat klien mencoba terhubung ke perangkat inti Greengrass, melewati sertifikat perangkat dan ID kliennya. Jika ID klien cocok dengan nama benda perangkat klien dan sertifikat valid (bagian dari grup Greengrass), koneksi dibuat. Jika tidak, koneksi dihentikan. 

 AWS IoT Kebijakan untuk perangkat klien harus memberikan `greengrass:Discover` izin untuk mengizinkan perangkat klien menemukan informasi konektivitas untuk inti. Untuk informasi selengkapnya tentang kebijakan laporan, lihat [Otorisasi Discovery](gg-discover-api.md#gg-discover-auth).

## Mengkonfigurasi keamanan AWS IoT Greengrass
<a name="gg-config-sec"></a>

**Untuk mengonfigurasi keamanan aplikasi Greengrass Anda**

1. Buat AWS IoT Core sesuatu untuk perangkat inti Greengrass Anda.

1. Menghasilkan pasangan kunci dan sertifikat perangkat untuk perangkat core Greengrass Anda.

1. Buat dan lampirkan [AWS IoT kebijakan](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html) ke sertifikat perangkat. Sertifikat dan kebijakan memungkinkan akses dan layanan perangkat inti Greengrass. AWS IoT Core AWS IoT Greengrass Untuk informasi selengkapnya, lihat [ AWS IoT Kebijakan minimal untuk perangkat inti](device-auth.md#gg-config-sec-min-iot-policy).
**catatan**  
<a name="thing-policy-variable-not-supported"></a>Penggunaan [variabel kebijakan benda](https://docs.aws.amazon.com/iot/latest/developerguide/thing-policy-variables.html) (`iot:Connection.Thing.*`) dalam AWS IoT kebijakan untuk perangkat inti tidak didukung. Inti menggunakan sertifikat perangkat yang sama untuk membuat [beberapa koneksi](gg-core.md#connection-client-id) ke AWS IoT Core tetapi ID klien dalam koneksi mungkin tidak sama persis dengan nama hal inti.

1. Buat [Peran layanan Greengrass](service-role.md). Peran IAM ini memberi wewenang AWS IoT Greengrass untuk mengakses sumber daya dari AWS layanan lain atas nama Anda. Hal ini memungkinkan AWS IoT Greengrass untuk melakukan tugas-tugas penting, seperti mengambil AWS Lambda fungsi dan mengelola bayangan perangkat.

   Anda dapat menggunakan peran layanan yang sama di seluruh Wilayah AWS s, tetapi harus dikaitkan dengan peran Anda Akun AWS di setiap Wilayah AWS tempat yang Anda gunakan AWS IoT Greengrass.

1. (Opsional) Buat [Peran grup Greengrass](group-role.md). Peran IAM ini memberikan izin ke fungsi dan konektor Lambda yang berjalan pada inti Greengrass untuk memanggil layanan. AWS Misalnya, [konektor Firehose Kinesis](kinesis-firehose-connector.md) memerlukan izin untuk menulis catatan ke aliran pengiriman Amazon Data Firehose.

   Anda dapat melampirkan hanya satu peran untuk core Greengrass.

1. Buat AWS IoT Core sesuatu untuk setiap perangkat yang terhubung ke inti Greengrass Anda.
**catatan**  
Anda juga dapat menggunakan AWS IoT Core barang dan sertifikat yang ada.

1. Buat sertifikat perangkat, pasangan kunci, dan AWS IoT kebijakan untuk setiap perangkat yang terhubung ke inti Greengrass Anda.

## AWS IoT Greengrass prinsip keamanan inti
<a name="gg-principals"></a>

Inti Greengrass menggunakan prinsip keamanan berikut AWS IoT : klien, server MQTT lokal, dan manajer rahasia lokal. Konfigurasi untuk pelaku utama ini disimpan dalam `crypto` objek dalam `config.json` file konfigurasi. Untuk informasi selengkapnya, lihat [AWS IoT Greengrass file konfigurasi inti](gg-core.md#config-json).

Konfigurasi ini mencakup jalur ke kunci privat yang digunakan oleh komponen pelaku utama untuk autentikasi dan enkripsi. AWS IoT Greengrass mendukung dua mode penyimpanan kunci privat: berbasis perangkat keras atau berbasis sistem file (default). Untuk informasi lebih lanjut tentang menyimpan kunci pada modul keamanan perangkat keras, lihat [Integrasi keamanan perangkat keras](hardware-security.md).

**AWS IoT Klien**  
 AWS IoT Klien (klien IoT) mengelola komunikasi melalui internet antara inti Greengrass dan. AWS IoT Core AWS IoT Greengrass menggunakan sertifikat X.509 dengan kunci publik dan pribadi untuk otentikasi timbal balik saat membuat koneksi TLS untuk komunikasi ini. Untuk informasi lebih lanjut, lihat [sertifikat X.509 dan AWS IoT Core](https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html) dalam *AWS IoT Core Panduan Developer*.  
Klien IoT mendukung sertifikat dan kunci RSA dan EC. Sertifikat dan jalur kunci privat ditentukan untuk `IoTCertificate` pelaku utama dalam `config.json`.

**Server MQTT**  
Server MQTT lokal mengelola komunikasi melalui jaringan lokal antara inti Greengrass dan perangkat klien dalam grup. AWS IoT Greengrass menggunakan sertifikat X.509 dengan kunci publik dan pribadi untuk otentikasi timbal balik saat membuat koneksi TLS untuk komunikasi ini.  
Secara default, AWS IoT Greengrass menghasilkan kunci pribadi RSA untuk Anda. Untuk mengonfigurasi core untuk menggunakan kunci privat yang berbeda, Anda harus menyediakan path kunci untuk utama `MQTTServerCertificate` di dalam `config.json`. Anda bertanggung jawab untuk memutar kunci yang disediakan pelanggan.    
**Support kunci privat**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/gg-sec.html)
Konfigurasi kunci privat menentukan proses terkait. Untuk daftar chiper suite yang core Greengrass mendukung sebagai server, lihat [TLS cipher suite mendukung](#gg-cipher-suites).    
**Jika tidak ada kunci privat yang ditentukan** (default)  
+ AWS IoT Greengrass memutar kunci berdasarkan pengaturan rotasi Anda.
+ core menghasilkan kunci RSA, yang digunakan untuk menghasilkan sertifikat.
+ Sertifikat server MQTT memiliki kunci publik RSA dan tanda tangan SHA-256 RSA.  
**Jika kunci privat RSA ditentukan** (membutuhkan GGC v1.7 atau yang lebih baru)  
+ Anda bertanggung jawab untuk memutar kunci.
+ core menggunakan kunci yang ditentukan untuk menghasilkan sertifikat.
+ Kunci RSA harus memiliki panjang minimum 2048 bit.
+ Sertifikat server MQTT memiliki kunci publik RSA dan tanda tangan SHA-256 RSA.  
**Jika kunci privat EC ditentukan** (membutuhkan GGC v1.9 atau lebih baru)  
+ Anda bertanggung jawab untuk memutar kunci.
+ core menggunakan kunci yang ditentukan untuk menghasilkan sertifikat.
+ Kunci privat EC harus menggunakan kurva NIST P-256 atau NIST P-384.
+ Sertifikat server MQTT memiliki kunci publik EC dan tanda tangan SHA-256 RSA.

  Sertifikat server MQTT yang disajikan oleh core memiliki tanda tangan SHA-256 RSA, terlepas dari tipe kunci. Untuk alasan ini, klien harus mendukung validasi sertifikat SHA-256 RSA untuk membuat koneksi aman dengan core.

**Secrets Manager**  
Manajer rahasia lokal dengan aman mengelola salinan rahasia lokal yang Anda buat. AWS Secrets Manager Menggunakan kunci privat untuk mengamankan kunci data yang digunakan untuk mengenkripsi rahasia. Untuk informasi selengkapnya, lihat [Menyebarkan rahasia ke inti AWS IoT Greengrass](secrets.md).  
Secara default, kunci privat klien IoT digunakan, tetapi Anda dapat menentukan kunci privat yang berbeda untuk `SecretsManager` utama pada `config.json`. Hanya tipe kunci RSA yang didukung. Untuk informasi selengkapnya, lihat [Tentukan kunci privat untuk enkripsi rahasia](secrets.md#secrets-config-private-key).  
Saat ini, hanya AWS IoT Greengrass mendukung mekanisme padding [PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) untuk enkripsi dan dekripsi rahasia lokal saat menggunakan kunci pribadi berbasis perangkat keras. Jika Anda mengikuti instruksi yang disediakan vendor untuk membuat kunci pribadi berbasis perangkat keras secara manual, pastikan untuk memilih PKCS \$11 v1.5. AWS IoT Greengrass tidak mendukung Padding Enkripsi Asimetris Optimal (OAEP).  
**Support kunci privat**    
<a name="secrets-manager-private-key-support"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/gg-sec.html)

## Langganan yang dikelola di dalam alur kerja pesan MQTT
<a name="gg-msg-workflow"></a>

AWS IoT Greengrass menggunakan tabel langganan untuk menentukan bagaimana pesan MQTT dapat dipertukarkan antara perangkat klien, fungsi, dan konektor dalam grup Greengrass, dan dengan atau layanan bayangan lokal. AWS IoT Core Setiap langganan menentukan sumber, target, dan topik MQTT (atau subjek) di mana pesan dikirim atau diterima. AWS IoT Greengrass memungkinkan pesan dikirim dari sumber ke target hanya jika langganan yang sesuai ditentukan.

Langganan menentukan aliran pesan dalam satu arah saja, dari sumber ke target. Untuk mendukung pertukaran pesan dua arah, Anda harus membuat dua langganan, satu untuk setiap arah.

## TLS cipher suite mendukung
<a name="gg-cipher-suites"></a>

AWS IoT Greengrass menggunakan model keamanan AWS IoT Core transportasi untuk mengenkripsi komunikasi dengan cloud dengan menggunakan suite [cipher](https://en.wikipedia.org/wiki/Cipher_suite) [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security). Selain itu, AWS IoT Greengrass data dienkripsi saat istirahat (di cloud). Untuk informasi selengkapnya tentang keamanan AWS IoT Core transportasi dan cipher suite yang didukung, lihat [Keamanan transportasi](https://docs.aws.amazon.com/iot/latest/developerguide/transport-security.html) di Panduan *AWS IoT Core Pengembang*.

**Cipher Suite yang Didukung untuk Komunikasi Jaringan Lokal**

Berbeda dengan AWS IoT Core, AWS IoT Greengrass inti mendukung rangkaian cipher TLS *jaringan lokal* berikut untuk algoritma penandatanganan sertifikat. Semua chiper suites ini didukung ketika kunci privat disimpan pada sistem file. Subset didukung ketika core dikonfigurasi untuk menggunakan modul keamanan perangkat keras (HSM). Untuk informasi selengkapnya, silakan lihat [AWS IoT Greengrass prinsip keamanan inti](#gg-principals) dan [Integrasi keamanan perangkat keras](hardware-security.md). Tabel ini juga mencakup versi minimum perangkat lunak AWS IoT Greengrass Core yang diperlukan untuk dukungan.


|  | Cipher | Support HSM | Versi GGC minimum | 
| --- |--- |--- |--- |
| TLSv1.2 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Didukung | 1.0 | 
| --- |--- |--- |--- |
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | Didukung | 1.0 | 
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 | Didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Tidak didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1 SHA256 | Tidak didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | Tidak didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 | Tidak didukung | 1.0 | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1GCM\$1 SHA256 | Didukung | 1.9 | 
| TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1 SHA384 | Didukung | 1.9 | 
| TLSv1.1 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Didukung | 1.0 | 
| --- |--- |--- |--- |
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | Didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Tidak didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | Tidak didukung | 1.0 | 
| TLSv1.0 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Didukung | 1.0 | 
| --- |--- |--- |--- |
| TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | Didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | Tidak didukung | 1.0 | 
| TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | Tidak didukung | 1.0 | 