

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.

# Otentikasi dan otorisasi perangkat untuk AWS IoT Greengrass
<a name="device-auth"></a>

Perangkat di AWS IoT Greengrass lingkungan menggunakan sertifikat X.509 untuk otentikasi dan AWS IoT kebijakan otorisasi. Sertifikat dan kebijakan memungkinkan perangkat terhubung dengan aman satu sama lain, AWS IoT Core, dan AWS IoT Greengrass.

Sertifikat X.509 adalah sertifikat digital yang menggunakan standar infrastruktur kunci publik X.509 untuk mengaitkan kunci publik dengan identitas yang terdapat dalam sertifikat. Sertifikat X.509 dikeluarkan oleh entitas terpercaya yang disebut otoritas sertifikasi (CA). CA mempertahankan satu atau lebih sertifikat khusus yang disebut sertifikat CA yang digunakannya untuk mengeluarkan sertifikat X.509. Hanya otoritas sertifikat yang memiliki akses ke sertifikat CA.

AWS IoT kebijakan menentukan kumpulan operasi yang diizinkan untuk AWS IoT perangkat. Secara khusus, mereka mengizinkan dan menolak akses ke AWS IoT Core dan operasi pesawat AWS IoT Greengrass data, seperti menerbitkan pesan MQTT dan mengambil bayangan perangkat.

