Mit API-Schlüsseln authentifizieren

In diesem Dokument wird beschrieben, wie Sie die Authentifizierung für den Zugriff auf Google Cloud APIs mithilfe von API-Schlüsseln einrichten. Nur wenige Google Cloud APIs verwenden API-Schlüssel zur Authentifizierung, darunter die Google Maps Platform. Lesen Sie die Authentifizierungsdokumentation für den Dienst oder die API, den/die Sie verwenden möchten, um festzustellen, ob er/sie API-Schlüssel unterstützt. Unabhängig davon, wo Ihr SAP-System gehostet wird, können Sie API-Schlüssel zur Authentifizierung verwenden, solange die API, die Sie verwenden möchten, API-Schlüssel unterstützt.

Verwenden Sie eine der folgenden Methoden, um sich mit API-Schlüsseln bei der Google Cloud API zu authentifizieren:

Mit einem in SAP SSF gespeicherten API-Schlüssel authentifizieren

Es müssen folgende allgemeine Konfigurations-Schritte ausgeführt werden:

API-Schlüssel erstellen

Zur Authentifizierung mit einem API-Schlüssel müssen Sie einen API-Schlüssel erstellen. Der API-Schlüsselstring ist ein verschlüsselter String, z. B. AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Das ABAP SDK for Google Cloud verwendet den API-Schlüsselstring in der HTTP-Anfrage, um sich beim Aufrufen einer Google Cloud API sicher zu authentifizieren.

Google Cloud bietet mehrere Möglichkeiten zum Erstellen von API-Schlüsseln.

Führen Sie die folgenden Schritte aus, um API-Schlüssel mithilfe der Google Cloud Console zu erstellen:

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie im Menü die Option API-Schlüssel aus.

    • Das Dialogfeld API-Schlüssel erstellt enthält den API-Schlüsselstring. Kopieren Sie den Schlüsselstring und bewahren Sie ihn sicher auf. Sie benötigen diesen API-Schlüssel, um die Authentifizierung bei Google Cloud zu konfigurieren.

    • Standardmäßig sind API-Schlüssel uneingeschränkt. Wir empfehlen, API-Schlüssel einzuschränken. Wählen Sie dazu die APIs aus, für die dieser API-Schlüssel verwendet werden kann. Weitere Informationen zum Hinzufügen von API-Einschränkungen finden Sie unter API-Einschränkungen hinzufügen.

API-Schlüssel in SSF speichern

Das ABAP SDK for Google Cloud bietet eine Option zum sicheren Speichern von API-Schlüsseln mit dem SAP SSF-Mechanismus (Secure Store and Forward).

Mit der SSF-Option können Sie den API-Schlüssel in einem verschlüsselten Format in der Tabelle /GOOG/APIKEY_BIN speichern. Beim Aufrufen einer API wird der API-Schlüssel aus der Tabelle /GOOG/APIKEY_BIN abgerufen, entschlüsselt und an den API-Endpunkt-URI angehängt.

Aus Sicherheitsgründen können Sie den Inhalt von /GOOG/APIKEY_BIN nicht mit Standardtools bzw. Transaktionen wie SE16, SE16N oder SE11 aufrufen.

Vorbereitung

Zur Authentifizierung mit dem in SAP SSF gespeicherten API-Schlüssel müssen Sie in Ihrem SAP-System die SAP Cryptographic Library Version 8.5 und höher installiert haben. Weitere Informationen zur SAP Cryptographic Library finden Sie unter 1848999 - Central Note for CommonCryptoLib 8 (SAPCRYPTOLIB) und 397175 - SAP Cryptographic software - export control.

Führen Sie die folgenden Schritte aus, um die Version der SAP Cryptographic Library zu prüfen:

  1. Geben Sie in der SAP-GUI den Transaktionscode STRUST ein.
  2. Rufen Sie das Menü Umgebung auf und klicken Sie auf SSF-Version anzeigen.

SSF-Anwendung einrichten

Erstellen Sie in der Tabelle SSFAPPLIC eine neue SSF-Anwendung ZG_APK, die den API-Schlüssel verschlüsselt. ZG_APK ist der Standardname der SSF-Anwendung.

Alternativ können Sie eine SSF-Anwendung mit Ihrem bevorzugten Namen erstellen oder eine vorhandene SSF-Anwendung mit einem anderen Namen verwenden. Wenn Sie eine andere SSF-Anwendung für die Verschlüsselung verwenden möchten, müssen Sie den SSF-Anwendungsnamen in Authorization Parameter 1 der Clientschlüsseltabelle konfigurieren.

Führen Sie die folgenden Schritte aus, um einen neuen Eintrag in der Tabelle SSFAPPLIC zu erstellen:

  1. Geben Sie in der SAP-GUI den Transaktionscode SE16 ein.
  2. Geben Sie im Feld Tabellenname den Namen SSFAPPLIC ein und erstellen Sie einen neuen Eintrag.
  3. Geben Sie in das Feld APPLIC den Wert ZG_APK ein.
  4. Geben Sie Werte in den folgenden Feldern an.

    Feld Wert
    APPLIC ZG_APK
    B_TOOLKIT Wählen Sie das Flag aus.
    B_FORMAT Wählen Sie das Flag aus.
    B_PAB Wählen Sie das Flag aus.
    B_PROFID Wählen Sie das Flag aus.
    B_PROFILE Wählen Sie das Flag aus.
    B_HASHALG Lassen Sie dieses Feld leer.
    B_ENCRALG Lassen Sie dieses Feld leer.
    B_INCCERTS Lassen Sie dieses Feld leer.
    B_DETACHED Lassen Sie dieses Feld leer.
    B_ASKPWD Lassen Sie dieses Feld leer.
    B_DISTRIB Wählen Sie das Flag aus.
    DESCRIPT API Key Encryption for GCP
  5. Speichern Sie den neuen Eintrag.

SSF-Parameter erstellen
  1. Geben Sie in der SAP-GUI den Transaktionscode SM30 ein.

  2. Öffnen Sie die Ansicht VSSFARGS.

  3. Erstellen Sie für die Anwendung ZG_APK (API Key Encryption for GCP) einen neuen Eintrag. Die anwendungsspezifischen SSF-Parameter werden automatisch ausgefüllt.

  4. Speichern Sie den neuen Eintrag.

Persönliche Sicherheitsumgebung (PSE) erstellen

  1. Geben Sie in der SAP-GUI den Transaktionscode STRUST ein.

  2. Klicken Sie unter SSF-API-Schlüsselverschlüsselung für die GCP mit der rechten Maustaste und wählen Sie Erstellen aus.

  3. Wählen Sie im Feld Algorithmus die Option RSA aus. Übernehmen Sie für andere Felder die vom System ausgefüllten Standardwerte.

  4. Speichern Sie den neuen Eintrag.

API-Schlüssel speichern

  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 > API-Schlüssel konfigurieren (mit SSF).

  3. Geben Sie im Feld Google-Schlüsselname den Namen für die Konfiguration des Clientschlüssels ein.

  4. Geben Sie im Feld API-Schlüssel den API-Schlüssel ein, den Sie zuvor unter API-Schlüssel erstellen erstellt haben.

  5. Klicken Sie auf Speichern.

  6. Klicken Sie auf Ausführen, um den API-Schlüssel zu 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. Beispiel: DEMO_API_KEY.
    Name des Google Cloud-Dienstkontos Lassen Sie dieses Feld leer.
    Google Cloud-Bereich Geben Sie den API-Zugriffsbereich https://www.googleapis.com/auth/cloud-platform an.
    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 Autorisierungsklasse /GOOG/CL_AUTH_API_KEY_SSF an.
    Token-Caching

    Das Flag, das bestimmt, ob die aus Google Cloud abgerufenen Zugriffstoken im Cache gespeichert werden.

    Wir empfehlen, das Token-Caching zu aktivieren, nachdem Sie Ihre Verbindung zu Google Cloud konfiguriert und getestet haben. Weitere Informationen zum Token-Caching finden Sie unter Token-Caching aktivieren.

    Sekunden bis Tokenaktualisierung Geben Sie die Zeit in Sekunden an, bis ein Zugriffstoken abläuft und aktualisiert werden muss. Der Standardwert ist 3500.
    Autorisierungsparameter 1 Wenn sich der Name der SSF-Anwendung von ZG_APK unterscheidet, geben Sie den Namen der SSF-Anwendung an.
    Autorisierungsparameter 2 Lassen Sie dieses Feld leer.
  5. Speichern Sie den neuen Eintrag.

Neue RFC-Ziele erstellen

Erstellen Sie für die APIs, die Sie mit dem ABAP SDK for Google Cloud verwenden möchten, neue RFC-Ziele.

Informationen zum Erstellen von RFC-Zielen finden Sie unter RFC-Ziele.

Wenn keine RFC-Ziele erstellt und konfiguriert werden, funktioniert das ABAP SDK for Google Cloud mit den Standard-API-Endpunkten, die in einzelnen API-Client-Stubs verwaltet werden.

Dienstzuordnung konfigurieren

Konfigurieren Sie die Dienstzuordnungstabelle für die APIs, die Sie mit dem ABAP SDK for Google Cloud nutzen möchten.

  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 > Dienstzuordnung konfigurieren.

  3. Klicken Sie auf Neue Einträge.

  4. Geben Sie RFC-Ziele für die APIs an, die Sie verwenden möchten, z. B. addressvalidation v1. Wenn Sie andere APIs nutzen, geben Sie RFC-Ziele für diese APIs an.

    Name Dienstname RFC-Ziel
    Google Cloud-Schlüsselname addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Speichern Sie den neuen Eintrag.

API-Schlüssel löschen

Wenn ein API-Schlüssel nicht mehr verwendet wird, können Sie ihn aus Ihrem SAP-System löschen.

Führen Sie die folgenden Schritte aus, um einen API-Schlüssel zu löschen:

  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 > API-Schlüssel konfigurieren (mit SSF).

  3. Geben Sie im Feld Google-Schlüsselname den Namen der Clientschlüsselkonfiguration ein.

  4. Wählen Sie Löschen aus.

  5. Klicken Sie auf Ausführen, um den API-Schlüssel zu löschen.

Mit einem in Secret Manager gespeicherten API-Schlüssel authentifizieren

Es müssen folgende allgemeine Konfigurations-Schritte ausgeführt werden:

API-Schlüssel erstellen

Zur Authentifizierung mit einem API-Schlüssel müssen Sie einen API-Schlüssel erstellen. Der API-Schlüsselstring ist ein verschlüsselter String, z. B. AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. Das ABAP SDK for Google Cloud verwendet den API-Schlüsselstring in der HTTP-Anfrage, um sich beim Aufrufen einer Google Cloud API sicher zu authentifizieren.

Google Cloud bietet mehrere Möglichkeiten zum Erstellen von API-Schlüsseln.

Führen Sie die folgenden Schritte aus, um API-Schlüssel mithilfe der Google Cloud Console zu erstellen:

  1. Wechseln Sie in der Google Cloud Console zur Seite Anmeldedaten:

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie im Menü die Option API-Schlüssel aus.

    • Das Dialogfeld API-Schlüssel erstellt enthält den API-Schlüsselstring. Kopieren Sie den Schlüsselstring und bewahren Sie ihn sicher auf. Sie benötigen diesen API-Schlüssel, um die Authentifizierung bei Google Cloud zu konfigurieren.

    • Standardmäßig sind API-Schlüssel uneingeschränkt. Wir empfehlen, API-Schlüssel einzuschränken. Wählen Sie dazu die APIs aus, für die dieser API-Schlüssel verwendet werden kann. Weitere Informationen zum Hinzufügen von API-Einschränkungen finden Sie unter API-Einschränkungen hinzufügen.

Secret erstellen und API-Schlüssel speichern

Das ABAP SDK for Google Cloud bietet eine Option zum sicheren Speichern von API-Schlüsseln mit dem Secret Manager-Dienst von Google Cloud. Mit Secret Manager können Sie API-Schlüsselstrings sicher speichern. Beachten Sie dabei die Best Practices zur sicheren Verwendung von API-Schlüsseln.

Führen Sie die folgenden Schritte aus, um ein Secret zu erstellen und den API-Schlüssel zu speichern:

  1. Aktivieren Sie die Secret Manager API.

    Zur API-Bibliothek

  2. Erstellen Sie in der Google Cloud Console ein Secret und speichern Sie den API-Schlüssel als neueste Version.

    Zu Secret Manager

Informationen zum Erstellen eines Secrets finden Sie unter Secret erstellen.

Das ABAP SDK for Google Cloud ruft standardmäßig nur die neueste Version eines Secrets ab.

Clientschlüssel für Secret Manager-Zugriff konfigurieren

Secret Manager APIs verwenden Tokens zur Authentifizierung. Daher müssen Sie die tokenbasierte Authentifizierung einrichten, um je nach SAP-Deployment auf Secret Manager APIs zuzugreifen.

Verwenden Sie eine der folgenden Methoden, um die tokenbasierte Authentifizierung für den Zugriff auf Secret Manager APIs einzurichten:

Notieren Sie sich den Namen des Clientschlüssels, den Sie für den Zugriff auf Secret Manager erstellt haben.

Clientschlüssel für das Secret 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. Beispiel: DEMO_API_KEY.
    Name des Google Cloud-Dienstkontos Lassen Sie dieses Feld leer.
    Google Cloud-Bereich Geben Sie den API-Zugriffsbereich https://www.googleapis.com/auth/cloud-platform an.
    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 /GOOG/CL_AUTH_API_KEY_SM an.
    Token-Caching

    Das Flag, das bestimmt, ob die aus Google Cloud abgerufenen Zugriffstoken im Cache gespeichert werden.

    Wir empfehlen, das Token-Caching zu aktivieren, nachdem Sie Ihre Verbindung zu Google Cloud konfiguriert und getestet haben. Weitere Informationen zum Token-Caching finden Sie unter Token-Caching aktivieren.

    Sekunden bis Tokenaktualisierung Geben Sie die Zeit in Sekunden an, bis ein Zugriffstoken abläuft und aktualisiert werden muss. Der Standardwert ist 3500.
    Autorisierungsparameter 1 Geben Sie den Namen des Clientschlüssels an, den Sie für den Zugriff auf Secret Manager erstellt haben. Beispiel: CLIENT_KEY_SM.
    Autorisierungsparameter 2 Geben Sie den Namen des Secrets an, in dem der API-Schlüssel gespeichert ist. Beispiel: TEST_SECRET.
  5. Speichern Sie den neuen Eintrag.

Neue RFC-Ziele erstellen

Erstellen Sie für die APIs, die Sie mit dem ABAP SDK for Google Cloud verwenden möchten, neue RFC-Ziele.

Informationen zum Erstellen von RFC-Zielen finden Sie unter RFC-Ziele.

Wenn keine RFC-Ziele erstellt und konfiguriert werden, funktioniert das ABAP SDK for Google Cloud mit den Standard-API-Endpunkten, die in einzelnen API-Client-Stubs verwaltet werden.

Dienstzuordnung konfigurieren

Konfigurieren Sie die Dienstzuordnungstabelle für die APIs, die Sie mit dem ABAP SDK for Google Cloud nutzen möchten.

  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 > Dienstzuordnung konfigurieren.

  3. Klicken Sie auf Neue Einträge.

  4. Geben Sie RFC-Ziele für die APIs an, die Sie verwenden möchten, z. B. addressvalidation v1. Wenn Sie andere APIs nutzen, geben Sie RFC-Ziele für diese APIs an.

    Name Dienstname RFC-Ziel
    Google Cloud-Schlüsselname addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Speichern Sie den neuen Eintrag.

API-Schlüsselabruf von Secret Manager validieren

Führen Sie die folgenden Schritte aus, um den Abruf von API-Schlüsseln aus Secret Manager 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 > API-Schlüsselabruf validieren (mit Secret Manager).
  3. Geben Sie den Namen des Clientschlüssels an.
  4. Klicken Sie auf Ausführen, um zu prüfen, ob der API-Schlüssel erfolgreich aus Secret Manager abgerufen wurde.

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: