Lakehouse-Tabellen in SAP BDC veröffentlichen

In diesem Dokument wird beschrieben, wie Sie Google Cloud konfigurieren, damit SAP Business Data Cloud (BDC) auf BigQuery-Daten zugreifen kann, ohne sie zu kopieren. Dazu richten Sie den Apache Iceberg-REST-Katalogendpunkt im Lakehouse for Apache Iceberg-Laufzeitkatalog oder in einem Knowledge Catalog-Datenprodukt ein, das Sie für SAP freigeben.

Eine Übersicht über diese Integration und ihre Anwendungsfälle finden Sie unter Informationen zur SAP BDC-Integration.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the BigLake and Dataplex 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

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

  5. Enable the BigLake and Dataplex 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

  6. Cloud Storage-Bucket: Erstellen Sie einen Cloud Storage-Bucket zum Speichern Ihrer Iceberg-Metadaten und -Datendateien. Eine Anleitung finden Sie unter Buckets erstellen. Alle Ressourcen, einschließlich des Backend-Buckets, müssen sich in derselben Region befinden, um Fehler in der Konfigurationspipeline zu vermeiden.
  7. Apache Iceberg REST-Katalog: Richten Sie einen Apache Iceberg REST-Katalogendpunkt im Lakehouse-Laufzeitkatalog mit aktivierter Anmeldedatenbereitstellung ein, der die Namespaces und Tabellen enthält, die Sie freigeben möchten. Dieser Katalog verwendet den Cloud Storage-Bucket als Data Warehouse. Eine Anleitung finden Sie unter Iceberg-REST-Katalog einrichten.
  8. Delta Sharing-Verbindungskatalog: Bereiten Sie einen registrierten Delta Sharing-Verbindungskatalog für Ihre SAP BDC-Verbindung vor. Das ist derselbe Katalog, der bei der Ersteinrichtung für die gemeinsame Nutzung von Daten aus SAP BDC für BigQuery erstellt wurde. Sie müssen keinen neuen erstellen. Eine Anleitung finden Sie unter Cloud-übergreifendes Lakehouse für SAP BDC einrichten.
  9. Identitätsföderation von Arbeitslasten (Workload Identity Federation, WIF): Bereiten Sie die Konfiguration von WIF vor, um dem Aussteller der SAP BDC-Authentifizierung zu vertrauen. Das richten Sie im nächsten Abschnitt ein.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der Identitätsföderation von Arbeitslasten und zum Veröffentlichen von Daten benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Allgemeiner Workflow

So veröffentlichen Sie Daten in SAP BDC:

  1. Workload Identity-Föderation konfigurieren:Erstellen Sie einen Pool und einen Anbieter für die Workload Identity-Föderation, um eine Vertrauensbeziehung zum SAP BDC-OIDC-Aussteller herzustellen.
  2. Rollen für das föderierte Hauptkonto zuweisen:Weisen Sie der föderierten Identität Berechtigungen zum Aufrufen von Katalogmetadaten und zum Verwenden von Dienstkontingenten zu.
  3. Daten veröffentlichen:Veröffentlichen Sie Ihren Apache Iceberg REST-Katalog oder ein Knowledge Catalog-Datenprodukt mit der gcloud-Befehlszeile in SAP BDC.

Identitätsföderation von Arbeitslasten konfigurieren

Damit SAP BDC ohne exportierte Dienstkontoschlüssel auf Ihre Lakehouse-Ressourcen zugreifen kann, konfigurieren Sie die Identitätsföderation von Arbeitslasten (Workload Identity Federation, WIF). Dadurch wird eine Vertrauensstellung zwischen Google Cloud und dem SAP BDC-OIDC-Aussteller hergestellt.

So richten Sie den WIF-Pool und den WIF-Anbieter ein:

Aussteller-URI abrufen

Rufen Sie den OIDC-Aussteller-URI aus Ihrem Delta Sharing-Verbindungskatalog ab. Sie benötigen diesen URI, um den WIF-Anbieter zu konfigurieren.

gcloud alpha biglake delta-sharing catalogs describe CONNECTION_CATALOG_ID \
    --project="PROJECT_ID"

Suchen Sie in der Befehlsausgabe nach dem Feld federatedIdentityIssuer, das den Aussteller-URI enthält.

Workload Identity-Pool erstellen

Erstellen Sie einen Workload Identity-Pool, um externe Identitäten zu gruppieren.

gcloud iam workload-identity-pools create POOL_ID \
    --location="global" \
    --display-name="POOL_DISPLAY_NAME" \
    --project="PROJECT_ID"

OIDC-Anbieter erstellen

Erstellen Sie einen OIDC-Anbieter im Pool, um Vertrauen zu definieren und Token-Ansprüche zuzuordnen.

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"

Rollen dem föderierten Prinzipal zuweisen

Autorisieren Sie die föderierte Identität aus dem vertrauenswürdigen Pool, die erforderlichen Google-APIs aufzurufen. Sie können eine bestimmte Subjekt-UUID oder den gesamten Pool autorisieren.

So autorisieren Sie ein bestimmtes Thema (empfohlen):

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"

Ersetzen Sie WIF_SUBJECT durch die UUID, die vom SAP-seitigen Aussteller für die Arbeitslast ausgestellt wurde.

So autorisieren Sie jede Identität im Pool (weniger restriktiv, geeignet für Testumgebungen):

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/*"

Daten in SAP BDC veröffentlichen

Sie können einen Apache Iceberg REST-Katalog über die Google Cloud Console oder die Google Cloud CLI veröffentlichen. Alternativ können Sie ein Knowledge Catalog-Datenprodukt mit Iceberg-Tabellen über die gcloud CLI veröffentlichen. Das Veröffentlichen eines Datenprodukts wird in der Google Cloud -Konsole nicht unterstützt.

Iceberg-REST-Katalog

Prüfen Sie vor der Veröffentlichung, ob Ihre Iceberg-Tabellen Primärschlüssel und mindestens eine Zeile enthalten, da SAP BDC beides für Abfragen benötigt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Lakehouse Runtime Catalog auf.

    Zum Lakehouse-Laufzeitkatalog

  2. Maximieren Sie im Navigationsbereich Ihr Projekt und wählen Sie den Delta-Katalog (Verbindungskatalog) aus, der für die Veröffentlichung verwendet werden soll.

  3. Klicken Sie auf Datenprodukt veröffentlichen.

  4. Geben Sie die erforderlichen Freigabedetails ein, einschließlich der Auswahl des Iceberg-REST-Katalogs, der veröffentlicht werden soll.

  5. Klicken Sie auf Veröffentlichen.

gcloud

  1. Prüfen Sie, ob der Apache Iceberg REST-Katalogendpunkt vorhanden ist, und rufen Sie die zugehörigen Details ab:

    gcloud alpha biglake iceberg catalogs describe ICEBERG_CATALOG_ID \
        --project="PROJECT_ID"
  2. Veröffentlichen Sie den Apache Iceberg REST-Katalog in SAP BDC. Der Verbindungskatalog, der Iceberg-Katalog und der zugrunde liegende Cloud Storage-Bucket müssen sich alle in derselben Region befinden.

    gcloud alpha 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"

    Der veröffentlichte Apache Iceberg REST-Katalog ist in SAP BDC auffindbar und kann in SAP Datasphere als Remotetabelle installiert werden.

    Ersetzen Sie Folgendes:

    • CONNECTION_CATALOG_ID: Der registrierte Delta Sharing-Verbindungskatalog, der bei der Ersteinrichtung für die Freigabe von Daten aus SAP BDC für BigQuery erstellt wurde. Er ist derselbe wie der in der Einrichtungsanleitung erwähnte Delta Sharing-Katalog. Sie müssen keinen weiteren für die Rückveröffentlichung erstellen.
    • PROJECT_NUMBER: Ihre Google Cloud Projektnummer. Für sap-federated-identity-provider muss die Projektnummer und nicht die Projekt-ID verwendet werden.
    • POOL_ID: Die ID des WIF-Pools.
    • PROVIDER_ID: Die WIF-Anbieter-ID.
    • TITLE_TEXT und SHORT_DESCRIPTION_TEXT: Erforderliche Anzeigewerte für den Anteil in SAP BDC.
    • DETAILED_DESCRIPTION_TEXT: Eine optionale detaillierte Beschreibung. Geben Sie nicht denselben Text für die Kurzbeschreibung und die ausführliche Beschreibung ein, da dies von SAP abgelehnt wird. Der Veröffentlichungsvorgang wird auch abgelehnt, wenn die detaillierte Beschreibung die genaue Kurzbeschreibung als Teilstring enthält. Wenn die Kurzbeschreibung beispielsweise Sales Data lautet, wird eine detaillierte Beschreibung von Longer Sales Data details abgelehnt, da sie Sales Data enthält. Eine detaillierte Beschreibung von „Längere Verkaufszeiträume“ ist jedoch zulässig.

Knowledge Catalog-Datenprodukt

Alternativ können Sie ein Knowledge Catalog-Datenprodukt veröffentlichen. Ein Datenprodukt ist eine kuratierte, logische Gruppierung von Daten-Assets (z. B. Tabellen oder Ansichten), die zusammengefasst werden, um bestimmte Geschäftsprobleme zu lösen. Anstatt einen vollständigen Katalog zu veröffentlichen, können Sie bestimmte Apache Iceberg-Tabellen auswählen, sie in einem Datenprodukt gruppieren und diese kuratierte Sammlung in SAP BDC veröffentlichen.

  1. Datenprodukt erstellen:

    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-name wird im SAP-BDC title zugeordnet und --description wird short_description zugeordnet.

  2. Lakehouse Iceberg-Tabellen-Asset mit dem Datenprodukt verknüpfen:

    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"

    Beim Konfigurieren von Assets in einem Datenprodukt müssen Tabellen-Assets Primärschlüssel und mindestens eine Zeile haben. Alle Datenassets in einem einzelnen Data Product müssen zum selben Apache Iceberg REST-Katalog gehören. Ein Datenprodukt kann maximal 50 Tabellen enthalten und muss mindestens ein gültiges zu veröffentlichendes Daten-Asset enthalten. Iceberg-Tabellen werden möglicherweise nicht sofort in derGoogle Cloud -Konsole angezeigt.

  3. Optional: Assets in Ihrem Datenprodukt überprüfen:

    gcloud alpha dataplex data-products data-assets list \
        --data_product="DATA_PRODUCT_ID" \
        --location="LOCATION" \
        --project="PROJECT_ID"
  4. Veröffentlichen Sie das Datenprodukt in SAP BDC. Achten Sie darauf, dass sich der Verbindungskatalog, das Datenprodukt und die zugrunde liegenden Ressourcen in derselben Region befinden.

    gcloud alpha 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"

    Das veröffentlichte Datenprodukt ist in SAP BDC auffindbar und kann als Remote-Tabelle in SAP Datasphere installiert werden. Im SAP BDC erbt das veröffentlichte Datenprodukt den Titel und die Kurzbeschreibung, die beim Erstellen des Knowledge Catalog-Datenprodukts festgelegt wurden.

    Ersetzen Sie Folgendes:

    • CONNECTION_CATALOG_ID: Der registrierte Delta Sharing-Verbindungskatalog, der bei der Ersteinrichtung für die gemeinsame Nutzung von Daten aus SAP BDC in BigQuery erstellt wurde. Er entspricht dem in der Einrichtungsanleitung erwähnten Delta Sharing-Katalog. Sie müssen keinen weiteren für die Rückveröffentlichung erstellen.
    • PROJECT_NUMBER: Ihre Google CloudProjektnummer. Für sap-federated-identity-provider muss die Projektnummer und nicht die Projekt-ID verwendet werden.
    • POOL_ID: Die ID des WIF-Pools.
    • PROVIDER_ID: Die WIF-Anbieter-ID.
    • DATA_PRODUCT_ID: Die ID Ihres Knowledge Catalog-Datenprodukts.
    • LOCATION: Der Speicherort Ihres Knowledge Catalog-Datenprodukts.
    • SAP_SHARE_NAME: Der Name der Freigabe in SAP BDC.

Auf Google Cloud Daten in SAP BDC zugreifen

Nachdem Sie Ihre Daten in SAP BDC veröffentlicht haben, können Sie nativ in der SAP-Umgebung darauf zugreifen. Google Cloud Weitere Informationen zum Installieren und Verwenden von Data Products in SAP als Remotetabellen finden Sie in der SAP-Dokumentation unter Data Products installieren.

Nächste Schritte