Semua perangkat memerlukan entri dalam AWS IoT Core registri dan sertifikat X.509 yang diaktifkan dengan kebijakan terlampir. AWS IoT Perangkat dibagi menjadi dua kategori:
+ **core Greengrass**. Perangkat inti Greengrass menggunakan sertifikat AWS IoT dan kebijakan untuk terhubung. AWS IoT Core Sertifikat dan kebijakan juga memungkinkan AWS IoT Greengrass untuk menyebarkan informasi konfigurasi, fungsi Lambda, konektor, dan langganan terkelola ke perangkat inti.
+ **Perangkat klien**. Perangkat klien (juga disebut perangkat yang *terhubung, perangkat* *Greengrass*, *atau* perangkat) adalah perangkat yang terhubung ke inti Greengrass melalui MQTT. Mereka menggunakan sertifikat dan kebijakan untuk terhubung ke AWS IoT Core dan AWS IoT Greengrass layanan. Hal ini memungkinkan perangkat klien untuk menggunakan AWS IoT Greengrass Discovery Service untuk menemukan dan terhubung ke perangkat inti. Perangkat klien menggunakan sertifikat yang sama untuk terhubung ke gateway AWS IoT Core perangkat dan perangkat inti. Perangkat klien juga menggunakan informasi penemuan untuk autentikasi bersama dengan perangkat inti. Untuk informasi selengkapnya, lihat [Alur kerja koneksi perangkat](gg-sec.md#gg-sec-connection) dan [Mengelola autentikasi perangkat dengan core Greengrass](security-best-practices.md#manage-device-authentication-with-core).

## Sertifikat X.509
<a name="x509-certificates"></a>

Komunikasi antara perangkat inti dan klien dan antara perangkat dan AWS IoT Core atau AWS IoT Greengrass harus diautentikasi. Autentikasi bersama ini didasarkan pada sertifikat perangkat X.509 terdaftar dan kunci kriptografi.

Di AWS IoT Greengrass lingkungan, perangkat menggunakan sertifikat dengan kunci publik dan pribadi untuk koneksi Transport Layer Security (TLS) berikut:
+ Komponen AWS IoT klien pada inti Greengrass yang terhubung ke AWS IoT Core dan melalui internet. AWS IoT Greengrass 
+ Perangkat klien terhubung AWS IoT Greengrass untuk mendapatkan informasi penemuan inti melalui internet.
+ Komponen server MQTT pada inti Greengrass yang terhubung ke perangkat klien dalam grup melalui jaringan lokal.

Perangkat AWS IoT Greengrass inti menyimpan sertifikat di dua lokasi:<a name="ggc-certificate-locations"></a>
+ Sertifikat perangkat Core di `/greengrass-root/certs`. Biasanya, sertifikat perangkat Core bernama `hash.cert.pem` (sebagai contoh, `86c84488a5.cert.pem`). Sertifikat ini digunakan oleh AWS IoT klien untuk otentikasi timbal balik ketika inti terhubung ke AWS IoT Core dan AWS IoT Greengrass layanan.
+ Sertifikat server MTT di `/greengrass-root/ggc/var/state/server`. Sertifikat server MQTT bernama `server.crt`. Sertifikat ini digunakan untuk saling mengautentikasi antara server MQTT lokal (pada Core Greengrass) dan perangkat Greengrass.
**catatan**  
*greengrass-root*mewakili jalur di mana perangkat lunak AWS IoT Greengrass Core diinstal pada perangkat Anda. Biasanya, ini adalah `/greengrass` direktori.

Untuk informasi selengkapnya, lihat [AWS IoT Greengrass prinsip keamanan inti](gg-sec.md#gg-principals).

### Sertifikat Certificate authority (CA)
<a name="ca-certificates"></a>

Perangkat inti dan perangkat klien mengunduh sertifikat CA root yang digunakan untuk otentikasi dengan AWS IoT Core dan AWS IoT Greengrass layanan. Kami merekomendasikan Anda menggunakan sertifikat CA akar Amazon Trust Services (ATS), seperti [Amazon Root CA 1](https://www.amazontrust.com/repository/AmazonRootCA1.pem). Untuk informasi selengkapnya, lihat [Sertifikat CA untuk autentikasi server](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html#server-authentication-certs) di *Panduan Developer AWS IoT Core *.

**catatan**  
Jenis sertifikat CA akar Anda harus sesuai dengan titik akhir Anda. Gunakan sertifikat CA root ATS dengan titik akhir ATS (lebih disukai) atau sertifikat VeriSign root CA dengan titik akhir lama. Hanya beberapa dukungan titik akhir warisan Wilayah Amazon Web Services. Untuk informasi selengkapnya, lihat [Titik akhir layanan harus sesuai dengan jenis sertifikat CA root](gg-core.md#certificate-endpoints).

Perangkat klien juga mengunduh sertifikat CA grup Greengrass. Ini digunakan untuk memvalidasi sertifikat server MQTT pada core Greengrass selama autentikasi bersama. Untuk informasi selengkapnya, lihat [Alur kerja koneksi perangkat](gg-sec.md#gg-sec-connection). Kedaluwarsa default sertifikat server MQTT adalah tujuh hari.

### Rotasi sertifikat pada server MQTT lokal
<a name="gg-cert-expire"></a>

Perangkat klien menggunakan sertifikat server MQTT lokal untuk otentikasi timbal balik dengan perangkat inti Greengrass. Secara default, sertifikat ini kedaluwarsa dalam tujuh hari. Periode terbatas ini didasarkan pada praktik terbaik keamanan. Sertifikat server MQTT ditandatangani oleh sertifikat CA grup, yang disimpan di cloud. 

 Agar rotasi sertifikat terjadi, perangkat inti Greengrass Anda harus online dan dapat mengakses layanan secara langsung secara AWS IoT Greengrass teratur. Ketika sertifikat kedaluwarsa, perangkat inti mencoba untuk terhubung ke AWS IoT Greengrass layanan untuk mendapatkan sertifikat baru. Jika koneksi berhasil, perangkat core mengunduh sertifikat server MQTT baru dan memulai ulang layanan MQTT lokal. Pada titik ini, semua perangkat klien yang terhubung ke inti terputus. Jika perangkat inti offline pada saat kedaluwarsa, itu tidak menerima sertifikat pengganti. Upaya baru untuk connect ke perangkat core ditolak. Koneksi yang ada tidak terpengaruh. Perangkat klien tidak dapat terhubung ke perangkat inti sampai koneksi ke AWS IoT Greengrass layanan dipulihkan dan sertifikat server MQTT baru dapat diunduh. 

Anda dapat mengatur kedaluwarsa untuk setiap nilai antara 7 dan 30 hari, tergantung pada kebutuhan Anda. Rotasi yang lebih sering memerlukan koneksi cloud yang lebih sering. Rotasi yang kurang sering dapat menimbulkan masalah keamanan. Jika Anda ingin mengatur sertifikat kedaluwarsa ke nilai yang lebih tinggi dari 30 hari, kontak Dukungan. 

Di AWS IoT konsol, Anda dapat mengelola sertifikat di halaman **Pengaturan** grup. Di AWS IoT Greengrass API, Anda dapat menggunakan [UpdateGroupCertificateConfiguration](https://docs.aws.amazon.com/greengrass/v1/apireference/updategroupcertificateconfiguration-put.html)tindakan.

Ketika sertifikat server MQTT berakhir, setiap upaya untuk memvalidasi sertifikat gagal. Perangkat klien harus dapat mendeteksi kegagalan dan mengakhiri koneksi.

## AWS IoT kebijakan untuk operasi pesawat data
<a name="iot-policies"></a>

Gunakan AWS IoT kebijakan untuk mengotorisasi akses ke AWS IoT Core dan bidang AWS IoT Greengrass data. Bidang AWS IoT Core data terdiri dari operasi untuk perangkat, pengguna, dan aplikasi, seperti menghubungkan AWS IoT Core dan berlangganan topik. Bidang data AWS IoT Greengrass terdiri dari operasi untuk perangkat Greengrass, seperti mengambil deployment dan update informasi konektivitas.

 AWS IoT Kebijakan adalah dokumen JSON yang mirip dengan kebijakan [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html#policies-grammar-json). Ini berisi satu atau lebih pernyataan kebijakan yang menentukan properti berikut:
+ `Effect`. Mode akses, yang bisa jadi `Allow` atau `Deny`.
+ `Action`. Daftar tindakan yang diperbolehkan atau ditolak oleh kebijakan tersebut.
+ `Resource`. Daftar sumber daya tempat tindakan tersebut diizinkan atau ditolak.

AWS IoT kebijakan mendukung `*` sebagai karakter wildcard, dan memperlakukan karakter wildcard MQTT (`+`dan`#`) sebagai string literal. Untuk informasi selengkapnya tentang `*` wildcard, lihat [Menggunakan wildcard di resource ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html#reference_policies_elements_resource_wildcards) di *AWS Identity and Access Management Panduan Pengguna*.

Untuk informasi selengkapnya, lihat [kebijakan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html) dan [tindakan kebijakan AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-policy-actions.html) di *Panduan Developer AWS IoT Core *.

**catatan**  
AWS IoT Core memungkinkan Anda melampirkan AWS IoT kebijakan ke grup hal untuk menentukan izin untuk grup perangkat. Kebijakan grup hal tidak mengizinkan akses ke operasi pesawat AWS IoT Greengrass data. Untuk mengizinkan akses sesuatu ke operasi pesawat AWS IoT Greengrass data, tambahkan izin ke AWS IoT kebijakan yang Anda lampirkan ke sertifikat benda tersebut.

### AWS IoT Greengrass tindakan kebijakan
<a name="gg-policy-actions"></a>Tindakan Greengrass Core

AWS IoT Greengrass mendefinisikan tindakan kebijakan berikut yang dapat digunakan perangkat inti Greengrass dalam kebijakan: AWS IoT 

`greengrass:AssumeRoleForGroup`  
Izin untuk perangkat core Greengrass untuk mengambil kredensial menggunakan fungsi sistem Token Exchange Service (TES) Lambda. Izin yang terkait dengan kredensial diambil didasarkan pada kebijakan yang dilampirkan ke peran grup yang dikonfigurasi.  
Izin ini diperiksa ketika perangkat core Greengrass mencoba untuk mengambil kredensial (dengan asumsi kredensial tidak di-cache secara lokal).

`greengrass:CreateCertificate`  
Izin untuk perangkat core Greengrass untuk membuat sertifikat server sendiri.  
Izin ini diperiksa ketika perangkat core Greengrass menciptakan sertifikat. Perangkat core Greengrass mencoba untuk membuat sertifikat server pada pertama dijalankan, ketika informasi konektivitas perubahan core, dan pada periode rotasi yang ditunjuk.

`greengrass:GetConnectivityInfo`  
Izin untuk perangkat core Greengrass untuk mengambil informasi konektivitas sendiri.  
Izin ini diperiksa ketika perangkat inti Greengrass mencoba untuk mengambil informasi konektivitasnya dari. AWS IoT Core

`greengrass:GetDeployment`  
Izin untuk perangkat core Greengrass untuk mengambil deployment.  
Izin ini diperiksa ketika perangkat core Greengrass mencoba untuk mengambil deployment dan deployment status dari cloud.

`greengrass:GetDeploymentArtifacts`  
Izin untuk perangkat core Greengrass untuk mengambil artefak deployment seperti informasi grup atau fungsi Lambda.  
Izin ini diperiksa ketika perangkat Greengrass grup menerima deployment lalu mencoba untuk mengambil artefak deployment.

`greengrass:UpdateConnectivityInfo`  
Izin untuk perangkat core Greengrass untuk update informasi konektivitas sendiri dengan IP atau informasi hostname.  
Izin ini diperiksa ketika perangkat core Greengrass mencoba untuk memperbarui informasi konektivitasnya di cloud.

`greengrass:UpdateCoreDeploymentStatus`  
Izin untuk perangkat core Greengrass untuk memperbarui status deployment.  
Izin ini diperiksa ketika perangkat core Greengrass menerima deployment lalu mencoba untuk memperbarui status deployment.

 Tindakan Perangkat Greengrass

AWS IoT Greengrass mendefinisikan tindakan kebijakan berikut yang dapat digunakan perangkat klien dalam AWS IoT kebijakan:

`greengrass:Discover`  
Izin untuk perangkat klien untuk menggunakan [Discovery API](gg-discover-api.md) untuk mengambil informasi konektivitas inti grup dan otoritas sertifikat grup.  
Izin ini diperiksa ketika perangkat klien memanggil Discovery API dengan otentikasi timbal balik TLS.

## AWS IoT Kebijakan minimal untuk perangkat AWS IoT Greengrass inti
<a name="gg-config-sec-min-iot-policy"></a>

Kebijakan contoh berikut mencakup serangkaian tindakan minimum yang diperlukan untuk mendukung fungsi Greengrass dasar untuk perangkat core Anda.
+ Kebijakan mencantumkan topik MQTT dan filter topik yang dapat diterbitkan oleh perangkat core, berlangganan, dan menerima pesan, termasuk topik yang digunakan untuk status bayangan. Untuk mendukung pertukaran pesan antara AWS IoT Core, fungsi Lambda, konektor, dan perangkat klien di grup Greengrass, tentukan topik dan filter topik yang ingin Anda izinkan. Untuk informasi selengkapnya, lihat [contoh kebijakan Publikasi/Berlangganan](https://docs.aws.amazon.com/iot/latest/developerguide/pub-sub-policy.html) di *Panduan Developer AWS IoT Core *.
+ Kebijakan ini mencakup bagian yang memungkinkan AWS IoT Core untuk mendapatkan, memperbarui, dan menghapus bayangan perangkat inti. Untuk mengizinkan sinkronisasi bayangan untuk perangkat klien di grup Greengrass, tentukan target Nama Sumber Daya Amazon ARNs () dalam daftar (misalnya`Resource`,). `arn:aws:iot:region:account-id:thing/device-name`
+ <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.
+ Untuk `greengrass:UpdateCoreDeploymentStatus` izin, segmen akhir dalam `Resource` ARN adalah ARN URL-dikodekan dari perangkat core.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:Connect"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:client/core-name-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Publish",
                "iot:Receive"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topic/$aws/things/core-name-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:Subscribe"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:topicfilter/$aws/things/core-name-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:GetThingShadow",
                "iot:UpdateThingShadow",
                "iot:DeleteThingShadow"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:thing/core-name-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:AssumeRoleForGroup",
                "greengrass:CreateCertificate"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:GetDeployment"
            ],
            "Resource": [
                "arn:aws:greengrass:us-east-1:123456789012:/greengrass/groups/group-id/deployments/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:GetDeploymentArtifacts"
            ],
            "Resource": [
                "arn:aws:greengrass:us-east-1:123456789012:/greengrass/groups/group-id/deployments/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:UpdateCoreDeploymentStatus"
            ],
            "Resource": [
                "arn:aws:greengrass:us-east-1:123456789012:/greengrass/groups/group-id/deployments/*/cores/arn%3Aaws%3Aiot%3Aregion%3A123456789012%3Athing%2Fcore-name"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:GetConnectivityInfo",
                "greengrass:UpdateConnectivityInfo"
            ],
            "Resource": [
                "arn:aws:iot:us-east-1:123456789012:thing/core-name-*"
            ]
        }
    ]
}
```

------

**catatan**  
AWS IoT kebijakan untuk perangkat klien biasanya memerlukan izin serupa untuk`iot:Connect`,, `iot:Publish``iot:Receive`, dan `iot:Subscribe` tindakan.  
Untuk memungkinkan perangkat klien mendeteksi informasi konektivitas secara otomatis untuk inti dalam grup Greengrass tempat perangkat tersebut berada, kebijakan untuk perangkat klien harus menyertakan tindakan AWS IoT tersebut. `greengrass:Discover` Di `Resource` bagian ini, tentukan ARN perangkat klien, bukan ARN dari perangkat inti Greengrass. Contoh:  

```
{
    "Effect": "Allow",
    "Action": [
        "greengrass:Discover"
    ],
    "Resource": [
        "arn:aws:iot:region:account-id:thing/device-name"
    ]
}
```
 AWS IoT Kebijakan untuk perangkat klien biasanya tidak memerlukan izin untuk`iot:GetThingShadow`,, atau `iot:DeleteThingShadow` tindakan`iot:UpdateThingShadow`, karena inti Greengrass menangani operasi sinkronisasi bayangan untuk perangkat klien. Dalam hal ini, pastikan bahwa `Resource` bagian untuk tindakan bayangan dalam AWS IoT kebijakan inti ARNs mencakup perangkat klien.

 

Di AWS IoT konsol, Anda dapat melihat dan mengedit kebijakan yang dilampirkan ke sertifikat inti Anda.

1. Di panel navigasi, di bawah **Kelola**, perluas **Semua perangkat**, lalu pilih **Things**.

1. Pilih inti Anda.

1. Pada halaman konfigurasi inti Anda, pilih tab **Sertifikat**.

1. Di tab **Sertifikat**, pilih sertifikat Anda.

1. Pada halaman konfigurasi sertifikat, pilih **Kebijakan**, lalu pilih kebijakan.

   Jika Anda ingin mengedit kebijakan, pilih **Edit versi aktif**.

1. Tinjau kebijakan dan tambahkan, hapus, atau edit izin sesuai kebutuhan.

1. Untuk menetapkan versi kebijakan baru sebagai versi aktif, di bawah **Status versi Kebijakan**, pilih **Setel versi yang diedit sebagai versi aktif untuk kebijakan ini**.

1. Pilih **Simpan sebagai versi baru**.