Mengautentikasi 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 dalam Dataform terlebih dahulu. Proses autentikasi berbeda untuk paket pribadi pertama dalam 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 untuk mengautentikasi paket NPM pribadi di Dataform, minta administrator untuk memberi Anda peran Dataform Editor (roles/dataform.editor) pada repositori dan ruang kerja. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

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

Mengautentikasi paket pribadi pertama dalam repositori Dataform

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

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

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

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

  2. Upload rahasia 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 rahasia yang diupload.

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

Membuat rahasia untuk autentikasi paket pribadi

Untuk mengautentikasi paket NPM pribadi dalam repositori Dataform, Anda harus membuat secret Secret Manager dan menentukan token autentikasi untuk semua paket pribadi yang ingin diinstal di repositori Dataform di dalam secret tersebut. Tentukan satu token autentikasi per satu paket NPM pribadi, dan simpan semua token autentikasi dalam satu secret per repositori. Rahasia 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 rahasia tersebut ke akun layanan Dataform Anda.

    Akun layanan Dataform Anda menggunakan 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.

Upload rahasia untuk autentikasi paket pribadi ke repositori Dataform

Sebelum Anda menginstal paket NPM pribadi dalam repositori Dataform untuk pertama kalinya, upload rahasia Anda yang berisi token autentikasi paket ke repositori.

Untuk mengupload rahasia 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 Settings > Configure private NPM packages.

  4. Di panel Add NPM package secret token, pada drop-down Secret, pilih secret Anda yang berisi token autentikasi untuk paket NPM pribadi.

  5. Klik Simpan.

Buat file .npmrc untuk autentikasi paket pribadi

Untuk mengautentikasi paket NPM pribadi dalam repositori Dataform, Anda harus membuat file .npmrc level teratas di repositori. Anda harus 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 di rahasia yang diupload ke repositori. Untuk informasi selengkapnya tentang file .npmrc, lihat dokumentasi npmrc.

Untuk membuat file .npmrc level atas di repositori Anda, 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 langkah berikut:

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

    2. Klik Create file.

Tambahkan token autentikasi ke file .npmrc di repositori Dataform

Untuk mengautentikasi paket NPM pribadi dalam repositori Dataform yang sudah berisi rahasia 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 mengetahui informasi selengkapnya tentang file .npmrc, lihat dokumentasi npmrc.

Token autentikasi dalam file .npmrc harus cocok dengan token autentikasi di rahasia 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. Dalam 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 diberikan sebagai variabel lingkungan dalam file .npmrc, jadi pastikan Anda menambahkan tanda kurung penutup ${ dan } pembuka.

    Anda dapat memasukkan beberapa token autentikasi.

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

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

Mengautentikasi paket pribadi berikutnya dalam repositori Dataform

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

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

  2. Tambahkan versi baru ke rahasia.

    Dataform menggunakan versi rahasia 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