

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.

# Bekerja dengan sumber daya rahasia
<a name="secrets-using"></a>

AWS IoT Greengrass menggunakan *sumber daya rahasia* untuk mengintegrasikan rahasia dari AWS Secrets Manager ke dalam kelompok Greengrass. Sumber daya rahasia ini mereferensi rahasia Secrets Manager. Untuk informasi selengkapnya, lihat [Menyebarkan rahasia ke inti AWS IoT Greengrass](secrets.md).

Pada perangkat AWS IoT Greengrass inti, konektor dan fungsi Lambda dapat menggunakan sumber daya rahasia untuk mengautentikasi dengan layanan dan aplikasi, tanpa kata sandi hard-coding, token, atau kredenal lainnya.

## Membuat dan mengelola rahasia
<a name="secrets-create-manage"></a>

Dalam grup Greengrass, sumber daya rahasia mereferensi ARN dari rahasia Secrets Manager. Ketika sumber rahasia di-deploy ke core, nilai rahasia dienkripsi dan tersedia untuk konektor berafiliasi dan fungsi Lambda. Untuk informasi selengkapnya, lihat [Enkripsi rahasia](secrets.md#secrets-encryption).

Anda menggunakan Secrets Manager untuk membuat dan mengelola versi cloud rahasia Anda. Anda gunakan AWS IoT Greengrass untuk membuat, mengelola, dan menyebarkan sumber daya rahasia Anda.

**penting**  
Kami menyarankan agar Anda mengikuti praktik terbaik untuk memutar rahasia Anda di Secrets Manager. Kemudian, men-deploy grup Greengrass untuk memperbarui salinan lokal rahasia Anda. Untuk informasi selengkapnya, lihat [Memutar AWS Secrets Manager rahasia Anda](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) di *Panduan AWS Secrets Manager Pengguna*.

**Untuk membuat rahasia tersedia di inti Greengrass**

1. Buat rahasia di Secrets Manager. Ini adalah versi cloud dari rahasia Anda, yang disimpan secara terpusat dan dikelola di Secrets Manager. Tugas manajemen termasuk memutar nilai-nilai rahasia dan menerapkan kebijakan sumber daya.

1. Buat sumber daya rahasia di AWS IoT Greengrass. Ini adalah jenis sumber daya grup yang mereferensi rahasia cloud oleh ARN. Anda dapat mereferensikan rahasia hanya sekali per grup.

1. Konfigurasi konektor atau fungsi Lambda Anda. Anda harus mengafiliasi sumber daya dengan konektor atau fungsi dengan menentukan parameter atau properti yang sesuai. Hal ini mengizinkan mereka untuk mendapatkan nilai sumber daya rahasia yang di-deploy secara lokal. Untuk informasi lebih lanjut, lihat [Menggunakan rahasia lokal di konektor dan fungsi Lambda](#secrets-access).

1. Men-deploy grup Greengrass. Selama deployment, AWS IoT Greengrass mengambil nilai rahasia cloud dan menciptakan (atau membarui) rahasia lokal pada core.

Secrets Manager mencatat peristiwa di AWS CloudTrail setiap kali yang AWS IoT Greengrass mengambil nilai rahasia. AWS IoT Greengrass tidak mencatat peristiwa apa pun yang terkait dengan penerapan atau penggunaan rahasia lokal. Untuk informasi selengkapnya tentang pencatatan Secrets Manager, lihat [Memantau penggunaan AWS Secrets Manager rahasia Anda](https://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html) di *Panduan AWS Secrets Manager Pengguna*.

### Termasuk label staging dalam sumber daya rahasia
<a name="secret-resources-labels"></a>

Secrets Manager menggunakan label staging untuk mengidentifikasi versi tertentu dari nilai rahasia. Label staging dapat ditetapkan sistem atau ditetapkan pengguna. Secrets Manager menugaskan label `AWSCURRENT` ke versi terbaru dari nilai rahasia. Label staging umumnya digunakan untuk mengelola rotasi rahasia. Untuk informasi lebih lanjut tentang pembuatan versioning Secrets Manager, lihat [ Istilah dan konsep kunci untuk AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html) di *AWS Secrets Manager Panduan Pengguna*.

Sumber daya rahasia selalu menyertakan label staging `AWSCURRENT` ini, dan mereka secara opsional dapat menyertakan label staging lain jika mereka diperlukan oleh fungsi Lambda atau konektor. Selama penyebaran grup, AWS IoT Greengrass mengambil nilai label pementasan yang direferensikan dalam grup, dan kemudian membuat atau memperbarui nilai yang sesuai pada inti.

### Membuat dan mengelola sumber daya rahasia (konsol)
<a name="create-manage-secret-resource-console"></a>

#### Membuat sumber daya rahasia (konsol)
<a name="create-manage-secret-resource-console-create"></a>

Di AWS IoT Greengrass konsol, Anda membuat dan mengelola sumber daya rahasia dari tab **Rahasia** di halaman **Sumber Daya** grup. Untuk tutorial yang membuat sumber daya rahasia dan menambahkannya ke grup, lihat [Cara membuat sumber daya rahasia (konsol)](secrets-console.md) dan [Memulai dengan konektor Greengrass (konsol)](connectors-console.md).

![\[Sumber daya rahasia pada tab Rahasia pada halaman Sumber Daya.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/connectors/secret-resource-twilio-auth-token.png)


**catatan**  
Sebagai alternatif, konsol tersebut mengizinkan Anda membuat sumber rahasia dan rahasia saat Anda mengonfigurasi konektor atau fungsi Lambda. Anda dapat melakukan hal ini dari konektor halaman **Mengonfigurasi parameter** atau fungsi Lambda halaman **Sumber Daya** ini.

#### Mengelola sumber daya rahasia (konsol)
<a name="create-manage-secret-resource-console-manage"></a>

Tugas manajemen untuk sumber daya rahasia dalam grup Greengrass Anda termasuk menambahkan sumber daya rahasia ke grup, menghapus sumber daya rahasia dari grup, dan mengubah aturan dari [Label staging](#secret-resources-labels) yang termasuk dalam sumber daya rahasia.

Jika Anda menunjuk ke rahasia yang berbeda dari Secrets Manager, Anda juga harus mengedit konektor yang menggunakan rahasia:

1. Di halaman Konfigurasi grup, pilih **Konektor**.

1. Dari menu kontekstual konektor, pilih **Edit**.

1. Halaman **Edit parameter** menampilkan pesan untuk memberitahu Anda bahwa ARN rahasia berubah. Untuk mengonfirmasi perubahan, pulih **Simpan**.

Jika Anda menghapus rahasia di Secrets Manager, maka menghapus sumber rahasia yang sesuai dari grup dan dari konektor dan fungsi Lambda yang mereferensinya. Jika tidak, selama deployment grup, AWS IoT Greengrass mengembalikan error bahwa rahasia tidak dapat ditemukan. Juga memperbarui kode fungsi Lambda Anda sesuai kebutuhan.

### Membuat dan mengelola sumber daya rahasia (CLI)
<a name="create-manage-secret-resource-cli"></a>

#### Membuat sumber daya rahasia (CLI)
<a name="create-manage-secret-resource-cli-create"></a>

Di AWS IoT Greengrass API, rahasia adalah jenis sumber daya grup. Contoh berikut membuat definisi sumber daya dengan versi awal yang mencakup sumber daya rahasia bernama `MySecretResource`. Untuk tutorial yang membuat sumber daya rahasia dan menambahkannya ke versi grup, lihat [Memulai dengan konektor Greengrass (CLI)](connectors-cli.md).

Sumber daya rahasia mereferensi ARN dari Secrets Manager yang sesuai rahasia dan mencakup dua label staging selain `AWSCURRENT`, yang selalu disertakan.

```
aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{
    "Resources": [
        {
            "Id": "my-resource-id",
            "Name": "MySecretResource",
            "ResourceDataContainer": {
                "SecretsManagerSecretResourceData": {
                    "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:greengrass-SomeSecret-KUj89s",
                    "AdditionalStagingLabelsToDownload": [
                        "Label1",
                        "Label2"
                    ]
                }
            }
        }
    ]
}'
```

#### Mengelola sumber daya rahasia (CLI)
<a name="create-manage-secret-resource-cli-manage"></a>

Tugas manajemen untuk sumber daya rahasia dalam grup Greengrass Anda termasuk menambahkan sumber daya rahasia ke grup, menghapus sumber daya rahasia dari grup, dan mengubah aturan dari [Label staging](#secret-resources-labels) yang termasuk dalam sumber daya rahasia.

Di AWS IoT Greengrass API, perubahan ini diimplementasikan dengan menggunakan versi.

 AWS IoT Greengrass API menggunakan versi untuk mengelola grup. Versi tidak dapat diubah, jadi untuk menambah atau mengubah komponen grup — misalnya, perangkat klien grup, fungsi, dan sumber daya — Anda harus membuat versi komponen baru atau yang diperbarui. Kemudian, Anda membuat dan men-deploy versi grup yang berisi versi target masing-masing komponen. Untuk mempelajari tentang grup, lihat [AWS IoT Greengrass kelompok](what-is-gg.md#gg-group).

Misalnya, untuk mengubah aturan label staging untuk sumber daya rahasia:

1. Buat versi definisi sumber daya yang berisi sumber daya rahasia diperbarui. Contoh berikut menambahkan label staging ketiga untuk sumber daya rahasia dari bagian sebelumnya.
**catatan**  
Untuk menambahkan lebih banyak sumber daya dari versi, termasuk mereka di dalam array `Resources` ini.

   ```
   aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{
       "Resources": [
           {
               "Id": "my-resource-id",
               "Name": "MySecretResource",
               "ResourceDataContainer": {
                   "SecretsManagerSecretResourceData": {
                       "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:greengrass-SomeSecret-KUj89s",
                       "AdditionalStagingLabelsToDownload": [
                           "Label1",
                           "Label2",
                           "Label3"
                       ]
                   }
               }
           }
       ]
   }'
   ```

1. Jika ID dari sumber daya rahasia diubah, perbarui konektor dan fungsi yang menggunakan sumber daya rahasia. Dalam versi baru, perbarui parameter atau properti yang sesuai dengan ID sumber daya. Jika ARN rahasianya berubah, Anda juga harus memperbarui parameter yang sesuai untuk konektor yang menggunakan rahasianya.
**catatan**  
ID sumber daya adalah pengenal arbitrer yang disediakan oleh pelanggan.

1. Membuat versi grup yang berisi versi target dari setiap komponen yang ingin Anda kirim ke core.

1. Men-deploy versi grup.

Untuk tutorial yang menunjukkan cara membuat dan men-deploy sumber daya rahasia, konektor, dan fungsi, lihat [Memulai dengan konektor Greengrass (CLI)](connectors-cli.md).

Jika Anda menghapus rahasia di Secrets Manager, maka menghapus sumber rahasia yang sesuai dari grup dan dari konektor dan fungsi Lambda yang mereferensinya. Jika tidak, selama deployment grup, AWS IoT Greengrass mengembalikan error bahwa rahasia tidak dapat ditemukan. Juga memperbarui kode fungsi Lambda Anda sesuai kebutuhan. Anda dapat menghapus rahasia lokal dengan men-deploy versi definisi sumber daya yang tidak berisi sumber daya rahasia yang sesuai.

## Menggunakan rahasia lokal di konektor dan fungsi Lambda
<a name="secrets-access"></a>

Konektor Greengrass dan fungsi Lambda menggunakan rahasia lokal untuk berinteraksi dengan layanan dan aplikasi. Nilai `AWSCURRENT` digunakan secara default, tetapi nilai-nilai lainnya dari [ Label staging](#secret-resources-labels) termasuk sumber daya rahasia juga tersedia.

Konektor dan fungsi harus dikonfigurasi sebelum mereka dapat mengakses rahasia lokal. Hal ini mengafiliasi sumber daya rahasia dengan konektor atau fungsi.

**Konektor**  
Jika konektor memerlukan akses ke rahasia lokal, maka sediakan parameter yang Anda konfigurasikan dengan informasi yang dibutuhkan untuk mengakses rahasia.  
+ Untuk mempelajari cara melakukan ini di AWS IoT Greengrass konsol, lihat[Memulai dengan konektor Greengrass (konsol)](connectors-console.md).
+ Untuk mempelajari cara melakukan ini dengan AWS IoT Greengrass CLI, lihat. [Memulai dengan konektor Greengrass (CLI)](connectors-cli.md)
Untuk informasi tentang persyaratan bagi masing-masing konektor, lihat [AWS-disediakan konektor Greengrass](connectors-list.md).  
Logika untuk mengakses dan menggunakan rahasia dibangun ke dalam konektor.

**Fungsi Lambda**  
Untuk memungkinkan fungsi Greengrass Lambda agar mengakses rahasia lokal, Anda mengonfigurasi properti fungsi.  
+ Untuk mempelajari cara melakukan ini di AWS IoT Greengrass konsol, lihat[Cara membuat sumber daya rahasia (konsol)](secrets-console.md).
+ Untuk melakukan ini di AWS IoT Greengrass API, Anda memberikan informasi berikut di `ResourceAccessPolicies` properti.
  + `ResourceId`: ID sumber daya rahasia dalam grup Greengrass. Ini adalah sumber daya yang mereferensi ARN dari Secrets Manager yang sesuai rahasia.
  + `Permission`: Jenis akses yang memiliki fungsi ke sumber daya. Hanya izin `ro` (hanya baca) didukung untuk sumber daya rahasia.

  Contoh berikut membuat fungsi Lambda yang dapat mengakses sumber daya rahasia `MyApiKey` tersebut.

  ```
  aws greengrass create-function-definition --name MyGreengrassFunctions --initial-version '{
      "Functions": [
          {
              "Id": "MyLambdaFunction",
              "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1",
              "FunctionConfiguration": {
                  "Pinned": false,
                  "MemorySize": 16384,
                  "Timeout": 10,
                  "Environment": {
                      "ResourceAccessPolicies": [
                          {
                              "ResourceId": "MyApiKey",
                              "Permission": "ro"
                          }                          
                      ],
                      "AccessSysfs": true
                  }
              }
          }
      ]
  }'
  ```

   

  Untuk mengakses rahasia lokal saat runtime, fungsi Greengrass Lambda `get_secret_value` memanggil fungsi `secretsmanager` dari klien AWS IoT Greengrass di Core SDK (v1.3.0 atau yang lebih baru).

  Contoh berikut menunjukkan cara menggunakan AWS IoT Greengrass Core SDK untuk Python untuk mendapatkan rahasia. Itu melewati nama rahasia ke fungsi `get_secret_value` tersebut. `SecretId` bisa menjadi nama atau ARN dari rahasia Secrets Manager (bukan sumber daya rahasia).

  ```
  import greengrasssdk
  
  secrets_client = greengrasssdk.client("secretsmanager")
  secret_name = "greengrass-MySecret-abc"
  
  
  def function_handler(event, context):
      response = secrets_client.get_secret_value(SecretId=secret_name)
      secret = response.get("SecretString")
  ```

  Untuk rahasia jenis teks, `get_secret_value` fungsi kembali ke string. Untuk rahasia jenis biner, maka mengembalikan string base64 yang dikodekan.
**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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements) dalam *AWS Secrets Manager Panduan Pengguna*. Meskipun dokumentasi ini secara khusus mengacu pada fungsi rotasi, rekomendasi juga berlaku untuk fungsi Lambda Greengrass.

  Nilai rahasia saat ini dikembalikan ke default. Ini adalah versi di mana label staging `AWSCURRENT` melekat. Untuk mengakses versi yang berbeda, berikan nama label staging yang sesuai untuk argumen `VersionStage` yang opsional. Contoh:

  ```
  import greengrasssdk
  
  secrets_client = greengrasssdk.client("secretsmanager")
  secret_name = "greengrass-TestSecret"
  secret_version = "MyTargetLabel"
  
  
  # Get the value of a specific secret version
  def function_handler(event, context):
      response = secrets_client.get_secret_value(
          SecretId=secret_name, VersionStage=secret_version
      )
      secret = response.get("SecretString")
  ```

  Untuk fungsi contoh lain yang memanggil `get_secret_value`, lihat [Buat paket deployment fungsi Lambda](secrets-console.md#secrets-console-create-deployment-package).