Koneksi lintas cloud ke Workday Data Lake memungkinkan Anda mengkueri data Workday 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: Menghubungkan data HR dan kompensasi Workday dengan dataGoogle Cloud , misalnya, untuk memberikan konteks bagi penjualan dan kuota.
- Manfaatkan ekosistem Google Cloud: Misalnya, gunakan framework agen Google dengan BigQuery ML dan data HR Workday untuk memprediksi retensi karyawan.
- Melakukan streaming data real-time tanpa salinan: Analisis data pengadaan dan utang usaha Workday bersama data logistik dan inventaris yang disimpan di penyimpanan dataGoogle Cloud untuk melaporkan inefisiensi supply chain dan mengoptimalkan biaya vendor.
Sebelum memulai
- Tinjau Ringkasan Lakehouse untuk memahami cara Lakehouse mengelola akses ke data.
- Baca tentang 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 mungkin 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, if any are not already enabled.
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, if any are not already enabled.
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 Anda perlukan untuk menyiapkan akses lintas cloud, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:
-
Mengelola katalog Lakehouse:
BigLake Admin (
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.
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-intervaluntuk katalog gabungan menentukan seberapa sering metadata disinkronkan. Nilainya harus0s(dinonaktifkan) atau minimal300s(5 menit). Pemuatan ulang metadata latar belakang katalog mungkin memerlukan waktu lebih lama seiring bertambahnya resource namespace dan tabel. Jika pemuatan ulang sebelumnya melebihi batas, pemuatan ulang saat ini akan dilewati, tetapi pemuatan ulang berikutnya akan dijadwalkan pada interval berikutnya. Kueri menggunakan metadata katalog yang paling baru disinkronkan, sehingga perubahan yang dibuat di katalog jarak jauh, seperti tabel baru, update skema, atau data yang baru di-commit, tidak akan terlihat di Lakehouse hingga pemuatan ulang metadata latar belakang berikutnya selesai. - Caching Lakehouse: Caching Lakehouse diaktifkan secara otomatis untuk semua kueri lintas cloud guna menghemat biaya egress dengan menyimpan blok data secara lokal di Google Cloud. Kunci enkripsi yang dikelola pelanggan (CMEK) tidak didukung untuk caching; data yang di-cache dienkripsi menggunakan Google-owned and Google-managed encryption keys. Jika batasan kebijakan organisasi
constraints/gcp.restrictNonCmekServicesditerapkan pada tabel mana pun dalam kueri, caching akan otomatis dinonaktifkan untuk kueri tersebut. Untuk mengetahui informasi selengkapnya, lihat Caching cerdas. - Residensi dan kepatuhan data: Membuat katalog atau koneksi gabungan di region Google Cloud akan menyimpan data dalam penyimpanan yang di-cache di region target tersebut. Jika data cloud jarak jauh Anda berada di wilayah hukum yang berbeda, pastikan caching 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:
- Menyiapkan penggabungan: Konfigurasi autentikasi berbasis secret dan buat katalog gabungan di Lakehouse.
- Di Workday, siapkan kredensial Data Lake dan Workday API.
- 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: Pastikan Lakehouse dapat terhubung ke katalog jarak jauh dan menyinkronkan metadata.
- Membuat kueri data: Jalankan kueri terhadap data gabungan Anda 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 mengkueri data gabungan.
Menyiapkan penggabungan
Untuk mengkueri data, Anda harus menyiapkan katalog gabungan Lakehouse yang terhubung ke Workday Data Lake jarak jauh.
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 langkah-langkah berikut:
- Menyiapkan Data Lake.
- Mendaftarkan Klien API untuk Data Lake (Pemberian Token Refresh).
- Menyiapkan keamanan dan ekspor tabel di Data Lake.
Untuk petunjuk menyeluruh tentang cara menyelesaikan proses ini, lihat Memulai Workday Data Lake.
Buat file JSON bernama
credentials.jsondengan kredensial dari langkah sebelumnya:{ "client_id": "CLIENT_ID", "client_secret": "CLIENT_SECRET", "refresh_token": "REFRESH_TOKEN" }
Ganti kode berikut:
CLIENT_ID: Client ID OAuth dari Workday API Client for Integrations Anda.CLIENT_SECRET: Rahasia klien OAuth dari Klien API Workday untuk Integrasi.REFRESH_TOKEN: Token refresh yang tidak akan habis masa berlakunya, yang dibuat untuk ISU Workday Anda.
Konfigurasikan endpoint regional untuk Secret Manager:
Secara default, Secret Manager menggunakan endpoint global. Untuk menghindari masalah konektivitas serta meminimalkan latensi dan biaya transfer data, buat secret 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
Buat katalog gabungan menggunakan konsol Google Cloud atau gcloud CLI:
Konsol
Untuk membuat katalog gabungan, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka Lakehouse.
Klik Create catalog, lalu pilih Federated catalog.
Halaman Create Federated catalog akan muncul.
Di bagian Catalog configuration:
- Dalam daftar Federated catalog source, pilih Workday (Data Lake).
- Di kolom Catalog name (in Lakehouse), masukkan nama untuk katalog.
- Dalam daftar Lokasi data, pilih region tempat Anda ingin membuat katalog gabungan, misalnya,
us-east4. Region ini harus cocok dengan region secret Secret Manager Anda. Untuk meminimalkan latensi dan biaya transfer data, lakukan hal berikut saat memilih region:- Jika instance Workday Anda berada di Amazon Web Services (AWS), pilih Google Cloud region yang paling dekat dengan region AWS Anda.
- Jika instance Workday Anda berada di Google Cloud, pilih region yang sama persis.
- Klik Lanjutkan.
Di bagian Connection details:
- Di bagian Remote catalog details:
- Di kolom Workday Base URL, masukkan URL dasar instance Workday Anda. Misalnya,
impl-services1.wd12.myworkday.comatauwd501.myworkday.com. - Di kolom Workday Tenant, masukkan nama tenant Workday Anda,
misalnya,
google_dp3.
- Di kolom Workday Base URL, masukkan URL dasar instance Workday Anda. Misalnya,
- Di bagian Metode Autentikasi, di kolom Secret Manager Secret, masukkan nama resource secret regional Anda. Gunakan
format berikut:
projects/PROJECT_ID/locations/REGION/secrets/WORKDAY_SECRET_NAME. - Di bagian Refresh interval, di kolom Refresh interval, masukkan frekuensi (dalam detik) untuk memperbarui metadata katalog
(misalnya,
300). Untuk menonaktifkan pemuatan ulang latar belakang, masukkan0.
- Di bagian Remote catalog details:
Klik Create.
gcloud CLI
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. Region ini harus sama dengan region tempat Anda menyimpan secret. Untuk meminimalkan latensi dan biaya transfer data, lakukan hal berikut saat memilih region:- Jika instance Workday Anda berada di AWS, pilih Google Cloud region yang paling dekat dengan region AWS Anda.
- Jika instance Workday Anda berada di Google Cloud, pilih region yang sama persis.
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 lebih sering memperbarui data, tetapi dapat meningkatkan biaya panggilan API. Interval yang lebih lama dapat menghemat biaya, tetapi data yang dikueri mungkin tidak mencerminkan set data terbaru Anda. Jika dihilangkan, interval refresh akan ditetapkan secara default ke 5 menit (300s). Menetapkan nilai ke0sakan menonaktifkan refresh metadata latar belakang.NAMESPACE_FILTERS: Opsional: Daftar namespace yang dipisahkan koma untuk digabungkan, misalnya,finance,hr. Jika dihilangkan, Lakehouse akan menyertakan semua namespace.
Menyelesaikan penyiapan autentikasi
Setelah Anda membuat katalog, Lakehouse akan 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) kepada akun layanan ini pada secret yang Anda buat sebelumnya.
Mungkin perlu waktu beberapa menit agar kebijakan IAM baru diterapkan.
Konsol
Di konsol Google Cloud , buka Lakehouse.
Klik nama katalog gabungan yang Anda buat untuk Workday.
Di halaman Catalog details, di banner pemberitahuan, klik Grant secret permissions.
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"
Dalam output, pastikan akun layanan
biglake-service-accountmemiliki peranroles/secretmanager.secretAccessor.
Ganti kode berikut:
REGION: Region Google Cloud tempat Anda menyimpan secret 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 pemuatan ulang metadata latar belakang berhasil diselesaikan dan menyinkronkan namespace dan tabel Anda.
Pastikan status refresh menunjukkan keberhasilan:
gcloud alpha biglake iceberg catalogs describe FEDERATED_CATALOG_NAME \ --project="PROJECT_ID"
Pastikan namespace telah 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 Anda di Lakehouse.