Melakukan autentikasi paket pribadi di Dataform

Dokumen ini menunjukkan cara mengautentikasi paket NPM pribadi di Dataform untuk mengaktifkan penginstalannya di repositori Dataform.

Untuk menginstal paket NPM pribadi di repositori Dataform dan menggunakannya untuk mengembangkan alur kerja SQL, Anda harus mengautentikasi paket terlebih dahulu di Dataform. Proses autentikasi berbeda untuk paket pribadi pertama di repositori dan paket pribadi berikutnya di repositori.

Sebelum memulai

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka halaman Dataform

  2. Pilih atau buat repositori.

  3. Pilih atau buat ruang kerja pengembangan.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengautentikasi paket NPM pribadi di Dataform, minta administrator untuk memberi Anda peran IAM Dataform Editor (roles/dataform.editor) di repositori dan ruang kerja. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengautentikasi paket pribadi pertama di repositori Dataform

Untuk mengautentikasi paket NPM pribadi di Dataform, Anda perlu melakukan hal berikut sebelum menginstal paket NPM pribadi pertama di repositori Dataform:

  1. Buat secret Secret Manager yang didedikasikan untuk menyimpan token autentikasi paket NPM pribadi di repositori Dataform.

    1. Tambahkan token autentikasi paket, yang diperoleh dari registry NPM, ke secret.

    Anda perlu menyimpan semua token autentikasi paket NPM pribadi di repositori dalam satu secret. Anda perlu membuat satu secret khusus per repositori Dataform. Secret harus dalam format JSON.

  2. Upload secret ke repositori Dataform.

  3. Buat file .npmrc dan tambahkan token autentikasi paket ke file.

    Token autentikasi dalam file .npmrc harus cocok dengan token autentikasi dalam secret yang diupload.

Setelah mengautentikasi paket NPM pribadi, Anda dapat menginstal paket di repositori Dataform.

Membuat secret untuk autentikasi paket pribadi

Untuk mengautentikasi paket NPM pribadi di repositori Dataform, Anda harus membuat secret Pengelola Secret dan menentukan token autentikasi untuk semua paket pribadi yang ingin diinstal di repositori Dataform di dalam secret. Tentukan satu token autentikasi per satu paket NPM pribadi, dan simpan semua token autentikasi dalam satu secret per repositori. Secret harus dalam format JSON.

Untuk membuat secret dengan token autentikasi untuk paket NPM pribadi, ikuti langkah-langkah berikut:

  1. Di Secret Manager, buat secret.

    1. Di kolom Secret value, masukkan satu atau beberapa token autentikasi dalam format berikut:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Ganti kode berikut:

    • AUTHENTICATION_TOKEN_NAME: nama unik untuk token yang mengidentifikasi paket yang diautentikasi
    • TOKEN_VALUE: nilai token autentikasi, yang diperoleh dari registry NPM Anda
  2. Berikan akses ke secret ke akun layanan Dataform Anda.

    Akun layanan Dataform Anda memiliki format berikut:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Saat memberikan akses, pastikan untuk memberikan peran roles/secretmanager.secretAccessor ke akun layanan Dataform Anda.

Mengupload secret untuk autentikasi paket pribadi ke repositori Dataform

Sebelum menginstal paket NPM pribadi di repositori Dataform untuk pertama kalinya, upload secret yang berisi token autentikasi paket ke repositori.

Untuk mengupload secret dengan token autentikasi paket NPM pribadi ke repositori Dataform, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori tempat Anda ingin menginstal paket NPM pribadi.

  3. Di halaman repositori, klik Setelan > Konfigurasi paket NPM pribadi.

  4. Di panel Tambahkan token secret paket NPM, di drop-down Secret, pilih secret yang berisi token autentikasi untuk paket NPM pribadi.

  5. Klik Save.

Membuat file .npmrc untuk autentikasi paket pribadi

