0Pricing
DevOps Bootcamp · Pelajaran

Pengelolaan Rahasia dengan GitHub

Pelajari secara mendalam cara menyimpan dan mengakses kredensial sensitif dengan aman menggunakan GitHub Secrets dan OpenID Connect (OIDC).

Pengelolaan Rahasia dengan GitHub adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Mengapa Pengelolaan Rahasia yang Aman Penting

Dalam proyek perangkat lunak apa pun, Anda sering perlu menggunakan informasi sensitif seperti kunci API, kredensial basis data, atau token akses. Menyimpan informasi tersebut secara langsung di dalam kode atau repositori Anda merupakan risiko keamanan yang besar.

Pengelolaan rahasia adalah praktik menyimpan dan mengelola bagian data sensitif tersebut secara aman. Praktik ini memastikan bahwa hanya sistem dan pengguna yang berwenang yang dapat mengaksesnya, sehingga mencegah paparan tanpa izin.

Apa Itu GitHub Secrets

GitHub menyediakan cara aman untuk menyimpan informasi sensitif yang disebut GitHub Secrets. Informasi ini berupa variabel lingkungan terenkripsi yang dapat Anda gunakan dalam alur kerja GitHub Actions.

  • Informasi tersebut tidak ditulis ke catatan secara bawaan.
  • Informasi tersebut tidak terlihat di antarmuka setelah dibuat.
  • Informasi tersebut hanya dapat diakses oleh alur kerja yang dipilih.

Dengan demikian, kredensial Anda terlindungi dari paparan yang tidak disengaja.

Menyiapkan Rahasia Repositori

Anda dapat menentukan rahasia pada beberapa tingkat: repositori, lingkungan, atau organisasi. Biasanya, Anda akan memulai dengan rahasia repositori.

Untuk membuatnya:

  1. Buka tab Pengaturan repositori Anda.
  2. Buka Rahasia dan variabel > Tindakan.
  3. Klik Rahasia repositori baru.

Berikan nama yang unik, misalnya API_KEY, lalu tempelkan nilai rahasia Anda.

Mengakses Rahasia dalam Alur Kerja

Setelah rahasia ditentukan, Anda dapat menggunakannya dalam berkas YAML alur kerja. GitHub Actions secara otomatis menyisipkan rahasia sebagai variabel lingkungan ke dalam tugas Anda.

Anda mengaksesnya menggunakan konteks ${{ secrets.SECRET_NAME }}. Skrip ini menyimulasikan sebuah langkah yang akan menggunakan rahasia tersebut. Untuk menjalankannya, anggaplah MY_API_KEY telah ditetapkan sebagai variabel lingkungan oleh GitHub Actions.

#!/bin/bash
# This script simulates a workflow step
# where a secret is passed as an environment variable.

echo "Attempting to use an API key..."

# In a real GitHub Action, MY_API_KEY would be
# set by ${{ secrets.MY_API_KEY }} in the workflow YAML.

if [ -z "$MY_API_KEY" ]; then
  echo "Error: MY_API_KEY is not set!"
  echo "Please define it as a secret in your workflow."
else
  echo "Successfully accessed API key (partially shown): ${MY_API_KEY:0:5}..."
fi

Cakupan Rahasia yang Lebih Luas

Selain rahasia repositori, GitHub menyediakan dua cakupan lain yang lebih canggih:

  • Rahasia Organisasi: Tersedia untuk beberapa repositori dalam suatu organisasi. Berguna untuk rahasia yang digunakan bersama di banyak proyek, misalnya token penerapan seluruh perusahaan.
  • Rahasia Lingkungan: Terikat pada lingkungan penerapan tertentu, misalnya staging atau production. Rahasia ini dapat memiliki aturan perlindungan, seperti mewajibkan persetujuan manual sebelum penerapan.

Selalu gunakan cakupan terkecil yang diperlukan untuk keamanan maksimum.

Apa Itu OpenID Connect (OIDC)

OpenID Connect (OIDC) adalah lapisan autentikasi yang dibangun di atas OAuth 2.0. Ini adalah standar yang memungkinkan klien memverifikasi identitas pengguna akhir berdasarkan autentikasi yang dilakukan oleh server otorisasi.

Dalam CI/CD, OIDC memungkinkan alur kerja Anda melakukan autentikasi secara aman dengan penyedia layanan awan seperti AWS, Azure, dan GCP tanpa perlu menyimpan kredensial berumur panjang, seperti kunci API, sebagai GitHub Secrets.

Cara OIDC Bekerja dengan Actions

GitHub Actions dapat bertindak sebagai penyedia OIDC. Saat alur kerja berjalan, GitHub membuat token OIDC unik dan berjangka pendek untuk tugas tertentu tersebut.

Token ini berisi klaim yang dapat diverifikasi tentang alur kerja, seperti repositori, cabang, dan ID tugas. Penyedia layanan awan kemudian dapat dikonfigurasi untuk memercayai token yang diterbitkan oleh GitHub dan memberikan akses sementara berdasarkan klaim tersebut.

Manfaat Utama OIDC

Penggunaan OIDC dengan GitHub Actions memberikan keuntungan keamanan yang signifikan:

  • Tanpa Kredensial Berumur Panjang: Anda tidak menyimpan kunci API layanan awan statis di GitHub Secrets.
  • Risiko Berkurang: Token berjangka pendek meminimalkan dampak jika token tersebut disusupi.
  • Akses Terperinci: Peran layanan awan dapat dipetakan ke kondisi alur kerja tertentu, misalnya hanya mengizinkan penerapan dari cabang main.
  • Pengauditan: Lebih mudah melacak siapa melakukan apa karena identitas terikat pada eksekusi alur kerja.

Mengintegrasikan OIDC dengan Layanan Awan

Untuk menggunakan OIDC, Anda perlu mengonfigurasi penyedia layanan awan, misalnya AWS IAM, Azure AD, atau GCP IAM, agar memercayai penerbit OIDC milik GitHub.

Proses ini biasanya mencakup:

  1. Menyiapkan Penyedia Identitas (IdP) di akun layanan awan Anda.
  2. Menentukan Peran/Kebijakan yang memberikan izin tertentu.
  3. Menambahkan "Kebijakan Kepercayaan" ke peran tersebut agar token OIDC GitHub dapat menggunakannya, biasanya dengan kondisi berdasarkan klaim token, misalnya hanya dari repositori tertentu.

Alur kerja kemudian meminta token dan menggunakannya untuk melakukan autentikasi.

Pemeriksaan Singkat: Akses Aman

Anda telah mempelajari GitHub Secrets untuk menyimpan data sensitif dan OpenID Connect untuk autentikasi layanan awan tanpa kredensial.

Manakah dari pernyataan berikut tentang pengelolaan rahasia GitHub Actions yang TRUE?

Ringkasan: Amankan Kredensial Anda

Bagus sekali! Anda telah mempelajari cara mengelola data sensitif dengan aman dalam alur CI/CD Anda.

  • GitHub Secrets menyediakan penyimpanan terenkripsi untuk kunci API dan token di dalam repositori, organisasi, atau lingkungan tertentu.
  • OpenID Connect (OIDC) menyediakan cara yang lebih aman untuk melakukan autentikasi dengan penyedia layanan awan menggunakan token berjangka pendek yang dapat diverifikasi, bukan kredensial statis.

Praktik-praktik ini sangat penting untuk membangun alur DevOps yang tangguh dan aman.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pengelolaan Rahasia dengan GitHub” gratis?

Ya — teks lengkap “Pengelolaan Rahasia dengan GitHub” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pengelolaan Rahasia dengan GitHub”?

Pelajari secara mendalam cara menyimpan dan mengakses kredensial sensitif dengan aman menggunakan GitHub Secrets dan OpenID Connect (OIDC). Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Pengelolaan Rahasia dengan GitHub” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Praktik Terbaik Keamanan dalam CI/CD
  2. Pengelolaan Rahasia dengan GitHub
  3. Pengujian Keamanan Aplikasi Statis (SAST)
  4. Keamanan Dependensi dan Rantai Pasokan (SCA)
← Kembali ke DevOps Bootcamp