Menyiapkan koneksi lintas cloud untuk Workday Data Lake

Koneksi lintas cloud ke Workday Data Lake memungkinkan Anda mengkueri data Workday secara langsung dalam Google Cloud. Kemampuan ini menyatukan analisis data Anda dengan mengintegrasikan sumber data eksternal dengan lingkunganGoogle Cloud yang ada.

Setelah itu, Anda dapat menggunakan Lakehouse tanpa batas untuk mengelola akses ke data gabungan Anda.

Kasus penggunaan

Menghubungkan Lakehouse ke Workday Data Lake mendukung beberapa kasus penggunaan utama:

  • Menyatukan analisis: Mengorelasikan data HR dan kompensasi Workday dengan data Google Cloud , misalnya, untuk memberikan konteks penjualan dan kuota.
  • Manfaatkan ekosistem Google Cloud: Misalnya, gunakan framework agen Google dengan data HR BigQuery ML dan Workday untuk memprediksi retensi karyawan.
  • Streaming data real-time tanpa penyalinan: Analisis data pengadaan dan utang dagang Workday bersama dengan data logistik dan inventaris yang disimpan diGoogle Cloud untuk melaporkan inefisiensi supply chain dan mengoptimalkan biaya vendor.

Sebelum memulai

  1. Tinjau ringkasan Lakehouse untuk memahami cara Lakehouse mengelola akses ke data.
  2. Baca cara mengakses data lintas-cloud untuk memahami cara kerjanya.
  3. Tinjau katalog yang didukung untuk memverifikasi kompatibilitas.
  4. Pahami cara menggunakan secret Secret Manager regional untuk melakukan autentikasi dengan Workday Data Lake.
  5. Hubungi administrator Workday Data Lake Anda untuk menyiapkan autentikasi seperti yang dijelaskan dalam dokumen ini. Administrator mungkin perlu menghubungi Dukungan Workday untuk mengaktifkan akses Data Lake, yang dapat memerlukan waktu untuk diselesaikan.
  6. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the BigLake, Secret Manager APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the BigLake, Secret Manager APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menyiapkan akses lintas cloud, minta administrator untuk memberi Anda peran IAM berikut di project Anda:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

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

Batasan dan pertimbangan

Bagian ini mencantumkan batasan dan pertimbangan untuk mengakses data lintas cloud.

  • Hanya baca: Katalog gabungan di Lakehouse adalah tampilan hanya baca dari katalog jarak jauh. Manipulasi resource (seperti membuat, memperbarui, atau menghapus resource) tidak didukung dan harus dilakukan langsung di katalog jarak jauh.
  • Keaktualan data: Flag --refresh-interval untuk katalog gabungan menentukan seberapa sering metadata disinkronkan. Nilai harus berupa 0s (dinonaktifkan) atau minimal 300s (5 menit). Pembaruan metadata latar belakang katalog dapat memakan waktu lebih lama jika ada lebih banyak namespace dan resource tabel. Jika muat ulang sebelumnya melampaui batas waktu, muat ulang saat ini akan dilewati, tetapi muat ulang berikutnya akan dijadwalkan pada interval berikutnya.
  • Caching lakehouse: Caching lakehouse diaktifkan secara otomatis untuk semua kueri lintas cloud guna menghemat biaya keluar dengan menyimpan blok data secara lokal di Google Cloud. Kunci enkripsi yang dikelola pelanggan (CMEK) tidak didukung untuk penyimpanan dalam cache; data yang di-cache dienkripsi menggunakan Google-owned and Google-managed encryption keys. Jika batasan kebijakan organisasi constraints/gcp.restrictNonCmekServices diterapkan pada tabel apa pun dalam kueri, penayangan cache akan otomatis dinonaktifkan untuk kueri tersebut. Untuk informasi selengkapnya, lihat Caching cerdas.
  • Residensi dan kepatuhan data: Membuat katalog atau koneksi gabungan di region Google Cloud menyimpan data dalam penyimpanan yang di-cache di region target tersebut. Jika data cloud jarak jauh Anda berada di yurisdiksi yang berbeda, pastikan penayangan cache lintas region mematuhi persyaratan residensi data dan kepatuhan terhadap peraturan organisasi Anda.

Alur kerja umum

Untuk mengakses data lintas cloud di Workday Data Lake, ikuti langkah-langkah umum berikut:

  1. Menyiapkan federasi: Konfigurasi autentikasi berbasis rahasia dan buat katalog gabungan di Lakehouse.
    1. Di Workday, buat Integration System User (ISU) dan Klien API untuk Integrasi.
    2. Buat secret di Secret Manager dengan kredensial Workday API Anda.
    3. Buat katalog gabungan di Lakehouse dan beri akun layanan katalog akses ke secret.
  2. Verifikasi koneksi: Verifikasi bahwa Lakehouse dapat terhubung ke katalog jarak jauh Anda dan menyinkronkan metadata.
  3. Buat kueri data: Jalankan kueri terhadap data gabungan menggunakan BigQuery atau Managed Service untuk Apache Spark. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri data jarak jauh.
  4. Mengonfigurasi izin: Gunakan Identity and Access Management (IAM) untuk mengelola siapa yang dapat melihat dan membuat kueri data gabungan.