Untuk mengautentikasi paket NPM pribadi di repositori Dataform, Anda harus membuat file .npmrc tingkat atas di repositori. Anda perlu menyimpan token autentikasi untuk semua paket NPM pribadi yang akan diinstal di repositori di dalam file .npmrc. Token autentikasi dalam file .npmrc harus cocok dengan token autentikasi dalam secret yang diupload ke repositori. Untuk mengetahui informasi selengkapnya tentang file .npmrc, lihat dokumentasi npmrc.

Untuk membuat file .npmrc level teratas di repositori, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori tempat Anda ingin menginstal paket NPM pribadi, lalu pilih ruang kerja.

  3. Di panel Files, klik menu More, lalu klik Create file.

  4. Di panel Create new file, lakukan hal berikut:

    1. Di kolom Add a file path, masukkan .npmrc.

    2. Klik Create file.

Menambahkan token autentikasi ke file .npmrc di repositori Dataform

Untuk mengautentikasi paket NPM pribadi di repositori Dataform yang sudah berisi secret dengan token autentikasi paket dan file .npmrc, Anda perlu menambahkan token autentikasi untuk paket pribadi ke file .npmrc di repositori.

Dalam file .npmrc, Anda perlu menentukan cakupan registry NPM dan menambahkan token autentikasi untuk paket pribadi yang diakses dalam cakupan tersebut. Untuk informasi selengkapnya tentang file .npmrc, lihat dokumentasi npmrc.

Token autentikasi dalam file .npmrc harus cocok dengan token autentikasi dalam secret yang diupload ke repositori.

Untuk menambahkan token autentikasi ke file .npmrc di repositori Dataform, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman Dataform.

    Buka Dataform

  2. Pilih repositori tempat Anda ingin menginstal paket NPM pribadi, lalu pilih ruang kerja.

  3. Di panel Files, pilih file .npmrc.

  4. Di file .npmrc, tentukan cakupan registry NPM dan token autentikasi untuk paket pribadi dalam format berikut:

   @REGISTRY-SCOPE:registry=NPM-REGISTRY-URL
   NPM-REGISTRY-URL:_authToken=$AUTHENTICATION-TOKEN

Ganti kode berikut:

  • REGISTRY-SCOPE: cakupan registry NPM tempat Anda ingin menerapkan token autentikasi
  • NPM-REGISTRY-URL: URL registry NPM Anda, misalnya, https://npm.pkg.github.com
  • AUTHENTICATION-TOKEN: token autentikasi untuk paket NPM pribadi. Token autentikasi dalam file .npmrc harus cocok dengan token autentikasi dalam rahasia yang diupload. Token autentikasi disediakan sebagai variabel lingkungan dalam file .npmrc, jadi pastikan Anda menambahkan tanda kurung buka ${ dan tutup }.

    Anda dapat memasukkan beberapa token autentikasi.

Contoh kode berikut menunjukkan token autentikasi untuk paket NPM pribadi yang ditambahkan ke file .npmrc di repositori Dataform:

@company:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${AUTHENTICATION_TOKEN}

Melakukan autentikasi paket pribadi berikutnya di repositori Dataform

Untuk mengautentikasi paket NPM pribadi di repositori Dataform yang sudah berisi secret dengan token autentikasi paket dan file .npmrc, ikuti langkah-langkah berikut:

  1. Di Secret Manager, cantumkan secret dan pilih secret yang menyimpan token autentikasi paket NPM pribadi dari repositori Anda.

  2. Tambahkan versi baru ke secret.

    Dataform menggunakan rahasia versi terbaru secara default.

    1. Tambahkan token autentikasi untuk paket pribadi ke nilai secret dalam format berikut:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Ganti kode berikut:

    • AUTHENTICATION_TOKEN_NAME: nama unik untuk token yang mengidentifikasi paket yang diautentikasi
    • TOKEN_VALUE: nilai token autentikasi, yang diperoleh dari registry NPM Anda

    Anda dapat menambahkan beberapa token autentikasi sekaligus.

  3. Di Dataform, tambahkan token autentikasi ke file .npmrc di repositori Anda.

Setelah mengautentikasi paket NPM pribadi, Anda dapat menginstal paket di repositori Dataform.

Langkah selanjutnya