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 in einem Knowledge Catalog Datenprodukt ein, um ihn 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 kein Konto haben Google Cloud, 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 ersten Einrichtung 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 dem 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-Befehlszeile 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 dem 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 mit der Google Cloud console oder der Google Cloud CLI veröffentlichen. Alternativ können Sie ein Knowledge Catalog Datenprodukt mit Iceberg-Tabellen mit der gcloud CLI veröffentlichen. Das Veröffentlichen eines Datenprodukts wird in der Google Cloud console 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 beides für SAP BDC-Abfragen erforderlich ist.

Console

  1. Rufen Sie in der Google Cloud console die Seite Lakehouse-Laufzeitkatalog auf.

    Lakehouse-Laufzeitkatalog aufrufen

  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 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 eine Remote-Tabelle installiert werden.

    Ersetzen Sie Folgendes:

    • CONNECTION_CATALOG_ID: Der registrierte Delta Sharing-Verbindungskatalog, der bei der ersten Einrichtung für die Freigabe von Daten aus SAP BDC für BigQuery erstellt wurde. Er entspricht dem in der Einrichtungsanleitung erwähnten Delta Sharing-Katalog. Sie müssen keinen weiteren für die Veröffentlichung erstellen.
    • PROJECT_NUMBER: Ihre Google Cloud Projekt nummer. 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.
    • 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 Kurzbeschreibung und die detaillierte 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 „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.

  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 title in SAP BDC 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 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 Konsole angezeigt.

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

    gcloud alpha dataplex data-products data-assets list \
        --data_product="DATA_PRODUCT_ID" \
        --location="LOCATION" \
        --project="PROJECT_ID"
  4. Datenprodukt in SAP BDC veröffentlichen. 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 eine Remote Tabelle installiert werden. In 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 ersten Einrichtung für die Freigabe von Daten aus SAP BDC für BigQuery erstellt wurde. Er entspricht dem in der Einrichtungsanleitung erwähnten Delta Sharing-Katalog. Sie müssen keinen weiteren für die Verö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.

Zugriff auf Google Cloud Daten in SAP BDC

Nachdem Sie Ihre Daten in SAP BDC veröffentlicht haben, können Sie direkt in der SAP-Umgebung auf Google Cloud Daten zugreifen. Weitere Informationen zum Installieren und Verwenden von Datenprodukten in SAP als Remote-Tabellen finden Sie in der SAP-Dokumentation unter Installing Data Products.

Nächste Schritte