Datenprodukte in SAP BDC veröffentlichen

In diesem Dokument wird erläutert, wie Sie konfigurieren Google Cloud , 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 ein Knowledge Catalog Datenprodukt ein, um es für SAP freizugeben.

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 noch nicht mit Google Cloudvertraut sind, erstellen Sie ein Konto, um die Leistung 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, um Ihre Iceberg-Metadaten und ‑Datendateien zu speichern. 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 ein, bei dem die Anmeldedatenbereitstellung aktiviert ist und der die Namespaces und Tabellen enthält, die Sie freigeben möchten. Dieser Katalog verwendet den Cloud Storage-Bucket als 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. Dies ist derselbe Katalog, der bei der Ersteinrichtung für die Freigabe von Daten aus SAP BDC für BigQuery erstellt wurde. Sie müssen keinen neuen erstellen. Eine Anleitung finden Sie unter Borderless 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 SAP BDC-Authentifizierungsaussteller zu vertrauen. Sie richten dies im folgenden 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. Identitätsföderation von Arbeitslasten konfigurieren:Erstellen Sie einen Workload Identity-Föderationspool und einen ‑Anbieter, um eine Vertrauensstellung mit dem SAP BDC-OIDC-Aussteller herzustellen.
  2. Rollen für den föderierten Prinzipal zuweisen:Gewähren Sie der föderierten Identität Berechtigungen zum Ansehen von Katalogmetadaten und zum Nutzen von Dienstkontingenten.
  3. Daten veröffentlichen:Veröffentlichen Sie Ihren Apache Iceberg REST-Katalog oder ein Knowledge Catalog-Datenprodukt mit der gcloud-CLI in SAP BDC.

Identitätsföderation von Arbeitslasten konfigurieren

Damit SAP BDC auf Ihre Lakehouse-Ressourcen zugreifen kann, ohne dass exportierte Dienstkontoschlüssel erforderlich sind, 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.

Führen Sie die folgenden Schritte aus, um den WIF-Pool und ‑Anbieter einzurichten:

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 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 im Pool einen OIDC-Anbieter, um Vertrauensstellungen 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 für den föderierten Prinzipal zuweisen

Autorisieren Sie die föderierte Identität aus dem vertrauenswürdigen Pool, um erforderliche Google APIs aufzurufen. Sie können ein bestimmtes Subjekt oder den gesamten Pool autorisieren.

