Dokumen ini menjelaskan cara mengonfigurasikan Google Cloud agar SAP Business Data Cloud (BDC) dapat mengakses data BigQuery tanpa menyalinnya. Anda dapat melakukannya dengan menyiapkan endpoint katalog REST Apache Iceberg di katalog runtime Lakehouse atau Produk Data Knowledge Catalog untuk dibagikan ke SAP.
Untuk mengetahui ringkasan integrasi ini dan kasus penggunaannya, lihat Tentang integrasi SAP BDC.
Sebelum memulai
- Login keakun Anda. Google Cloud 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 and Dataplex 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 and Dataplex 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.- Bucket Cloud Storage: Buat bucket Cloud Storage untuk menyimpan metadata dan file data Iceberg Anda. Untuk mengetahui petunjuknya, lihat Membuat bucket. Semua resource, termasuk bucket backend, harus ada di region yang sama untuk menghindari kegagalan pipeline konfigurasi.
- Katalog REST Apache Iceberg: Siapkan endpoint katalog REST Apache Iceberg di katalog runtime Lakehouse dengan vending kredensial diaktifkan, yang berisi namespace dan tabel yang ingin Anda bagikan. Katalog ini menggunakan bucket Cloud Storage sebagai warehouse-nya. Untuk mengetahui petunjuknya, lihat Menyiapkan katalog REST Iceberg.
- Katalog koneksi Delta Sharing: Siapkan katalog koneksi Delta Sharing yang terdaftar untuk koneksi SAP BDC Anda. Katalog ini sama dengan katalog yang dibuat selama penyiapan awal untuk berbagi data dari SAP BDC ke BigQuery; Anda tidak perlu membuat katalog baru. Untuk mengetahui petunjuknya, lihat Menyiapkan koneksi lintas cloud untuk SAP Business Data Cloud.
- Workload Identity Federation (WIF): Bersiaplah untuk mengonfigurasi WIF agar mempercayai penerbit autentikasi SAP BDC. Anda dapat menyiapkan WIF di bagian berikut.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi Workload Identity Federation dan memublikasikan data, minta administrator Anda untuk memberikan peran IAM berikut pada project Anda:
-
Mengelola Workload Identity Federation:
Admin Workload Identity Pool Identity and Access Management (IAM) (
roles/iam.workloadIdentityPoolAdmin) -
Memublikasikan produk data:
Admin BigLake (
roles/biglake.admin) -
Melihat metadata katalog (diberikan ke akun utama WIF):
Viewer BigLake (
roles/biglake.viewer) -
Menggunakan kuota layanan (diberikan ke entitas utama WIF):
Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)
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.
Alur kerja umum
Untuk memublikasikan data ke SAP BDC, ikuti langkah-langkah berikut:
- Mengonfigurasi Workload Identity Federation: Buat pool dan penyedia Workload Identity Federation untuk membangun kepercayaan dengan penerbit OIDC SAP BDC.
- Memberikan peran ke akun utama gabungan: Berikan izin identitas gabungan untuk melihat metadata katalog dan menggunakan kuota layanan.
- Memublikasikan data: Publikasikan katalog REST Apache Iceberg atau Produk Data Knowledge Catalog ke SAP BDC menggunakan CLI
gcloud.
Mengonfigurasi Workload Identity Federation
Untuk mengizinkan SAP BDC mengakses resource Lakehouse tanpa batas Anda tanpa memerlukan kunci akun layanan yang diekspor, konfigurasikan Workload Identity Federation (WIF). Hal ini akan membangun kepercayaan antara Google Cloud dan penerbit OIDC SAP BDC.
Ikuti langkah-langkah berikut untuk menyiapkan pool dan penyedia WIF:
Mendapatkan URI penerbit
Ambil URI penerbit OIDC dari katalog koneksi Delta Sharing Anda. Anda memerlukan URI ini untuk mengonfigurasi penyedia WIF.
gcloud biglake delta-sharing catalogs describe CONNECTION_CATALOG_ID \ --project="PROJECT_ID"
Di output perintah, temukan kolom federatedIdentityIssuer, yang berisi URI penerbit.
Membuat workload identity pool
Buat workload identity pool untuk mengelompokkan identitas eksternal.
gcloud iam workload-identity-pools create POOL_ID \ --location="global" \ --display-name="POOL_DISPLAY_NAME" \ --project="PROJECT_ID"
Membuat penyedia OIDC
Buat penyedia OIDC dalam pool untuk menentukan kepercayaan dan memetakan klaim token.
gcloud iam workload-identity-pools providers create-oidc PROVIDER_ID \ --location="global" \ --workload-identity-pool="POOL_ID" \ --issuer-uri="ISSUER_URI" \ --attribute-mapping="google.subject=assertion.sub.split('://')[1].split('.')[0]" \ --project="PROJECT_ID"
Memberikan peran ke akun utama gabungan
Otorisasi identitas gabungan dari pool tepercaya untuk memanggil Google API yang diperlukan. Anda dapat mengotorisasi UUID subjek tertentu atau seluruh pool.
Untuk mengotorisasi subjek tertentu (direkomendasikan):
gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/biglake.viewer" \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/WIF_SUBJECT" gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/serviceusage.serviceUsageConsumer" \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/WIF_SUBJECT"
Ganti WIF_SUBJECT dengan UUID yang dikeluarkan oleh penerbit sisi SAP untuk workload.
Untuk mengotorisasi setiap identitas dalam pool (kurang ketat, cocok untuk lingkungan pengujian):
gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/biglake.viewer" \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*" gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/serviceusage.serviceUsageConsumer" \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"
Memublikasikan data ke SAP BDC
Anda dapat memublikasikan katalog REST Apache Iceberg atau Produk Data Knowledge Catalog yang berisi tabel Iceberg menggunakan Google Cloud konsol atau Google Cloud CLI.
Katalog REST Iceberg
Sebelum memublikasikan, pastikan tabel Iceberg Anda memiliki kunci utama yang ditentukan menggunakan identifier-field-ids dalam metadata tabel Iceberg dan setidaknya satu baris, karena SAP BDC memerlukan keduanya untuk kueri. Kolom apa pun yang direferensikan dalam identifier-field-ids harus ditetapkan ke required: true (tidak dapat di-null-kan) dalam skema Iceberg. Jika
tabel Anda tidak memiliki kunci utama atau berisi kolom kunci yang dapat di-null-kan, lihat
Memperbarui skema tabel Iceberg untuk kunci utama
guna memperbaruinya menggunakan BigLake REST API.
Konsol
Di Google Cloud konsol, buka halaman Lakehouse Runtime Catalog.
Di panel navigasi, luaskan project Anda dan pilih Delta Catalog (katalog koneksi) yang akan digunakan untuk publikasi.
Klik Publish Data Product.
Masukkan detail berbagi yang diperlukan, termasuk memilih katalog REST Iceberg yang akan dipublikasikan.
Klik Publish.
gcloud
Pastikan endpoint katalog REST Apache Iceberg ada dan dapatkan detailnya:
gcloud biglake iceberg catalogs describe ICEBERG_CATALOG_ID \ --project="PROJECT_ID"
Publikasikan katalog REST Apache Iceberg ke SAP BDC. Perhatikan bahwa katalog koneksi, katalog Iceberg, dan bucket Cloud Storage yang mendasarinya harus berada di region yang sama.
gcloud biglake data-product-sharing publish \ --connection-catalog="projects/PROJECT_ID/catalogs/CONNECTION_CATALOG_ID" \ --share="SAP_SHARE_NAME" \ --sap-federated-identity-provider="projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID" \ --iceberg-catalog="projects/PROJECT_ID/catalogs/ICEBERG_CATALOG_ID" \ --title="TITLE_TEXT" \ --short-description="SHORT_DESCRIPTION_TEXT" \ --description="DETAILED_DESCRIPTION_TEXT" \ --project="PROJECT_ID"
Katalog REST Apache Iceberg yang dipublikasikan dapat ditemukan di SAP BDC dan dapat diinstal di SAP Datasphere sebagai tabel jarak jauh.
Ganti kode berikut:
CONNECTION_CATALOG_ID: katalog koneksi Delta Sharing yang terdaftar dan dibuat selama penyiapan awal untuk berbagi data dari SAP BDC ke BigQuery. Katalog ini sama dengan katalog Delta Sharing yang disebutkan dalam petunjuk penyiapan; Anda tidak perlu membuat katalog lain untuk publikasi balik.PROJECT_NUMBER: nomor Google Cloud project Anda. Flag--sap-federated-identity-providerharus menggunakan nomor project, bukan project ID.POOL_ID: ID pool WIF.PROVIDER_ID: ID penyedia WIF.TITLE_TEXTdanSHORT_DESCRIPTION_TEXT: nilai tampilan yang diperlukan untuk berbagi di SAP BDC.DETAILED_DESCRIPTION_TEXT: deskripsi mendetail opsional. Jangan masukkan teks yang sama untuk deskripsi singkat dan deskripsi mendetail, karena akan ditolak oleh SAP. Operasi publikasi juga akan ditolak jika deskripsi mendetail berisi deskripsi singkat yang sama persis sebagai substring. Misalnya, jika deskripsi singkatnya adalahSales Data, deskripsi mendetailLonger Sales Data detailsakan ditolak karena berisiSales Data. Namun, deskripsi mendetail "Longer Sales Information" akan diterima.
Produk Data Knowledge Catalog
Atau, Anda dapat memublikasikan Produk Data Knowledge Catalog. Produk Data adalah pengelompokan aset data (seperti tabel atau tampilan) yang dikurasi dan logis, dikemas bersama untuk mengatasi masalah bisnis tertentu. Daripada memublikasikan katalog lengkap, Anda dapat memilih tabel Apache Iceberg tertentu, mengelompokkannya ke dalam Produk Data, dan memublikasikan koleksi yang dikurasi tersebut ke SAP BDC.
Konsol
Di Google Cloud konsol, buka halaman Knowledge Catalog.
Di menu navigasi, pilih Data products.
Klik Produk Data yang ingin Anda publikasikan untuk membuka halaman detailnya.
Klik Share dan pilih Publish to SAP.
Di panel Publish Data Product to SAP, konfigurasikan kolom berikut:
- Nama berbagi: Masukkan nama untuk berbagi di SAP BDC.
- Katalog Delta: Pilih katalog koneksi Delta Sharing yang terdaftar.
- Workload identity: Pilih atau masukkan Penyedia Workload Identity Pool Anda.
Klik Publish.
gcloud
Buat Produk Data:
gcloud alpha dataplex data-products create DATA_PRODUCT_ID \ --location="LOCATION" \ --display-name="TITLE_TEXT" \ --description="SHORT_DESCRIPTION_TEXT" \ --owner-emails="OWNER_EMAIL" \ --project="PROJECT_ID"
--display-namedipetakan ketitledi SAP BDC, dan--descriptiondipetakan keshort_description.Tautkan aset tabel Apache Iceberg yang dikelola oleh Lakehouse ke Produk Data:
gcloud alpha dataplex data-products data-assets create DATA_ASSET_ID \ --data_product="DATA_PRODUCT_ID" \ --location="LOCATION" \ --resource="//biglake.googleapis.com/projects/PROJECT_ID/catalogs/ICEBERG_CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME" \ --project="PROJECT_ID"
Saat mengonfigurasi aset dalam Produk Data, aset tabel harus memiliki kunci utama yang ditentukan menggunakan
identifier-field-idsdalam metadata tabel Iceberg (dengan semua kolom ID ditandai sebagairequired: true) dan setidaknya satu baris. Jika tabel Anda tidak memiliki kunci utama atau berisi kolom kunci yang dapat di-null-kan, lihat Memperbarui skema tabel Iceberg untuk kunci utama guna memperbaruinya menggunakan BigLake REST API. Semua aset data dalam satu Produk Data harus berasal dari katalog REST Apache Iceberg yang sama. Produk Data dapat memiliki maksimal 50 tabel, dan harus berisi setidaknya satu aset data yang valid untuk dipublikasikan. Tabel Iceberg mungkin tidak langsung muncul di Google Cloud konsol.Opsional: Verifikasi aset di Produk Data Anda:
gcloud alpha dataplex data-products data-assets list \ --data_product="DATA_PRODUCT_ID" \ --location="LOCATION" \ --project="PROJECT_ID"
Publikasikan Produk Data ke SAP BDC. Pastikan katalog koneksi, Produk Data, dan resource yang mendasarinya berada di region yang sama.
gcloud biglake data-product-sharing publish \ --connection-catalog="projects/PROJECT_ID/catalogs/CONNECTION_CATALOG_ID" \ --share="SAP_SHARE_NAME" \ --sap-federated-identity-provider="projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID" \ --data-product="projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID" \ --project="PROJECT_ID"
Produk Data yang dipublikasikan dapat ditemukan di SAP BDC dan dapat di instal di SAP Datasphere sebagai tabel jarak jauh. Di SAP BDC, Produk Data yang dipublikasikan mewarisi judul dan deskripsi singkat yang ditetapkan saat membuat Produk Data Knowledge Catalog.
Ganti kode berikut:
CONNECTION_CATALOG_ID: katalog koneksi Delta Sharing yang terdaftar dan dibuat selama penyiapan awal untuk berbagi data dari SAP BDC ke BigQuery. Katalog ini sama dengan katalog Delta Sharing yang disebutkan dalam petunjuk penyiapan; Anda tidak perlu membuat katalog lain untuk publikasi balik.PROJECT_NUMBER: nomor Google Cloud project Anda.sap-federated-identity-providerharus menggunakan nomor project, bukan project ID.POOL_ID: ID pool WIF.PROVIDER_ID: ID penyedia WIF.DATA_PRODUCT_ID: ID Produk Data Knowledge Catalog Anda.LOCATION: lokasi Produk Data Knowledge Catalog Anda.SAP_SHARE_NAME: nama berbagi di SAP BDC.
Mengakses Google Cloud data di SAP BDC
Setelah memublikasikan data ke SAP BDC, Anda dapat mengakses Google Cloud data secara native di lingkungan SAP. Untuk mengetahui informasi selengkapnya tentang cara menginstal dan menggunakan Produk Data di SAP sebagai tabel jarak jauh, lihat Menginstal Produk Data dalam dokumentasi SAP.
Langkah berikutnya
- Memecahkan masalah akses SAP BDC.
- Menginstal Produk Data dalam dokumentasi SAP.