Als Entwickler können Sie Cloud Run-Funktionen schreiben, die HTTP-Endpunkte bereitstellen. Sie rufen Cloud Run-Funktionen über ihre HTTP-Endpunkte aus der ABAP SDK-Klasse /GOOG/CL_CLOUDFUNC_INVOKER
auf.
Dazu wird eine Cloud Run-Funktion mit ihrem Namen und Speicherort aufgerufen, um den HTTP-Endpunkt der Funktion abzurufen. Dieser Endpunkt wird dann verwendet, um die Funktion aufzurufen. Für die Authentifizierung bei Cloud Run-Funktionen 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 gewähren Sie Rollen zum Abrufen der Details der Cloud Run-Funktion.
- Erstellen Sie ein weiteres Dienstkonto und gewähren Sie Rollen zum Aufrufen von Cloud Run-Funktionen.
- Richten Sie die Authentifizierung für Cloud Run-Funktionen ein.
- Konfigurieren Sie Clientschlüssel zum Aufrufen von Cloud Run-Funktionen.
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 zum Abrufen von Details zur Cloud Run-Funktion erstellen
Erstellen Sie in der Google Cloud Console ein IAM-Dienstkonto, um Details zu Ihrer Cloud Run-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 Run-Funktionen erstellen
Erstellen Sie in der Google Cloud Console ein spezielles Dienstkonto, um Cloud Run-Funktionen aufzurufen.
Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonto erstellen.
Weisen Sie dem Dienstkonto je nach Generation der aufgerufenen Cloud Run-Funktionen die entsprechenden Rollen zu:
- 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.
- Funktionen der 1. Generation: Weisen Sie dem Dienstkonto die Rolle
Authentifizierung für Cloud Run Functions einrichten
Je nach Umgebung, in der Ihr SAP-System gehostet wird, können Sie eine der folgenden Methoden verwenden, um die tokenbasierte Authentifizierung für den Zugriff auf die Cloud Run Functions API einzurichten:
- Auf Compute Engine-VM gehostetes SAP-System
- 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 Run Functions API, wenn Ihr SAP-System auf einer Compute Engine-VM-Instanz gehostet wird, finden Sie unter Mithilfe von Zugriffstokens authentifizieren. Konfigurieren Sie einen Clientschlüssel mit dem von Ihnen erstellten Dienstkonto, um die Details der Cloud Run-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 Run Functions APIs mit 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 Run-Funktion abzurufen.
Clientschlüssel zum Aufrufen von Cloud Run-Funktionen konfigurieren
Je nach Umgebung, in der Ihr SAP-System gehostet wird, verwenden Sie unterschiedliche Werte für die Clientschlüsselkonfiguration:
- 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 Run-Funktionen gewährt 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 Run 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 Run-Funktionen gewährt 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 Run 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 anfordern
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.