Mit OAuth 2.0-Clientanmeldedaten bei Google Workspace APIs authentifizieren

In diesem Dokument wird beschrieben, wie Sie die Authentifizierung für den Zugriff auf Google Workspace APIs mit OAuth 2.0-Clientanmeldedaten einrichten. Mit OAuth 2.0-Clientanmeldedaten können Sie ein Token im Kontext eines Endnutzers abrufen, z. B. ein Token, das für den Zugriff auf Google Sheets erforderlich ist. Unabhängig davon, wo Ihr SAP-System gehostet wird, können Sie OAuth 2.0-Client-Anmeldedaten für die Authentifizierung bei Google Workspace APIs verwenden, solange das System OAuth 2.0 unterstützt.

Für die Authentifizierung bei Google Workspace APIs mit OAuth 2.0-Clientanmeldedaten müssen Sie die folgenden Konfigurationen in Ihrem Google Cloud-Projekt und Ihrer SAP-Umgebung ausführen:

Google Cloud Console-Konfigurationen

SAP-Umgebungskonfigurationen

Das ABAP SDK für Google Cloud wird mit den folgenden Kernkomponenten ausgeliefert, die für die Authentifizierung mit den OAuth 2.0-Clientanmeldedaten erforderlich sind:

  • OAuth 2.0-Dienstanbieter-Typ /GOOG/ABAP_SDK, den Sie für die OAuth 2.0-Clientprofilkonfiguration angeben.
  • Authentifizierungsklasse /GOOG/CL_OAUTH_GOOGLE, die Sie für die Clientschlüsselkonfiguration angeben.
  • SAP Business Add-Ins (BAdIs)-Implementierungen, die Google-spezifische OAuth-Parameter wie Endpunkte und erforderliche Parametereinstellungen vorab ausfüllen.

Allerdings müssen Sie auch die folgenden Konfigurationen in Ihrer SAP-Umgebung ausführen:

Der OAuth-Zustimmungsbildschirm ist eine Eingabeaufforderung, die Nutzer darüber informiert, wer Zugriff auf ihre Daten anfordert und welche Art von Daten Nutzern Ihre Anwendung erlaubt.

  1. Gehen Sie in der Google Cloud Console zu Menü  > APIs und Dienste > OAuth-Zustimmungsbildschirm.

    Zum OAuth-Zustimmungsbildschirm

  2. Wählen Sie den Nutzertyp Extern für Ihre Anwendung aus und klicken Sie auf Erstellen.

  3. Geben Sie im Formular für die App-Registrierung die folgenden Details an:

    • App-Name: Name der Anwendung, die eine Einwilligung erfordert.
    • E-Mail-Adresse des Nutzersupports: E-Mail-Adresse des Supports, mit der Nutzer Sie mit Fragen zu ihrer Einwilligung kontaktieren können.
    • Autorisierte Domains: Die Domains, die bei der OAuth-Einwilligung verwendet werden sollen.
    • Kontaktdaten für Entwickler: Die E-Mail-Adressen von Google, um Sie über Änderungen an Ihrem Projekt zu informieren.
  4. Klicken Sie auf Speichern und fortfahren.

OAuth 2.0-Client-ID-Anmeldedaten erstellen

Für die Authentifizierung als Endnutzer und für den Zugriff auf Nutzerdaten in Ihrer Anwendung müssen Sie mindestens eine OAuth 2.0-Client-ID erstellen. Eine Client-ID wird zur Identifizierung einer einzelnen Anwendung bei Googles OAuth-Servern verwendet.

  1. Gehen Sie in der Google Cloud Console zu Menü  > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.

  3. Wählen Sie im Feld Anwendungstyp die Option Webanwendung aus.

  4. Geben Sie im Feld Name einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.

  5. Klicken Sie unter Autorisierte Weiterleitungs-URIs auf URI hinzufügen. Geben Sie dann Ihren SAP-Weiterleitungs-URI ein, an den der OAuth 2.0-Server Antworten senden kann.

    Sie können den SAP-Weiterleitungs-URI aus den OAuth 2.0-Einstellungen in der SICF-Transaktion abrufen.

  6. Klicken Sie auf Erstellen.

  7. Notieren Sie sich die Werte unter Client-ID und Clientschlüssel.

OAuth 2.0-Clientprofil erstellen

Als ABAP-Entwickler erstellen Sie ein OAuth-Clientprofil mit den OAuth 2.0-Bereichen, die für Ihre Geschäftsanforderungen erforderlich sind. Informationen zu den OAuth 2.0-Bereichen für die Google APIs finden Sie unter OAuth 2.0-Bereiche für Google APIs.

Ein Beispiel für ein OAuth-Clientprofil /GOOG/OAUTH_PROFILE_SAMPLE wird mit dem SDK geliefert, wobei die OAuth 2.0-Bereiche für die Google Sheets API konfiguriert sind.

  1. Geben Sie in der SAP-GUI den Transaktionscode SE80 ein.
  2. Wählen Sie in der Drop-down-Liste Entwicklungsobjekt aus.
  3. Wählen Sie zum Erstellen eines Entwicklungsobjekts im benutzerdefinierten Namespace Erstellen > Weitere > OAuth 2.0-Clientprofil aus dem Kontextmenü des Objektnamens.
  4. Geben Sie die folgenden Informationen ein:

    • Geben Sie im Feld Clientprofil einen Namen des Clientprofils ein.
    • Wählen Sie im Feld Typ die Option /GOOG/ABAP_SDK aus. Dies ist der Standardanbietertyp, der mit dem ABAP SDK für Google Cloud geliefert wird.
  5. Fügen Sie Ihrem Clientprofil die erforderlichen Bereiche hinzu. Informationen zu den OAuth 2.0-Bereichen finden Sie unter OAuth 2.0-Bereiche für Google APIs.

  6. Speichern Sie das Clientprofil in Ihrem Entwicklungspaket. Fügen Sie das Clientprofil in eine Transportanfrage ein, die in höhere Umgebungen übertragen werden kann.

OAuth 2.0-Client konfigurieren

Als SAP-Administrator verknüpfen Sie das OAuth-Clientprofil mit den Anmeldedaten des Google Cloud-Clients.

Dies ist eine einmalige Aktivität, die Sie auf jedem SAP-System in Ihrer SAP-Umgebung (Entwicklung, Test und Produktion) ausführen müssen.

  1. Geben Sie in der SAP-GUI den Transaktionscode OA2C_CONFIG ein. Die SAP-Anmeldeseite wird in Ihrem Standardbrowser geöffnet.
  2. Melden Sie sich mit Ihren SAP-Anmeldedaten an.
  3. Klicken Sie auf Erstellen, um einen OAuth 2.0-Client zu erstellen.
  4. Im Dialogfeld Neuen OAuth 2.0-Client erstellen:
    1. Wählen Sie das OAuth 2.0-Clientprofil aus, das Sie zuvor unter OAuth 2.0-Clientprofil in Ihrem SAP-System erstellen erstellt haben.
    2. Geben Sie einen Namen für die Konfiguration ein.
    3. Geben Sie die OAuth 2.0-Client-ID aus den Google Cloud-Anmeldedaten ein, die Sie zuvor unter OAuth 2.0-Client-ID-Anmeldedaten erstellen erstellt haben.
    4. Klicken Sie auf OK.
  5. Auf dem Tab Verwaltung im Abschnitt Allgemeine Einstellung geben Sie den Clientschlüssel aus den Google Cloud-Anmeldedaten ein, die Sie zuvor unter OAuth 2.0-Client-ID-Anmeldedaten erstellen erstellt haben.
  6. Wenn Sie einen Proxyserver verwenden, um den ausgehenden HTTP-/HTTPS-Traffic von Ihrem SAP-System weiterzuleiten, müssen Sie die folgenden Proxyhostdetails im Abschnitt Zugriffseinstellungen verwalten:

    • Proxyhost
    • Proxy-Port
    • Proxy-Nutzer
    • Proxy-Passwort
  7. Klicken Sie auf Speichern.

Clientschlüssel konfigurieren

  1. 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.

  2. Klicken Sie auf ABAP SDK for Google Cloud > Grundlegende Einstellungen > Clientschlüssel konfigurieren.
  3. Klicken Sie auf Neue Einträge.
  4. 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 Lassen Sie dieses Feld leer.
    Google Cloud-Bereich Lassen Sie dieses Feld leer.
    Google Cloud-Projekt-ID Geben Sie die ID des Google Cloud-Projekts an, das Ihre Ziel-APIs enthält.
    Befehlsname Lassen Sie dieses Feld leer.
    Autorisierungsklasse Geben Sie die Authentifizierungsklasse /GOOG/CL_OAUTH_GOOGLE an.
    Token-Caching Lassen Sie dieses Feld leer.
    Sekunden bis Tokenaktualisierung Lassen Sie dieses Feld leer.
    Autorisierungsparameter 1 Geben Sie den Namen des OAuth-Clientprofils an, das Sie zuvor unter OAuth 2.0-Clientprofil in Ihrem SAP-System erstellen erstellt haben.
    Autorisierungsparameter 2

    Geben Sie den Konfigurationsnamen an, den Sie im OAuth 2.0-Client für eine Client-ID definiert haben.

    Dieses Feld ist obligatorisch, wenn Sie ein einzelnes OAuth-Clientprofil mit mehr als einer Client-ID verknüpft haben.

    Weitere Informationen finden Sie unter Szenario mit mehreren Google Cloud-Projekten.

  5. Speichern Sie den neuen Eintrag.

OAuth 2.0-Zugriffstokens anfordern

Als Endnutzer müssen Sie ein OAuth 2.0-Zugriffstoken anfordern, um den Zugriff auf die API-Ressourcen zu ermöglichen.

Dies ist eine einmalige Aktivität, die jeder Nutzer in jedem SAP-System in Ihrer SAP-Umgebung (Entwicklung, Test und Produktion) ausführen muss. Wenn die OAuth-Bereiche geändert werden, müssen Nutzer diese Aktivität wiederholen.

  1. Geben Sie in der SAP-GUI den Transaktionscode OA2C_GRANT ein. Die SAP-Anmeldeseite wird in Ihrem Standardbrowser geöffnet.
  2. Melden Sie sich mit Ihren SAP-Anmeldedaten an.
  3. Wählen Sie die Client-ID aus, mit der Sie auf die APIs zugreifen möchten.
  4. Klicken Sie auf OAuth 2.0-Tokens anfordern.
  5. Geben Sie im Zustimmungsbildschirm Über Google anmelden Ihre Google-Kontoanmeldedaten ein und klicken Sie auf Zulassen.

    Ein grüner Indikator in der Spalte Zugriffsstatus gibt an, dass der Zugriff auf die API-Ressourcen gemäß dem OAuth 2.0-Clientprofil zulässig ist.

Szenario mit mehreren Google Cloud-Projekten

Wenn Sie Ihre Google Cloud APIs in mehr als einem Google Cloud-Projekt aktiviert haben, folgen Sie dieser Anleitung zum Einrichten der Authentifizierung mit OAuth 2.0-Clientanmeldedaten:

Authentifizierungskonfiguration validieren

Führen Sie die folgenden Schritte aus, um die Authentifizierungskonfiguration zu validieren:

  1. 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.

  2. Klicken Sie auf ABAP SDK for Google Cloud > Dienstprogramme > Authentifizierungskonfiguration validieren.

  3. Geben Sie den Namen des Clientschlüssels ein.

  4. Klicken Sie auf Ausführen, um zu prüfen, ob der gesamte Ablauf erfolgreich konfiguriert wurde.

    Ein grünes Häkchen in der Spalte Ergebnis zeigt an, dass alle Konfigurationsschritte erfolgreich abgeschlossen wurden.

Support anfordern

Wenn Sie Hilfe bei der Behebung von Problemen mit dem ABAP SDK für Google Cloud benötigen, gehen Sie so vor: