Als Entwickler können Sie Cloud Functions-Funktionen schreiben, die HTTP-Endpunkte bereitstellen. Sie rufen Cloud Functions-Funktionen aus der ABAP SDK-Klasse /GOOG/CL_CLOUDFUNC_INVOKER
mit ihren HTTP-Endpunkten auf.
Dieser Vorgang umfasst das Aufrufen einer Cloud Functions-Funktion mithilfe ihres Namens und Speicherorts, um den HTTP-Endpunkt der Funktion abzurufen. Dieser Endpunkt wird dann zum Aufrufen der Funktion verwendet. Für die Authentifizierung bei Cloud Functions ist ein ID-Token erforderlich, um den HTTP-Endpunkt aufzurufen.
Es müssen folgende allgemeine Konfigurations-Schritte ausgeführt werden:
- Aktivieren Sie in Google Cloud die Google Cloud APIs.
- Erstellen Sie ein Dienstkonto und weisen Sie Rollen zu, um die Details der Cloud Functions-Funktion abzurufen.
- Erstellen Sie ein weiteres Dienstkonto und weisen Sie Rollen zum Aufrufen von Cloud Functions zu.
- Authentifizierung für Cloud Functions einrichten
- Clientschlüssel zum Aufrufen von Cloud Functions konfigurieren
Google Cloud APIs aktivieren
Aktivieren Sie in der Google Cloud Console die folgenden Google Cloud APIs:
Informationen zum Aktivieren von Google Cloud APIs finden Sie unter APIs aktivieren.
Dienstkonto erstellen, um Details zur Cloud Functions-Funktion abzurufen
Erstellen Sie in der Google Cloud Console ein IAM-Dienstkonto, um Details zu Ihrer Cloud Functions-Funktion abzurufen.
Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonto erstellen.
Weisen Sie dem Dienstkonto die folgenden Rollen zu.
Eine Anleitung finden Sie unter Einzelne Rolle zuweisen.
Weiteres Dienstkonto zum Aufrufen von Cloud Functions erstellen
Erstellen Sie in der Google Cloud Console ein dediziertes Dienstkonto zum Aufrufen von Cloud Functions.
Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonto erstellen.
Je nach der Generation von Cloud Functions, die Sie aufrufen, weisen Sie dem Dienstkonto die entsprechenden Rollen zu:
- Für Funktionen der 1. Generation: Weisen Sie dem Dienstkonto die Rolle
Cloud Functions Invoker
zu. - Für Funktionen der 2. Generation: Weisen Sie dem Dienstkonto die Rolle
Cloud Run Invoker
zu.
Weitere Informationen zu den Berechtigungen zum Aufrufen einer Funktion finden Sie unter Für Aufruf authentifizieren.
- Für Funktionen der 1. Generation: Weisen Sie dem Dienstkonto die Rolle
Authentifizierung für Cloud Functions einrichten
Je nach Umgebung, in der Ihr SAP-System gehostet wird, können Sie mit einer der folgenden Methoden die tokenbasierte Authentifizierung für den Zugriff auf die Cloud Functions API einrichten:
- SAP-System, das auf Compute Engine-VM gehostet wird
- SAP RISE- oder SAP-System, das außerhalb von Google Cloud gehostet wird
Auf Compute Engine-VM gehostetes SAP-System
Eine Anleitung zum Einrichten der Authentifizierung für den Zugriff auf die Cloud Functions API, wenn Ihr SAP-System auf einer Compute Engine-VM-Instanz gehostet wird, finden Sie unter Mit Zugriffstokens authentifizieren. Konfigurieren Sie einen Clientschlüssel mit dem von Ihnen erstellten Dienstkonto, um die Details der Cloud Functions-Funktion abzurufen.
SAP RISE- oder SAP-System, das außerhalb von Google Cloud gehostet wird
Richten Sie die Authentifizierung für den Zugriff auf Cloud Functions APIs mithilfe einer der folgenden Authentifizierungsmethoden ein:
- Mit JSON Web Token (JWT) authentifizieren
- Mit Tokens über die Identitätsföderation von Arbeitslasten authentifizieren
Konfigurieren Sie einen Clientschlüssel mit dem von Ihnen erstellten Dienstkonto, um die Details der Cloud Functions-Funktion abzurufen.
Clientschlüssel zum Aufrufen von Cloud Functions konfigurieren
Je nach Umgebung, in der Ihr SAP-System gehostet wird, verwenden Sie unterschiedliche Werte für die Konfiguration des Clientschlüssels:
- SAP-System, das auf Compute Engine-VM gehostet wird
- SAP RISE- oder SAP-System, das außerhalb von Google Cloud gehostet wird
Auf Compute Engine-VM gehostetes SAP-System
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Clientschlüssel konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie Werte für die folgenden Felder ein:
Feld Beschreibung Google Cloud-Schlüsselname Geben Sie einen Namen für die Konfiguration des Clientschlüssels an. Name des Google Cloud-Dienstkontos Geben Sie den Namen des Dienstkontos an, dem Sie Berechtigungen zum Aufrufen von Cloud Functions erteilt haben. Beispiel:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Google Cloud-Bereich Geben Sie den Zugriffsbereich https://www.googleapis.com/auth/cloud-platform
an.Projekt-ID Geben Sie die ID des Google Cloud-Projekts an, für das die Cloud Functions API aktiviert ist. Befehlsname Lassen Sie dieses Feld leer. Autorisierungsklasse Geben Sie die Autorisierungsklasse /GOOG/CL_AUTH_ID_TOKEN
an.Autorisierungsfeld Lassen Sie dieses Feld leer. Token-Caching Lassen Sie dieses Feld leer. Sekunden bis Tokenaktualisierung Lassen Sie dieses Feld leer. Autorisierungsparameter 1 Lassen Sie dieses Feld leer. Autorisierungsparameter 2 Lassen Sie dieses Feld leer. Speichern Sie den neuen Eintrag.
SAP RISE- oder SAP-System, das außerhalb von Google Cloud gehostet wird
Führen Sie in der SAP-GUI den Transaktionscode
/GOOG/SDK_IMG
aus.Alternativ können Sie den Transaktionscode
SPRO
ausführen und dann auf SAP-Referenz-IMG klicken.Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Clientschlüssel konfigurieren.
Klicken Sie auf Neue Einträge.
Geben Sie Werte für die folgenden Felder ein:
Feld Beschreibung Google Cloud-Schlüsselname Geben Sie einen Namen für die Konfiguration des Clientschlüssels an. Name des Google Cloud-Dienstkontos Geben Sie den Namen des Dienstkontos an, dem Sie Berechtigungen zum Aufrufen von Cloud Functions erteilt haben. Beispiel:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Google Cloud-Bereich Geben Sie den Zugriffsbereich https://www.googleapis.com/auth/cloud-platform
an.Projekt-ID Geben Sie die ID des Google Cloud-Projekts an, für das die Cloud Functions API aktiviert ist. Befehlsname Lassen Sie dieses Feld leer. Autorisierungsklasse Geben Sie die Autorisierungsklasse so an: - Geben Sie für die Authentifizierung mit JWT
/GOOG/CL_AUTH_JWT_ID_TOKEN
an. - Geben Sie für die Authentifizierung mithilfe der Workload Identity-Föderation die untergeordnete Klasse an, die die Implementierung der Klasse
/GOOG/CL_AUTH_WIF_ID_TOKEN
enthält. Weitere Informationen finden Sie unter ABAP-Code zum Abrufen von Sicherheitstokens von Ihrem IdP implementieren.
Autorisierungsfeld Lassen Sie dieses Feld leer. Token-Caching Lassen Sie dieses Feld leer. Sekunden bis Tokenaktualisierung Lassen Sie dieses Feld leer. Autorisierungsparameter 1 - Wenn Sie für die Authentifizierung mit JWT einen benutzerdefinierten Namen für die SSF-Anwendung verwenden, geben Sie den Namen der SSF-Anwendung an, die Sie im Abschnitt Neue SSF-Anwendung (Secure Store and Forward) erstellen erstellt haben.
- Geben Sie für die Authentifizierung mithilfe der Identitätsföderation von Arbeitslasten die ID des Workload Identity-Pools an.
Autorisierungsparameter 2 - Lassen Sie dieses Feld für die Authentifizierung mit JWT leer.
- Geben Sie für die Authentifizierung mithilfe der Workload Identity-Föderation die ID des Workload Identity-Anbieters an.
- Geben Sie für die Authentifizierung mit JWT
Speichern Sie den neuen Eintrag.
Support kontaktieren
Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK für Google Cloud benötigen, gehen Sie so vor:
Weitere Informationen finden Sie im Leitfaden zur Fehlerbehebung für ABAP SDK für Google Cloud.
In den Cloud-Foren können Sie Ihre Fragen stellen und über die ABAP SDK für Google Cloud mit der Community sprechen.
Erfassen Sie alle verfügbaren Diagnoseinformationen und wenden Sie sich an Cloud Customer Care. Informationen zur Kontaktaufnahme mit Customer Care finden Sie unter Support für SAP in Google Cloud.