Koneksi lintas cloud ke Workday Data Lake memungkinkan Anda mengkueri data Workday secara langsung dalam Google Cloud. Kemudian, Anda dapat menggunakan Lakehouse untuk mengelola akses ke dan menganalisis data gabungan tanpa menyalin atau memindahkan data.
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
- Tinjau ringkasan Lakehouse untuk memahami cara Lakehouse mengelola akses ke data.
- Baca cara mengakses data lintas-cloud untuk memahami cara kerjanya.
- Tinjau katalog yang didukung untuk memverifikasi kompatibilitas.
- Pahami cara menggunakan secret Secret Manager regional untuk melakukan autentikasi dengan Workday Data Lake.
- 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.
- 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.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Secret Manager APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake, Secret Manager APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menyiapkan akses lintas cloud, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
-
Mengelola katalog Lakehouse:
Admin BigLake (
roles/biglake.admin) -
Mengelola secret:
Secret Manager Admin (
roles/secretmanager.admin)
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.
Detail katalog yang didukung
Dokumen ini memberikan petunjuk untuk menyiapkan Lakehouse dengan Workday Data Lake. Untuk mengakses katalog lain, lihat Katalog yang didukung.
Batasan dan pertimbangan
Perhatikan hal-hal berikut saat mengakses Workday Data Lake:
- Hanya baca: Katalog gabungan di Lakehouse adalah tampilan hanya baca dari katalog jarak jauh. Untuk membuat, memperbarui, atau menghapus resource, Anda harus menggunakan Workday secara langsung.
- Perutean jaringan: Koneksi dan kueri dirutekan dengan aman melalui internet publik.
- Keaktualan data: Flag
--refresh-intervalmenentukan seberapa sering Lakehouse menyinkronkan metadata. Nilai harus0s(dinonaktifkan) atau minimal300s(5 menit). Seiring bertambahnya jumlah namespace dan tabel dalam katalog, pembaruan metadata di latar belakang memerlukan waktu lebih lama untuk diselesaikan. Jika refresh sebelumnya melampaui interval yang dijadwalkan, sistem akan melewati siklus saat ini dan melanjutkan pada interval yang dijadwalkan berikutnya. - Kolokasi: Untuk menghindari masalah konektivitas serta meminimalkan latensi dan biaya transfer data, buat katalog gabungan dan rahasia regional diGoogle Cloud region yang paling dekat dengan region tempat instance Workday Anda berada.
Alur kerja umum
Untuk mengakses data lintas cloud di Workday Data Lake, ikuti langkah-langkah umum berikut:
- Menyiapkan federasi: Konfigurasi autentikasi berbasis rahasia dan buat
katalog gabungan di Lakehouse.
- Di Workday, buat Integration System User (ISU) dan Klien API untuk Integrasi.
- Buat secret di Secret Manager dengan kredensial Workday API Anda.
- Buat katalog gabungan di Lakehouse dan beri akun layanan katalog akses ke secret.
- Verifikasi koneksi: Verifikasi bahwa Lakehouse dapat terhubung ke katalog jarak jauh Anda dan menyinkronkan metadata.
- 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.
- 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.
Di Workday, selesaikan penyiapan berikut:
- Buat Integration System User (ISU): Jalankan tugas Create Integration System User untuk membuat akun khusus yang digunakan Lakehouse untuk menyinkronkan resource.
- 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.
- Daftarkan Klien API untuk Integrasi: Jalankan tugas Daftarkan Klien API untuk Integrasi.
- Simpan ID dan rahasia klien: Simpan ID dan rahasia klien OAuth untuk langkah berikutnya.
- 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.
- Simpan token refresh: Simpan token refresh yang dibuat untuk langkah berikutnya.
Buat file JSON bernama
credentials.jsondengan 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.
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.
Upload payload ke Secret Manager:
gcloud secrets create WORKDAY_SECRET_NAME \ --location="REGION" \ --project="PROJECT_ID" \ --data-file=credentials.json
Hapus file
credentials.jsondengan aman untuk mencegah kebocoran kredensial.Ganti kode berikut:
WORKDAY_SECRET_NAME: Nama unik untuk secret Workday Anda di Secret Manager, misalnya,workday-api-credentialsatauworkday-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.comatauwd501.myworkday.com.WORKDAY_TENANT: Nama tenant Workday.REFRESH_INTERVAL: Opsional: Menentukan seberapa sering informasi katalog diperbarui. Tetapkan nilai ini sebagai durasi, misalnya,300satau5m. 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 ke0sakan 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
Di konsol Google Cloud , buka Lakehouse.
Klik nama katalog gabungan yang Anda buat untuk Workday.
Di halaman Detail katalog, di banner pemberitahuan, klik Beri izin rahasia.
Lakehouse memberikan peran
roles/secretmanager.secretAccessorpada secret ke akun layanan yang disediakan.
gcloud CLI
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"
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-accountmemiliki peranroles/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.
Pastikan status refresh menunjukkan keberhasilan:
gcloud alpha biglake iceberg catalogs describe FEDERATED_CATALOG_NAME \ --project="PROJECT_ID"
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.