> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Lindungi Kunci API Solana Anda: Praktik Terbaik Keamanan

> Amankan kunci API Solana Helius Anda dari pelaku kejahatan. Gunakan aturan kontrol akses, proxy RPC, dan praktik terbaik keamanan untuk mencegah penggunaan serta biaya yang tidak sah.

<Warning>
  **Peringatan Keamanan Kunci API**: Kunci API yang terekspos dapat menyebabkan penggunaan tanpa izin, menghabiskan kuota, dan menimbulkan biaya tidak terduga. Selalu lindungi kunci Anda dalam aplikasi produksi.
</Warning>

## Mengapa Perlindungan Kunci Penting

Jika Anda mengekspos kunci API di sisi klien, pelaku kejahatan dapat menemukan dan menyalahgunakannya, yang berpotensi:

<CardGroup cols={2}>
  <Card title="Exhaust Your Quota" icon="gauge-high">
    Penggunaan berbahaya dapat dengan cepat menghabiskan batas API Anda dan menyebabkan gangguan layanan
  </Card>

  <Card title="Increase Your Bills" icon="credit-card">
    Permintaan tanpa izin dapat memicu biaya penskalaan otomatis atau membuat Anda melampaui batas paket
  </Card>

  <Card title="Compromise Security" icon="shield-exclamation">
    Kunci yang terekspos dapat memberikan akses ke data dan operasi sensitif
  </Card>

  <Card title="Damage Performance" icon="triangle-exclamation">
    Penggunaan tanpa izin dalam jumlah besar dapat memengaruhi performa aplikasi Anda
  </Card>
</CardGroup>

## Metode Perlindungan

Helius menyediakan beberapa lapisan perlindungan untuk mengamankan kunci API Anda:

<Tabs>
  <Tab title="RPC Proxy">
    Terapkan proxy Anda sendiri untuk mendapatkan keamanan dan kontrol maksimal.

    <Card title="Helius RPC Proxy" icon="github" href="https://github.com/helius-labs/helius-rpc-proxy">
      Proxy RPC sumber terbuka sederhana yang dapat Anda terapkan ke Cloudflare dengan sekali klik.
    </Card>

    ### Manfaat Menggunakan Proxy

    <CardGroup cols={2}>
      <Card title="Complete Key Protection" icon="lock">
        Kunci API Anda tetap berada di sisi server dan tidak pernah terekspos kepada klien
      </Card>

      <Card title="Custom Rate Limiting" icon="gauge">
        Terapkan pembatasan laju dan kontrol penggunaan Anda sendiri
      </Card>

      <Card title="Request Filtering" icon="filter">
        Filter dan validasi permintaan sebelum mencapai Helius
      </Card>

      <Card title="Usage Analytics" icon="chart-line">
        Pantau dan analisis pola penggunaan API Anda
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Access Control Rules">
    Konfigurasikan kontrol akses yang tepat di dasbor Helius Anda untuk membatasi penggunaan API.

    <Frame caption="Configure RPC Access Control Rules in the RPCs section of your dashboard.">
      <img src="https://mintcdn.com/helius/OOj8B_dUNruGiNi2/images/rpc-access-control-rules.png?fit=max&auto=format&n=OOj8B_dUNruGiNi2&q=85&s=efa87187842a3f3c6e154a0f4e110652" alt="Configure RPC Access Control Rules in the RPCs section of your dashboard." width="3720" height="2094" data-path="images/rpc-access-control-rules.png" />
    </Frame>

    ### Jenis Aturan yang Tersedia

    <AccordionGroup>
      <Accordion title="Allowed Domains">
        Batasi akses ke domain tertentu—cocok untuk aplikasi web.

        **Kasus penggunaan:**

        * Situs web produksi (`yourdapp.com`)
        * Lingkungan staging (`staging.yourdapp.com`)
        * Deployment pratinjau (`preview.yourdapp.com`)

        **Contoh konfigurasi:**

        ```
        yourdapp.com
        www.yourdapp.com
        staging.yourdapp.com
        ```
      </Accordion>

      <Accordion title="Allowed IPs">
        Batasi akses ke alamat IP tertentu—ideal untuk aplikasi server.

        **Kasus penggunaan:**

        * Server backend dengan IP statis
        * Pipeline CI/CD
        * Layanan yang di-host di cloud

        **Contoh konfigurasi:**

        ```
        203.0.113.1
        198.51.100.42
        185.199.108.153
        ```

        <Note>
          Hanya alamat IP publik yang dapat digunakan di sini. IP privat/lokal (seperti 192.168.x.x atau 10.x.x.x) tidak dapat digunakan.
        </Note>
      </Accordion>

      <Accordion title="Allowed CIDRs">
        Batasi akses ke rentang IP menggunakan notasi CIDR—cocok untuk jaringan perusahaan.

        **Kasus penggunaan:**

        * Rentang IP publik perusahaan
        * Rentang IP penyedia cloud
        * Blok IP pusat data

        **Contoh konfigurasi:**

        ```
        203.0.113.0/24
        198.51.100.0/24
        185.199.108.0/22
        ```

        <Note>
          Hanya rentang IP publik yang dapat digunakan di sini. Blok CIDR privat (192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12) tidak dapat digunakan.
        </Note>
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Secure URL">
    Gunakan URL aman kami untuk aplikasi frontend tanpa mengekspos kunci API Anda.

    <Info>
      **Dibatasi Laju**: URL aman dibatasi hingga 5 permintaan per detik (RPS) per alamat IP, sehingga cocok untuk aplikasi frontend.

      **Khusus paket berbayar**: URL aman tersedia pada paket berbayar. Paket gratis tidak menyertakan fitur ini.
    </Info>

    ### Cara Menggunakan URL Aman

    <Steps>
      <Step title="Get Your Secure URL">
        Temukan URL aman Anda di bagian RPCs pada dasbor Helius
      </Step>

      <Step title="Replace Your Regular RPC URL">
        Gunakan URL aman sebagai pengganti URL RPC biasa yang menggunakan kunci API
      </Step>

      <Step title="No API Key Required">
        URL aman tidak memerlukan parameter kunci API
      </Step>
    </Steps>

    ```javascript theme={"system"}
    // Instead of this (exposes API key):
    const connection = new Connection('https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY');

    // Use this (secure, no API key exposed):
    const connection = new Connection('https://your-secure-url.helius-rpc.com');
    ```

    <Note>
      **Cocok untuk**: Aplikasi frontend, aplikasi seluler, dan kode sisi klien apa pun yang tidak memungkinkan Anda menyembunyikan kunci API.
    </Note>
  </Tab>
</Tabs>

## Praktik Terbaik

<CardGroup cols={1}>
  <Card title="Environment Variables" icon="code">
    Jangan pernah menulis kunci API secara langsung di dalam kode sumber Anda. Gunakan variabel lingkungan sebagai gantinya.

    ```javascript theme={"system"}
    // ❌ Don't do this
    const apiKey = "your-api-key-here";

    // ✅ Do this instead
    const apiKey = process.env.HELIUS_API_KEY;
    ```
  </Card>

  <Card title="Separate Keys for Different Environments" icon="layers">
    Gunakan kunci API yang berbeda untuk lingkungan pengembangan, staging, dan produksi.

    ```javascript theme={"system"}
    const getApiKey = () => {
      switch (process.env.NODE_ENV) {
        case 'production':
          return process.env.HELIUS_API_KEY_PROD;
        case 'staging':
          return process.env.HELIUS_API_KEY_STAGING;
        default:
          return process.env.HELIUS_API_KEY_DEV;
      }
    };
    ```
  </Card>

  <Card title="Regular Key Rotation" icon="arrows-rotate">
    Rotasikan kunci API Anda secara berkala dan segera lakukan jika Anda menduga kunci tersebut telah disusupi.

    <Steps>
      <Step title="Generate New Key">
        Buat kunci API baru di dasbor Helius Anda
      </Step>

      <Step title="Update Applications">
        Perbarui semua aplikasi agar menggunakan kunci baru
      </Step>

      <Step title="Test Thoroughly">
        Pastikan semua layanan berfungsi dengan kunci baru
      </Step>

      <Step title="Revoke Old Key">
        Hapus kunci lama dari dasbor Anda
      </Step>
    </Steps>
  </Card>

  <Card title="Monitor Usage" icon="chart-line">
    Periksa penggunaan API Anda secara berkala di dasbor Helius untuk mendeteksi pola yang tidak biasa.

    **Tanda bahaya yang perlu diperhatikan:**

    * Lonjakan penggunaan secara tiba-tiba
    * Permintaan dari lokasi yang tidak terduga
    * Tingkat kesalahan yang tinggi
    * Penggunaan di luar jam operasional
  </Card>
</CardGroup>

## Daftar Periksa Keamanan

<AccordionGroup>
  <Accordion title="✅ Development Security">
    * [ ] Gunakan variabel lingkungan untuk kunci API
    * [ ] Jangan pernah memasukkan kunci API ke kontrol versi
    * [ ] Gunakan kunci yang berbeda untuk lingkungan yang berbeda
    * [ ] Siapkan aturan kontrol akses untuk domain pengembangan
    * [ ] Gunakan URL aman untuk pengembangan frontend
  </Accordion>

  <Accordion title="✅ Production Security">
    * [ ] Terapkan aturan kontrol akses yang tepat
    * [ ] Gunakan proxy RPC untuk keamanan maksimal
    * [ ] Pantau penggunaan API secara berkala
    * [ ] Siapkan peringatan untuk pola penggunaan yang tidak biasa
    * [ ] Rotasikan kunci secara berkala
    * [ ] Dokumentasikan prosedur keamanan Anda
  </Accordion>

  <Accordion title="✅ Emergency Response">
    * [ ] Siapkan prosedur rotasi kunci
    * [ ] Ketahui cara mencabut kunci yang disusupi dengan cepat
    * [ ] Pantau kemungkinan pelanggaran keamanan
    * [ ] Siapkan informasi kontak dukungan Helius
    * [ ] Simpan cadangan konfigurasi keamanan Anda
  </Accordion>
</AccordionGroup>

## Kesalahan Umum yang Harus Dihindari

<Warning>
  **Hindari kesalahan keamanan umum berikut:**

  1. **Menulis kunci secara langsung dalam JavaScript frontend** - Selalu gunakan URL aman atau proxy
  2. **Memasukkan kunci ke repositori Git** - Gunakan variabel lingkungan dan `.gitignore`
  3. **Menggunakan kunci produksi untuk pengembangan** - Pisahkan kunci untuk lingkungan yang berbeda
  4. **Tidak menetapkan aturan kontrol akses** - Selalu konfigurasikan pembatasan domain/IP
  5. **Mengabaikan pola penggunaan yang tidak biasa** - Pantau dasbor Anda secara berkala
</Warning>

## Perlu Bantuan?

<CardGroup cols={2}>
  <Card title="Discord Community" icon="discord" href="https://discord.com/invite/6GXdee3gBj">
    Dapatkan bantuan dari komunitas dan tim Helius
  </Card>

  <Card title="Support Team" icon="headset" href="/docs/id/support">
    Hubungi tim dukungan kami jika Anda memiliki kekhawatiran terkait keamanan
  </Card>
</CardGroup>