So autorisieren Sie ein bestimmtes Subjekt (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 ausgegeben 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 oder ein Knowledge Catalog-Datenprodukt mit Iceberg-Tabellen über die Google Cloud console oder die Google Cloud CLI veröffentlichen.

Iceberg REST-Katalog

Prüfen Sie vor der Veröffentlichung, ob für Ihre Iceberg-Tabellen Primärschlüssel mit identifier-field-ids in den Iceberg-Tabellenmetadaten und mindestens eine Zeile definiert sind, da beides für SAP BDC-Abfragen erforderlich ist. Alle Spalten, auf die in identifier-field-ids verwiesen wird, müssen im Iceberg-Schema auf required: true (nicht null) gesetzt sein. Wenn Ihre Tabelle keine Primärschlüssel hat oder nullfähige Schlüsselfelder enthält, finden Sie unter Iceberg-Tabellenschema für Primärschlüssel aktualisieren Informationen zum Aktualisieren mit der BigLake REST API.

Console

  1. Rufen Sie in der Google Cloud console die Seite Lakehouse-Laufzeitkatalog 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 Details für die Freigabe ein und wählen Sie den Iceberg REST-Katalog aus, 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 Details dazu ab:

    gcloud 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 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 Projekt nummer. Für das Flag --sap-federated-identity-provider muss die Projektnummer und nicht die Projekt-ID verwendet werden.
    • POOL_ID: Die WIF-Pool-ID.
    • PROVIDER_ID: Die WIF-Anbieter-ID.
    • TITLE_TEXT und SHORT_DESCRIPTION_TEXT: Erforderliche Anzeigewerte für die Freigabe in SAP BDC.
    • DETAILED_DESCRIPTION_TEXT: Eine optionale detaillierte Beschreibung. Geben Sie nicht denselben Text für die kurze und die detaillierte Beschreibung ein, da dies von SAP abgelehnt wird. Der Veröffentlichungsvorgang wird auch abgelehnt, wenn die detaillierte Beschreibung die genaue kurze Beschreibung als Teilstring enthält. Wenn die kurze Beschreibung Sales Data lautet, wird eine detaillierte Beschreibung von Longer Sales Data details abgelehnt, da sie Sales Data enthält. Eine detaillierte Beschreibung von „Longer Sales Information“ wird jedoch akzeptiert.

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 zusammen verpackt werden, um bestimmte geschäftliche Probleme zu lösen. Anstatt einen vollständigen Katalog zu veröffentlichen, können Sie bestimmte Apache Iceberg-Tabellen auswählen, sie zu einem Datenprodukt gruppieren und diese kuratierte Sammlung in SAP BDC veröffentlichen.

Console

  1. Rufen Sie in der Google Cloud console die Knowledge Catalog Seite auf.

    Zum Knowledge Catalog

  2. Wählen Sie im Navigationsmenü Datenprodukte aus.

  3. Klicken Sie auf das Datenprodukt, das Sie veröffentlichen möchten, um die Detailseite zu öffnen.

  4. Klicken Sie auf Freigeben und wählen Sie In SAP veröffentlichen aus.

  5. Konfigurieren Sie im Bereich Datenprodukt in SAP veröffentlichen die folgenden Felder:

    • Name der Freigabe: Geben Sie den Namen für die Freigabe in SAP BDC ein.
    • Delta-Katalog: Wählen Sie Ihren registrierten Delta Sharing-Verbindungskatalog aus.
    • Workload Identity: Wählen Sie Ihren Workload Identity-Pool-Anbieter aus oder geben Sie ihn ein.
  6. Klicken Sie auf Veröffentlichen.

gcloud

  1. Erstellen Sie das Datenprodukt:

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

  2. Verknüpfen Sie ein Lakehouse Iceberg-Tabellen-Asset mit dem Datenprodukt:

    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 für Tabellen-Assets Primärschlüssel mit identifier-field-ids in den Iceberg-Tabellenmetadaten definiert sein (wobei alle Kennspalten als required: true gekennzeichnet sind) und mindestens eine Zeile vorhanden sein. Wenn Ihre Tabelle keine Primärschlüssel hat oder nullfähige Schlüsselfelder enthält, finden Sie unter Iceberg-Tabellenschema für Primärschlüssel aktualisieren Informationen zum Aktualisieren mit der BigLake REST API. Alle Daten-Assets in einem einzelnen Datenprodukt müssen zum selben Apache Iceberg REST-Katalog gehören. Ein Datenprodukt kann maximal 50 Tabellen enthalten und muss mindestens ein gültiges Daten-Asset enthalten, um veröffentlicht zu werden. Iceberg-Tabellen werden möglicherweise nicht sofort in der Google Cloud console angezeigt.

  3. Optional: Prüfen Sie die Assets in Ihrem Datenprodukt:

    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. Der Verbindungskatalog, das Datenprodukt und die zugrunde liegenden Ressourcen müssen sich in derselben Region befinden.

    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"

    Das veröffentlichte Datenprodukt ist in SAP BDC auffindbar und kann in SAP Datasphere als Remote tabelle installiert werden. In SAP BDC erbt das veröffentlichte Datenprodukt den Titel und die kurze Beschreibung, 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 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 WIF-Pool-ID.
    • PROVIDER_ID: Die WIF-Anbieter-ID.
    • DATA_PRODUCT_ID: Die ID Ihres Knowledge Catalog-Datenprodukts.
    • LOCATION: Der Standort Ihres Knowledge Catalog-Datenprodukts.
    • SAP_SHARE_NAME: Der Name der Freigabe in SAP BDC.

Auf Daten Google Cloud 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 Daten Weitere Informationen zum Installieren und Verwenden von Datenprodukten in SAP als Remotetabellen finden Sie in der SAP-Dokumentation unter Installing Data Products.

Nächste Schritte