Menyiapkan penggabungan

Untuk membuat kueri data, Anda harus menyiapkan katalog gabungan Lakehouse yang terhubung ke Workday Data Lake jarak jauh Anda.

Mengonfigurasi autentikasi

Federasi memerlukan autentikasi ke Workday Data Lake jarak jauh menggunakan kredensial yang disimpan dengan aman di secret Secret Manager regional.

  1. Di Workday, selesaikan penyiapan berikut:

    1. Buat Integration System User (ISU): Jalankan tugas Create Integration System User untuk membuat akun khusus yang digunakan Lakehouse untuk menyinkronkan resource.
    2. Aktifkan akses Workday Data Lake untuk ISU: Beri ISU akses ke Workday Data Lake. Hubungi dukungan Workday untuk mengaktifkan akses ini. Anda tidak dapat melakukan langkah ini sendiri; tunggu hingga Workday mengonfigurasi akses di tenant Workday Anda sebelum melanjutkan.
    3. Daftarkan Klien API untuk Integrasi: Jalankan tugas Daftarkan Klien API untuk Integrasi.
    4. Simpan ID dan rahasia klien: Simpan ID dan rahasia klien OAuth untuk langkah berikutnya.
    5. Buat token refresh yang tidak akan habis masa berlakunya: Di Klien API untuk Integrasi, gunakan Kelola Token Refresh untuk Integrasi guna membuat token refresh yang tidak akan habis masa berlakunya untuk ISU.
    6. Simpan token refresh: Simpan token refresh yang dibuat untuk langkah berikutnya.
  2. Buat file JSON bernama credentials.json dengan data yang disimpan dari langkah sebelumnya:

    {
      "client_id": "CLIENT_ID",
      "client_secret": "CLIENT_SECRET",
      "refresh_token": "REFRESH_TOKEN"
    }

    Ganti kode berikut:

    • CLIENT_ID: Client ID OAuth dari Klien API Workday untuk Integrasi.
    • CLIENT_SECRET: Rahasia klien OAuth dari Klien API Workday untuk Integrasi.
    • REFRESH_TOKEN: Token refresh yang tidak akan berakhir dibuat untuk ISU Workday Anda.
  3. Konfigurasi endpoint regional untuk Secret Manager:

    Secara default, Secret Manager menggunakan endpoint global. Untuk menghindari masalah konektivitas serta meminimalkan latensi dan biaya transfer data, buat rahasia dan katalog Anda di region yang sama. Untuk mengganti endpoint global default dengan secret regional, jalankan perintah berikut:

    gcloud config set api_endpoint_overrides/secretmanager https://secretmanager.REGION.rep.googleapis.com/

    Ganti kode berikut:

    • REGION: Region Google Cloud tempat Anda menyimpan secret Secret Manager. Contohnya, us-east4.
  4. Upload payload ke Secret Manager:

    gcloud secrets create WORKDAY_SECRET_NAME \
      --location="REGION" \
      --project="PROJECT_ID" \
      --data-file=credentials.json
  5. Hapus file credentials.json dengan aman untuk mencegah kebocoran kredensial.

    Ganti kode berikut:

    • WORKDAY_SECRET_NAME: Nama unik untuk secret Workday Anda di Secret Manager, misalnya, workday-api-credentials atau workday-data-lake-secret.
    • REGION: Region Google Cloud tempat Anda membuat secret, misalnya, us-east4.
    • PROJECT_ID: Project ID Google Cloud Anda.

Membuat katalog gabungan

Untuk membuat katalog gabungan menggunakan gcloud CLI, jalankan perintah berikut:

gcloud alpha biglake iceberg catalogs create FEDERATED_CATALOG_NAME \
    --project="PROJECT_ID" \
    --primary-location="REGION" \
    --catalog-type="federated" \
    --federated-catalog-type="workday" \
    --secret-name="projects/PROJECT_ID/locations/REGION/secrets/WORKDAY_SECRET_NAME" \
    --workday-base-url="WORKDAY_BASE_URL" \
    --workday-tenant="WORKDAY_TENANT" \
    --refresh-interval="REFRESH_INTERVAL" \
    --namespace-filters="NAMESPACE_FILTERS"

