Mit Zugriffstokens authentifizieren

In diesem Dokument wird gezeigt, wie Sie die Authentifizierung für den Zugriff auf Google Cloud APIs einrichten, wenn Ihr SAP-System auf einer Compute Engine-VM-Instanz gehostet wird.

Authentifizierung einrichten

Führen Sie die folgenden Schritte aus, um die Authentifizierung einzurichten:

  1. Aktivieren Sie in der Google Cloud Console die IAM Service Account Credentials API für Ihr Google Cloud-Projekt, das eine Authentifizierung erfordert. Neben der IAM Service Account Credentials API müssen Sie alle anderen unterstützten APIs aktivieren, auf die Sie mit dem SDK zugreifen möchten.

    Zur API-Bibliothek

    Informationen zum Aktivieren von Google Cloud APIs finden Sie unter APIs aktivieren.

  2. Erstellen Sie in der Google Cloud Console ein IAM-Dienstkonto für die Host-VM-Instanz.

    Zur Seite „Dienstkonten“

    Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonto erstellen.

  3. Weisen Sie dem Dienstkonto die Rolle Service Account Token Creator zu. Eine Anleitung finden Sie unter Einzelne Rolle zuweisen.

  4. Hängen Sie das Dienstkonto an die VM-Instanz an, auf der Ihre SAP-Arbeitslast ausgeführt wird. Legen Sie außerdem den Zugriffsbereich der VM auf cloud-platform fest.

    • Wenn Sie das Dienstkonto mithilfe der Google Cloud Console angeben, entspricht der Zugriffsbereich der VM automatisch dem Bereich cloud-platform.
    • Wenn Sie das Dienstkonto über die Google Cloud CLI oder die Compute Engine API angeben, müssen Sie den API-Zugriffsbereich auf Allow full access to all Cloud APIs festlegen.

      Eine Anleitung finden Sie unter VM erstellen und Dienstkonto anhängen.

      Nachdem Sie den Bereich aktualisiert haben, starten Sie die VM neu. Wenn Sie mehrere VM-Instanzen für dieselbe SAP-Installation nutzen, müssen Sie diesen Schritt auf allen diesen VM-Instanzen ausführen.

  5. Erstellen Sie in der Google Cloud Console ein dediziertes IAM-Dienstkonto für den Zugriff auf Google Cloud APIs.

    Zur Seite „Dienstkonten“

    Informationen dazu finden Sie im Artikel Dienstkonto erstellen.

  6. Gewähren Sie dem Dienstkonto die erforderlichen IAM-Rollen, um auf die API-Funktionen zuzugreifen. Um die Rollenanforderung für Google Cloud APIs zu verstehen, lesen Sie die einzelne API-Dokumentation und folgen Sie dem Prinzip der geringsten Berechtigung. Weitere Informationen zu API-spezifischen vordefinierten Rollen finden Sie unter IAM-Rollen für Google Cloud APIs finden.

  7. Wenn Sie das Dienstkonto in einem anderen Projekt als dem Projekt erstellt haben, das die Google Cloud APIs enthält, müssen Sie für die Einrichtung des Dienstkontos zusätzliche Schritte ausführen. Weitere Informationen finden Sie unter Dienstkonten in einer projektübergreifenden Umgebung einrichten.

  8. Konfigurieren Sie im SAP-System den Clientschlüssel:

    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: TEST_PUBSUB.
      Name des Google Cloud-Dienstkontos

      Geben Sie den Namen des Dienstkontos an, dem Sie Berechtigungen für den Zugriff auf Google Cloud APIs gewährt haben. Beispiel: sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com.

      Wenn sich die Host-VM Ihres SAP-Systems, das das SDK enthält, in einem anderen Projekt als dem Projekt mit den aktivierten Google Cloud APIs befindet, geben Sie das Dienstkonto an, das für den Zugriff auf Google Cloud APIs verwendet wird. Weitere Informationen finden Sie unter Dienstkonten in einer projektübergreifenden Umgebung einrichten.

      Google Cloud-Bereich Geben Sie den API-Zugriffsbereich https://www.googleapis.com/auth/cloud-platform an.
      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 Autorisierungsklasse /GOOG/CL_AUTH_GOOGLE 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 Gibt die Zeit in Sekunden an, nach der ein Zugriffstoken abläuft und aktualisiert werden muss. Der Standardwert ist 3500.
      Autorisierungsparameter 1 Lassen Sie dieses Feld leer.
      Autorisierungsparameter 2 Lassen Sie dieses Feld leer.
    5. Speichern Sie den neuen Eintrag.

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

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

  10. Konfigurieren Sie im SAP-System die Dienstzuordnungstabelle für die IAM API und andere 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 IAM API und andere APIs an, z. B. Pub/Sub API v1.

      Name Dienstname RFC-Ziel
      Google Cloud-Schlüsselname iamcredentials.googleapis.com ZGOOG_IAMCREDENTIALS
      Google Cloud-Schlüsselname pubsub:v1 ZGOOG_PUBSUB_V1
    5. Speichern Sie den neuen Eintrag.

  11. Validieren Sie im SAP-System die Authentifizierungskonfiguration. Weitere Informationen finden Sie unter Authentifizierungskonfiguration validieren.

Dienstkonten in einer projektübergreifenden Umgebung einrichten

Die Host-VM Ihres SAP-Systems, das das SDK enthält, kann sich in einem anderen Google Cloud-Projekt als das mit den aktivierten Google Cloud APIs befinden. In diesem Fall müssen Sie Dienstkonten mit den erforderlichen IAM-Rollen einrichten, damit das SDK aus dem anderen Projekt auf die APIs zugreifen kann.

Die folgende Tabelle zeigt ein Beispiel für die Einrichtung eines Dienstkontos für den projektübergreifenden API-Zugriff.

Umgebung SAP-Host-VM Google Cloud APIs
Google Cloud-Projekt project-sap-host project-google-apis
Das Dienstkonto, das der SAP-Host-VM zugewiesen ist sa-sap-host@project-sap-host.iam.gserviceaccount.com
Dienstkonto für den Zugriff auf Google Cloud APIs sa-google-apis@project-sap-host.iam.gserviceaccount.com
IAM-Rollen für das Dienstkonto Gewähren Sie im Projekt project-sap-host dem Dienstkonto sa-sap-host@project-sap-host.iam.gserviceaccount.com die Rolle "Ersteller von Dienstkonto-Tokens". Fügen Sie dem Projekt project-google-apis das Dienstkonto sa-google-apis@project-sap-host.iam.gserviceaccount.com als Hauptkonto hinzu und weisen Sie dem Dienstkonto die entsprechenden Rollen zu, um eine Verbindung zu den Google Cloud APIs herzustellen.

Führen Sie die folgenden Schritte aus, um die Dienstkonten einzurichten:

  1. Weisen Sie im Google Cloud-Projekt, das Ihre SAP-Host-VM enthält, dem Dienstkonto der SAP-Host-VM die Rolle Service Account Token Creator zu. Weitere Informationen zu den Schritten finden Sie unter Einzelne Rolle zuweisen.
  2. Erstellen Sie in dem Google Cloud-Projekt, das Ihre SAP-Host-VM enthält, ein Dienstkonto. Notieren Sie sich den Names des Dienstkontos. Sie geben diesen Namen an, wenn Sie das Dienstkonto dem anderen Projekt, das die Google Cloud APIs enthält, als Hauptkonto hinzufügen.
  3. Fügen Sie in dem anderen Projekt, das die Google Cloud APIs enthält, das Dienstkonto als Hauptkonto hinzu und weisen Sie entsprechende Rollen zu zum Herstellen einer Verbindung mit den Google Cloud APIs. Um ein Dienstkonto zum Google Cloud-Projekt hinzuzufügen, das die Google Cloud APIs enthält, führen Sie folgende Schritte aus:

    1. Öffnen Sie in der Google Cloud Console die Seite "IAM-Berechtigungen":

      Zu "IAM-Berechtigungen"

    2. Prüfen Sie, ob der Name des Projekts, in dem die Google Cloud-Ziel-APIs enthalten sind, oben auf der Seite angezeigt wird. Beispiel:

      Berechtigungen für das Projekt "PROJECT_NAME"

      Ist das nicht der Fall, wechseln Sie das Projekt.

    3. Klicken Sie auf der IAM-Seite auf Zugriff erlauben. Das Dialogfeld Zugriff auf "PROJECT_NAME" erlauben wird geöffnet.

    4. Geben Sie im Feld Neue Hauptkonten den Namen des Dienstkontos an.

    5. Geben Sie im Feld Rolle auswählen eine entsprechende Rolle an. Damit beispielsweise Pub/Sub Themen und Abos ändern und Nachrichten veröffentlichen und verarbeiten kann, geben Sie die Rolle Pub/Sub Editor (roles/pubsub.editor) an.

      Weitere Informationen zu API-spezifischen vordefinierten Rollen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen.

    6. Fügen Sie nach Bedarf weitere Rollen für die API-Nutzung hinzu. Implementieren Sie Best Practices von Google, indem Sie das Prinzip der geringsten Berechtigung anwenden.

    7. Klicken Sie auf Speichern. Das Dienstkonto wird in der Liste der Projekthauptkonten auf der Seite IAM angezeigt.

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 kontaktieren

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