Bagikan melalui


Perwakilan layanan untuk CI/CD

Artikel ini menjelaskan cara menggunakan perwakilan layanan untuk CI/CD dengan Azure Databricks. Perwakilan layanan adalah identitas yang dibuat untuk digunakan dengan alat dan aplikasi otomatis, termasuk:

Sebagai praktik terbaik keamanan, Databricks merekomendasikan penggunaan perwakilan layanan dan tokennya alih-alih pengguna Azure Databricks Atau token akses pribadi Databricks Anda untuk pengguna ruang kerja Anda untuk memberi platform CI/CD akses ke sumber daya Azure Databricks. Beberapa manfaat untuk pendekatan ini meliputi yang berikut ini:

  • Anda dapat memberikan dan membatasi akses ke sumber daya Azure Databricks untuk perwakilan layanan secara independen dari pengguna. Misalnya, ini memungkinkan Anda untuk melarang perwakilan layanan bertindak sebagai admin di ruang kerja Azure Databricks Anda sambil tetap mengizinkan pengguna tertentu lainnya di ruang kerja Anda untuk terus bertindak sebagai admin.
  • Pengguna dapat melindungi token akses mereka agar tidak diakses oleh platform CI/CD.
  • Anda dapat menonaktifkan sementara atau menghapus perwakilan layanan secara permanen tanpa memengaruhi pengguna lain. Misalnya, ini memungkinkan Anda menjeda atau menghapus akses dari perwakilan layanan yang Anda duga digunakan dengan cara yang berbahaya.
  • Jika pengguna meninggalkan organisasi, Anda dapat menghapus pengguna tersebut tanpa memengaruhi perwakilan layanan apa pun.

Untuk memberikan akses platform CI/CD ke ruang kerja Azure Databricks Anda, lakukan hal berikut:

Pilih salah satu mekanisme autentikasi MS Entra yang didukung berikut ini dengan koneksi layanan:

Persyaratan

  • Token OAuth Azure Databricks atau token ID Microsoft Entra untuk perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra. Untuk membuat perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra dan token OAuth Azure Databricks atau token ID Microsoft Entra, lihat Mengelola perwakilan layanan.
  • Akun dengan penyedia Git Anda.

Menyiapkan GitHub Actions

GitHub Actions harus dapat mengakses ruang kerja Azure Databricks Anda. Jika Anda ingin menggunakan folder Git Azure Databricks, ruang kerja Anda juga harus dapat mengakses GitHub.

Untuk mengaktifkan GitHub Actions untuk mengakses ruang kerja Azure Databricks, Anda harus memberikan informasi tentang perwakilan layanan terkelola Azure Databricks atau perwakilan layanan terkelola ID Microsoft Entra ke GitHub Actions. Ini dapat mencakup informasi seperti ID Aplikasi (klien), ID Direktori (penyewa) untuk perwakilan layanan terkelola ID Microsoft Entra, perwakilan layanan terkelola Azure Databricks, atau rahasia klien perwakilan layanan terkelola MICROSOFT Entra ID, atau access_token nilai untuk perwakilan layanan terkelola Azure Databricks, tergantung pada persyaratan Tindakan GitHub. Untuk informasi selengkapnya, lihat Mengelola perwakilan layanan dan dokumentasi GitHub Action.

Jika Anda juga ingin mengaktifkan ruang kerja Azure Databricks untuk mengakses GitHub saat menggunakan folder Git Azure Databricks, Anda harus menambahkan token akses pribadi GitHub untuk pengguna komputer GitHub ke ruang kerja Anda.

Berikan informasi tentang perwakilan layanan Anda ke GitHub Actions

Bagian ini menjelaskan cara mengaktifkan GitHub Actions untuk mengakses ruang kerja Azure Databricks Anda.

Sebagai praktik terbaik keamanan, Databricks menyarankan agar Anda tidak memasukkan informasi tentang perwakilan layanan Anda langsung ke dalam isi file GitHub Actions. Anda harus memberikan informasi ini ke GitHub Actions dengan menggunakan rahasia terenkripsi GitHub sebagai gantinya.

GitHub Actions, seperti yang dicantumkan Databricks dalam integrasi dan pengiriman Berkelanjutan menggunakan GitHub Actions, mengandalkan berbagai rahasia terenkripsi GitHub seperti:

  • DATABRICKS_HOST, yang merupakan nilai https:// diikuti oleh nama instans ruang kerja Anda, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • AZURE_CREDENTIALS, yang merupakan dokumen JSON yang mewakili output menjalankan Azure CLI untuk mendapatkan informasi tentang perwakilan layanan terkelola ID Microsoft Entra. Untuk informasi selengkapnya, lihat dokumentasi untuk GitHub Action.
  • AZURE_SP_APPLICATION_ID, yang merupakan nilai ID Aplikasi (klien) untuk perwakilan layanan terkelola ID Microsoft Entra.
  • AZURE_SP_TENANT_ID, yang merupakan nilai ID Direktori (penyewa) untuk perwakilan layanan terkelola ID Microsoft Entra.
  • AZURE_SP_CLIENT_SECRET, yang merupakan nilai nilai rahasia klien untuk perwakilan layanan terkelola ID Microsoft Entra.

Untuk informasi selengkapnya tentang rahasia terenkripsi GitHub mana yang diperlukan untuk GitHub Action, lihat Mengelola perwakilan layanan dan dokumentasi untuk GitHub Action tersebut.

Untuk menambahkan rahasia terenkripsi GitHub ini ke repositori GitHub Anda, lihat Membuat rahasia terenkripsi untuk repositori dalam dokumentasi GitHub. Untuk pendekatan lain untuk menambahkan rahasia repositori GitHub ini, lihat Rahasia terenkripsi dalam dokumentasi GitHub.

Menambahkan token akses pribadi GitHub untuk pengguna komputer GitHub ke ruang kerja Azure Databricks Anda

Bagian ini menjelaskan cara mengaktifkan ruang kerja Azure Databricks Anda untuk mengakses GitHub dengan folder Git Azure Databricks. Ini adalah tugas opsional dalam skenario CI/CD.

Sebagai praktik terbaik keamanan, Databricks merekomendasikan agar Anda menggunakan pengguna mesin GitHub alih-alih akun pribadi GitHub, karena banyak alasan yang sama bahwa Anda harus menggunakan perwakilan layanan alih-alih pengguna Azure Databricks. Untuk menambahkan token akses pribadi GitHub untuk pengguna komputer GitHub ke ruang kerja Azure Databricks Anda, lakukan hal berikut:

  1. Buat pengguna komputer GitHub, jika Anda belum memilikinya. Pengguna mesin GitHub adalah akun pribadi GitHub, terpisah dari akun pribadi GitHub Anda sendiri, yang dapat Anda gunakan untuk mengotomatiskan aktivitas di GitHub. Buat akun GitHub terpisah baru untuk digunakan sebagai pengguna komputer GitHub, jika Anda belum memilikinya.

    Catatan

    Saat Anda membuat akun GitHub terpisah baru sebagai pengguna komputer GitHub, Anda tidak dapat mengaitkannya dengan alamat email untuk akun pribadi GitHub Anda sendiri. Sebagai gantinya, lihat administrator email organisasi Anda tentang mendapatkan alamat email terpisah yang dapat Anda kaitkan dengan akun GitHub terpisah baru ini sebagai pengguna komputer GitHub.

    Lihat administrator akun organisasi Anda tentang mengelola alamat email terpisah dan pengguna mesin GitHub terkait dan token akses pribadi GitHub-nya dalam organisasi Anda.

  2. Berikan akses pengguna komputer GitHub ke repositori GitHub Anda. Lihat Mengundang tim atau orang dalam dokumentasi GitHub. Untuk menerima undangan, Anda mungkin harus terlebih dahulu keluar dari akun pribadi GitHub Anda, lalu masuk kembali sebagai pengguna komputer GitHub.

  3. Masuk ke GitHub sebagai pengguna komputer, lalu buat token akses pribadi GitHub untuk pengguna komputer tersebut. Lihat Membuat token akses pribadi dalam dokumentasi GitHub. Pastikan untuk memberikan akses repositori token akses pribadi GitHub.

  4. Kumpulkan token ID Microsoft Entra untuk perwakilan layanan Anda, nama pengguna mesin GitHub Anda, lalu lihat Menggunakan perwakilan layanan dengan folder Databricks Git.

Menyiapkan Azure Pipelines

Azure Pipelines harus dapat mengakses ruang kerja Azure Databricks Anda. Jika Anda juga ingin menggunakan folder Git Azure Databricks, ruang kerja Anda harus dapat mengakses Azure Pipelines.

File alur YAML Azure Pipelines mengandalkan variabel lingkungan untuk mengakses ruang kerja Azure Databricks Anda. Variabel lingkungan ini mencakup variabel seperti:

  • DATABRICKS_HOST, yang merupakan nilai https:// diikuti oleh nama instans ruang kerja Anda, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, yang merupakan nilai nilai token_value yang Anda salin setelah Anda membuat token ID Microsoft Entra untuk perwakilan layanan terkelola ID Microsoft Entra.

Untuk menambahkan variabel lingkungan ini ke alur Azure Anda, lihat Menggunakan rahasia Nilai Kunci Azure di Azure Pipelines dan Mengatur variabel rahasia dalam dokumentasi Azure.

Lihat juga blog Databricks berikut ini:

Opsional untuk skenario CI/CD: Jika ruang kerja Anda menggunakan folder Git Azure Databricks, dan Anda ingin mengaktifkan ruang kerja Anda untuk mengakses Azure Pipelines, kumpulkan:

  • Token ID Microsoft Entra untuk perwakilan layanan Anda
  • Nama pengguna Azure Pipelines Anda

Kemudian, lihat Menggunakan perwakilan layanan dengan folder Databricks Git.

Menyiapkan GitLab CI/CD

GitLab CI/CD harus dapat mengakses ruang kerja Azure Databricks Anda. Jika Anda juga ingin menggunakan folder Git Azure Databricks, ruang kerja Anda harus dapat mengakses GitLab CI/CD.

Untuk mengakses ruang kerja Azure Databricks Anda, file GITLab CI/CD .gitlab-ci.yml , seperti yang merupakan bagian dari Templat Python Dasar di dbx, bergantung pada variabel CI/CD kustom seperti:

  • DATABRICKS_HOST, yang merupakan nilai https:// diikuti oleh nama instans ruang kerja Anda, misalnya adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, yang merupakan nilai nilai token_value yang Anda salin setelah Anda membuat token ID Microsoft Entra untuk perwakilan layanan.

Untuk menambahkan variabel kustom ini ke proyek GITLab CI/CD Anda, lihat Menambahkan variabel CI/CD ke proyek dalam dokumentasi GitLab CI/CD.

Jika ruang kerja Anda menggunakan folder Databricks Git, dan Anda ingin mengaktifkan ruang kerja anda untuk mengakses GitLab CI/CD, kumpulkan:

  • Token ID Microsoft Entra untuk perwakilan layanan Anda
  • Nama pengguna GITLab CI/CD Anda

Kemudian, lihat Menggunakan perwakilan layanan dengan folder Databricks Git.