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 AWS IoT Greengrass V1 sumber daya. Untuk informasi lebih lanjut, silakan kunjungi Migrasi dari AWS IoT Greengrass Version 1.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyebarkan rahasia ke AWS IoT Greengrass inti
Fitur ini tersedia untuk AWS IoT Greengrass Core v1.7 dan yang lebih baru.
AWS IoT Greengrass memungkinkan Anda melakukan otentikasi dengan layanan dan aplikasi dari perangkat Greengrass tanpa kata sandi hard-coding, token, atau rahasia lainnya.
AWS Secrets Manager adalah layanan yang dapat Anda gunakan untuk menyimpan dan mengelola rahasia Anda dengan aman di cloud. AWS IoT Greengrass memperluas Secrets Manager ke perangkat inti Greengrass, sehingga konektor dan fungsi Lambda Anda dapat menggunakan rahasia lokal untuk berinteraksi dengan layanan dan aplikasi. Contohnya, konektor Twilio Notifications menggunakan token autentikasi yang tersimpan secara lokal.
Untuk mengintegrasikan rahasia ke grup Greengrass, Anda membuat sumber daya grup yang mereferensi rahasia Secrets Manager. Sumber daya rahasia ini mereferensi rahasia cloud oleh ARN. Untuk mempelajari cara membuat, mengelola, dan menggunakan sumber daya rahasia, lihat Bekerja dengan sumber daya rahasia.
AWS IoT Greengrass mengenkripsi rahasia Anda saat transit dan saat istirahat. Selama penerapan grup AWS IoT Greengrass , mengambil rahasia dari Secrets Manager dan membuat salinan terenkripsi lokal pada inti Greengrass. Setelah Anda memutar rahasia cloud Anda di Secrets Manager, redeploy grup untuk men-deploy nilai diperbarui ke core.
Diagram berikut menunjukkan proses tingkat tinggi penggelaran rahasia ke core. Rahasia dienkripsi saat transit dan saat tidak digunakan.
Menggunakan AWS IoT Greengrass untuk menyimpan rahasia Anda secara lokal menawarkan keuntungan ini:
-
Dipisahkan dari kode (bukan kode keras). Hal ini mendukung kredensial yang dikelola secara terpusat dan membantu melindungi data sensitif dari risiko kompromi.
-
Tersedia untuk skenario offline. Konektor dan fungsi dapat mengakses layanan dan perangkat lunak lokal dengan aman ketika terputus dari internet.
-
Akses terkontrol ke rahasia. Hanya konektor dan fungsi terotorisasi dalam grup yang dapat mengakses rahasia Anda. AWS IoT Greengrass menggunakan enkripsi kunci privat untuk mengamankan rahasia Anda. Rahasia dienkripsi saat transit dan saat tidak digunakan. Untuk informasi selengkapnya, lihat Enkripsi rahasia.
-
Rotasi terkontrol. Setelah Anda memutar rahasia Anda di Secrets Manager, redeploy grup Greengrass untuk memperbarui salinan lokal rahasia Anda. Untuk informasi selengkapnya, lihat Membuat dan mengelola rahasia.
penting
AWS IoT Greengrass tidak secara otomatis memperbarui nilai rahasia lokal setelah versi cloud diputar. Untuk memperbarui nilai-nilai lokal, Anda harus redeploy grup.
Enkripsi rahasia
AWS IoT Greengrass mengenkripsi rahasia dalam transit dan saat istirahat.
penting
Pastikan bahwa fungsi Lambda yang ditetapkan pengguna milik Anda dapat menangani rahasia dengan aman dan jangan mencatat data sensitif apa pun yang disimpan dalam rahasia. Untuk informasi lebih lanjut, lihat Mengurangi risiko Pencatatan dan Debugging fungsi Lambda Anda dalam AWS Secrets Manager Panduan Pengguna. Meskipun dokumentasi ini secara khusus mengacu pada fungsi rotasi, rekomendasi juga berlaku untuk fungsi Lambda Greengrass.
- Enkripsi dalam transit
-
AWS IoT Greengrass Menggunakan Transport Layer Security (TLS) untuk mengenkripsi semua komunikasi melalui internet dan jaringan lokal. Hal ini melindungi rahasia saat transit, yang muncul ketika rahasia diambil dari Secrets Manager dan di-deploy ke core. Untuk dukungan TLS cipher suite, lihat TLS cipher suite mendukung.
- Enkripsi saat diam
-
AWS IoT Greengrass menggunakan kunci pribadi yang ditentukan config.json untuk enkripsi rahasia yang disimpan di inti. Untuk alasan ini, penyimpanan yang aman dengan kunci privat sangat penting untuk melindungi rahasia lokal. Dalam model tanggung jawab AWS bersama
, itu adalah tanggung jawab pelanggan untuk menjamin penyimpanan kunci pribadi yang aman pada perangkat inti. AWS IoT Greengrass mendukung dua mode penyimpanan kunci pribadi:
-
Menggunakan modul keamanan perangkat keras. Untuk informasi selengkapnya, lihat Integrasi keamanan perangkat keras.
catatan
Saat ini, hanya AWS IoT Greengrass mendukung mekanisme padding
PKCS #1 v1.5 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 #1 v1.5. AWS IoT Greengrass tidak mendukung Optimal Asymmetric Encryption Padding (OAEP). -
Menggunakan izin sistem file (default).
Kunci privat digunakan untuk mengamankan kunci data, yang digunakan untuk mengenkripsi rahasia lokal. Kunci data diputar dengan setiap deployment grup.
In AWS IoT Greengrass ti adalah satu-satunya entitas yang memiliki akses ke kunci pribadi. Konektor Greengrass atau fungsi Lambda yang berafiliasi dengan sumber daya rahasia mendapatkan nilai rahasia dari core.
-
Persyaratan
Ini adalah persyaratan untuk dukungan rahasia lokal:
-
Anda harus menggunakan AWS IoT Greengrass Core v1.7 atau yang lebih baru.
-
Untuk mendapatkan nilai rahasia lokal, fungsi Lambda yang ditentukan pengguna harus menggunakan AWS IoT Greengrass Core SDK v1.3.0 atau yang lebih baru.
-
Kunci privat yang digunakan untuk enkripsi rahasia lokal harus ditentukan dalam file konfigurasi Greengrass. Secara default, AWS IoT Greengrass menggunakan kunci pribadi inti yang disimpan dalam sistem file. Untuk menyediakan kunci privat milik Anda sendiri, lihat Tentukan kunci privat untuk enkripsi rahasia. Hanya jenis kunci RSA yang didukung.
catatan
Saat ini, hanya AWS IoT Greengrass mendukung mekanisme padding
PKCS #1 v1.5 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 #1 v1.5. AWS IoT Greengrass tidak mendukung Optimal Asymmetric Encryption Padding (OAEP). -
AWS IoT Greengrass harus diberikan izin untuk mendapatkan nilai rahasia Anda. Hal ini memungkinkan AWS IoT Greengrass untuk mengambil nilai selama penerapan grup. Jika Anda menggunakan peran layanan Greengrass default, maka AWS IoT Greengrass sudah memiliki akses ke rahasia dengan nama yang dimulai dengan greengrass-. Untuk menyesuaikan akses, lihat Izinkan AWS IoT Greengrass untuk mendapatkan nilai rahasia.
catatan
Sebaiknya gunakan konvensi penamaan ini untuk mengidentifikasi rahasia yang AWS IoT Greengrass diizinkan untuk diakses, bahkan jika Anda menyesuaikan izin. Konsol menggunakan izin yang berbeda untuk membaca rahasia Anda, jadi ada kemungkinan Anda dapat memilih rahasia di konsol yang AWS IoT Greengrass tidak memiliki izin untuk mengambil. Menggunakan konvensi penamaan dapat membantu menghindari konflik izin, yang mengakibatkan error deployment.
Tentukan kunci privat untuk enkripsi rahasia
Dalam prosedur ini, Anda menyediakan jalur ke kunci privat yang digunakan untuk enkripsi rahasia lokal. Hal ini harus menjadi kunci RSA dengan panjang minimum 2048 bit. Untuk informasi selengkapnya tentang kunci pribadi yang digunakan pada AWS IoT Greengrass inti, lihatAWS IoT Greengrass prinsip-prinsip keamanan inti.
AWS IoT Greengrass mendukung dua mode penyimpanan kunci pribadi: berbasis perangkat keras atau berbasis sistem file (default). Untuk informasi selengkapnya, lihat Enkripsi rahasia.
Ikuti prosedur ini hanya jika Anda ingin mengubah konfigurasi default, yang menggunakan kunci privat core dalam sistem file. Langkah-langkah ini ditulis dengan asumsi bahwa Anda membuat grup dan core seperti yang dijelaskan di Modul 2 dari tutorial Memulai Dengan.
-
Buka file config.json yang terletak di direktori
/ini.greengrass-root/configcatatan
greengrass-rootmewakili jalur di mana perangkat lunak AWS IoT Greengrass Core diinstal pada perangkat Anda. Biasanya, adalah direktori/greengrassini. -
Di objek
crypto.principals.SecretsManagertersebut, untuk propertiprivateKeyPathini, masukkan jalur dari kunci privat:-
Jika kunci privat Anda disimpan dalam sistem file, tentukan jalur absolut ke kunci. Contoh:
"SecretsManager" : { "privateKeyPath" : "file:///somepath/hash.private.key" } -
Jika kunci privat Anda disimpan dalam modul keamanan perangkat keras (HSM), tentukan jalur menggunakan skema URI RFC 7512 PKC #11
ini. Contoh: "SecretsManager" : { "privateKeyPath" : "pkcs11:object=private-key-label;type=private" }Untuk informasi selengkapnya, lihat Konfigurasi keamanan perangkat keras untuk AWS IoT Greengrass inti.
catatan
Saat ini, hanya AWS IoT Greengrass mendukung mekanisme padding
PKCS #1 v1.5 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 #1 v1.5. AWS IoT Greengrass tidak mendukung Optimal Asymmetric Encryption Padding (OAEP).
-
Izinkan AWS IoT Greengrass untuk mendapatkan nilai rahasia
Dalam prosedur ini, Anda menambahkan kebijakan sebaris ke peran layanan Greengrass yang memungkinkan AWS IoT Greengrass untuk mendapatkan nilai rahasia Anda.
Ikuti prosedur ini hanya jika Anda ingin memberikan izin AWS IoT Greengrass khusus untuk rahasia Anda atau jika peran layanan Greengrass Anda tidak menyertakan kebijakan terkel AWSGreengrassResourceAccessRolePolicy ola. AWSGreengrassResourceAccessRolePolicymemberikan akses ke rahasia dengan nama yang dimulai dengan greengrass-.
-
Jalankan perintah CLI berikut untuk mendapatkan ARN dari peran layanan Greengrass:
aws greengrass get-service-role-for-account --regionregionARN yang kembali berisi nama peran.
{ "AssociatedAt": "time-stamp", "RoleArn": "arn:aws:iam::account-id:role/service-role/role-name" }Anda menggunakan ARN atau nama pada langkah berikut.
-
Menambahkan kebijakan inline yang mengizinkan tindakan
secretsmanager:GetSecretValueini. Untuk instruksi, lihat Menambahkan dan menghapus kebijakan IAM di Panduan Pengguna IAM.Anda dapat memberikan akses terperinci dengan daftar rahasia secara eksplisit atau menggunakan wildcard skema penamaan
*ini, atau Anda dapat memberikan akses bersyarat ke versi atau tag rahasia. Misalnya, kebijakan berikut memungkinkan AWS IoT Greengrass untuk membaca hanya rahasia yang ditentukan.catatan
Jika Anda menggunakan AWS KMS kunci yang dikelola pelanggan untuk mengenkripsi rahasia, peran layanan Greengrass Anda juga harus mengizinkan tindakan tersebut.
kms:Decrypt
Untuk informasi lebih lanjut tentang kebijakan IAM untuk Secrets Manager, lihat Autentikasi dan kontrol akses untuk AWS Secrets Manager dan Tindakan, sumber daya, dan kunci konteks yang dapat Anda gunakan dalam kebijakan IAM atau kebijakan rahasia untuk AWS Secrets Manager di AWS Secrets Manager Panduan Pengguna.
Lihat juga
-
Apa itu AWS Secrets Manager? dalam Panduan AWS Secrets Manager Pengguna