Ganti kode berikut:

  • FEDERATED_CATALOG_NAME: Nama untuk katalog gabungan Anda di Lakehouse.
  • PROJECT_ID: Project ID Google Cloud Anda.
  • REGION: Region Lakehouse tempat Anda membuat katalog gabungan, misalnya, us-east4. Untuk meminimalkan latensi dan biaya transfer data, pilih Google Cloud region yang paling dekat dengan instance Workday Anda. Region ini harus sama dengan region tempat Anda menyimpan secret.
  • WORKDAY_SECRET_NAME: Nama secret Workday Anda di Secret Manager.
  • WORKDAY_BASE_URL: URL dasar instance Workday Anda. Contohnya, impl-services1.wd12.myworkday.com atau wd501.myworkday.com.
  • WORKDAY_TENANT: Nama tenant Workday.
  • REFRESH_INTERVAL: Opsional: Menentukan seberapa sering informasi katalog diperbarui. Tetapkan nilai ini sebagai durasi, misalnya, 300s atau 5m. Interval yang lebih singkat akan memperbarui data lebih sering, tetapi dapat menimbulkan biaya yang lebih besar dalam panggilan API. Interval yang lebih panjang dapat mengurangi biaya, tetapi data yang dikueri mungkin tidak mencerminkan set data terbaru Anda. Jika tidak ditentukan, interval refresh default adalah 5 menit (300s). Menetapkan nilai ke 0s akan menonaktifkan refresh metadata di latar belakang.
  • NAMESPACE_FILTERS: Opsional: Daftar namespace yang dipisahkan koma untuk difederasikan, misalnya, finance,hr. Jika tidak disertakan, Lakehouse akan menyertakan semua namespace.

Menyelesaikan penyiapan autentikasi

Setelah Anda membuat katalog, Lakehouse menyediakan akun layanan unik untuk katalog tersebut, yang diidentifikasi sebagai biglake-service-account dalam deskripsi resource.

Anda harus memberikan peran Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) ke akun layanan ini pada secret yang Anda buat sebelumnya. Mungkin perlu waktu beberapa menit hingga kebijakan IAM baru diterapkan.

Konsol

  1. Di konsol Google Cloud , buka Lakehouse.

    Buka Lakehouse

  2. Klik nama katalog gabungan yang Anda buat untuk Workday.

  3. Di halaman Detail katalog, di banner pemberitahuan, klik Beri izin rahasia.

    Lakehouse memberikan peran roles/secretmanager.secretAccessor pada secret ke akun layanan yang disediakan.

gcloud CLI

  1. Beri akun layanan katalog izin untuk mengakses secret:

    gcloud config set api_endpoint_overrides/secretmanager https://secretmanager.REGION.rep.googleapis.com/
    gcloud secrets add-iam-policy-binding WORKDAY_SECRET_NAME \
      --project="PROJECT_ID" \
      --location="REGION" \
      --member="serviceAccount:$(gcloud alpha biglake iceberg catalogs describe FEDERATED_CATALOG_NAME \
          --project="PROJECT_ID" \
          --format='value(biglake-service-account)')" \
          --role="roles/secretmanager.secretAccessor"
  2. Untuk memverifikasi bahwa akun layanan katalog gabungan memiliki akses ke secret, jalankan perintah berikut:

    gcloud config set api_endpoint_overrides/secretmanager https://secretmanager.REGION.rep.googleapis.com/
    gcloud secrets get-iam-policy WORKDAY_SECRET_NAME \
         --project="PROJECT_ID" \
         --location="REGION"

    Di output, pastikan akun layanan biglake-service-account memiliki peran roles/secretmanager.secretAccessor.

Ganti kode berikut:

  • REGION: Region Google Cloud tempat Anda menyimpan rahasia Secret Manager dan membuat katalog gabungan, misalnya, us-east4.
  • WORKDAY_SECRET_NAME: Nama secret Workday Anda di Secret Manager.
  • PROJECT_ID: Project ID Google Cloud Anda.
  • FEDERATED_CATALOG_NAME: Nama katalog gabungan Anda di Lakehouse.

Memverifikasi koneksi

Pastikan refresh metadata latar belakang berhasil diselesaikan dan mensinkronkan namespace dan tabel Anda.

  1. Pastikan status refresh menunjukkan keberhasilan:

    gcloud alpha biglake iceberg catalogs describe FEDERATED_CATALOG_NAME \
      --project="PROJECT_ID"
  2. Konfirmasi bahwa namespace disinkronkan:

    gcloud alpha biglake iceberg namespaces list \
      --project="PROJECT_ID" \
      --catalog="FEDERATED_CATALOG_NAME"

Ganti kode berikut:

  • PROJECT_ID: Project ID Google Cloud Anda.
  • FEDERATED_CATALOG_NAME: Nama katalog gabungan di Lakehouse.

Langkah berikutnya