Eseguire l'autenticazione utilizzando i token di accesso

Questo documento mostra come configurare l'autenticazione per accedere alle API Google Cloudquando il sistema SAP è ospitato su un'istanza VM Compute Engine.

Configura l'autenticazione

Per configurare l'autenticazione, segui questi passaggi:

  1. Nella console Google Cloud , abilita l'API IAM Service Account Credentials per il progetto Google Cloud che richiede l'autenticazione. Oltre all'API IAM Service Account Credentials, devi abilitare tutte le altre API supportate a cui prevedi di accedere utilizzando l'SDK.

    Vai alla libreria API

    Per informazioni su come abilitare le API Google Cloud , vedi Abilitazione delle API.

  2. Nella console Google Cloud , crea un account di servizio IAM per l'istanza VM host.

    Vai ad Account di servizio

    Per informazioni su come creare un account di servizio, vedi Creare un service account.

  3. Concedi il ruolo Service Account Token Creator al account di servizio. Per istruzioni, vedi Concedere un singolo ruolo.

  4. Collega il account di servizio all'istanza VM in cui è in esecuzione il tuo workload SAP. Inoltre, imposta l'ambito di accesso della VM su cloud-platform.

    • Se specifichi il account di servizio utilizzando la console Google Cloud , l'ambito di accesso della VM viene impostato automaticamente sull'ambito cloud-platform.
    • Se specifichi il account di servizio utilizzando Google Cloud CLI o l'API Compute Engine, devi impostare l'ambito di accesso all'API su Allow full access to all Cloud APIs.

      Per le istruzioni, vedi Creare una VM e collegare il service account.

      Dopo aver aggiornato l'ambito, riavvia la VM. Se hai più istanze VM per la stessa installazione SAP, devi completare questo passaggio su tutte le istanze VM.

  5. Nella console Google Cloud , crea un account di servizio IAM dedicato per accedere alle API Google Cloud .

    Vai ad Account di servizio

    Per istruzioni, vedi Creare un service account.

  6. Concedi al account di servizio i ruoli IAM richiesti per accedere alla funzionalità API. Per comprendere il requisito del ruolo per le Google Cloud API, consulta la documentazione delle singole API e segui il principio del privilegio minimo. Per ulteriori informazioni sui ruoli predefiniti specifici dell'API, consulta Trovare ruoli IAM per le Google Cloud API.

  7. Se hai creato il account di servizio in un progetto diverso da quello che contiene le API Google Cloud , devi eseguire passaggi aggiuntivi per la configurazione del account di servizio. Per maggiori informazioni, consulta Configurare i service account in un ambiente cross-project.

  8. Nel sistema SAP, configura la chiave client:

    1. In SAP GUI, esegui il codice transazione /GOOG/SDK_IMG.

      In alternativa, esegui il codice di transazione SPRO e poi fai clic su SAP Reference IMG.

    2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura chiave client.

    3. Fai clic su Nuove voci.

    4. Inserisci i valori per i seguenti campi:

      Campo Descrizione
      Nome della chiave Google Cloud Specifica un nome per la configurazione della chiave client. Ad esempio, TEST_PUBSUB.
      Nome account di servizio Google Cloud

      Specifica il nome del account di servizio a cui hai concesso le autorizzazioni per accedere alle API Google Cloud . Ad esempio, sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com.

      Se la VM host del sistema SAP che contiene l'SDK si trova in un progetto diverso da quello con le Google Cloud API abilitate, specifica il account di servizio utilizzato per accedere alle Google Cloud API. Per maggiori informazioni, consulta Configurare i service account in un ambiente cross-project.

      Ambito di Google Cloud Specifica l'ambito di accesso all'API, https://www.googleapis.com/auth/cloud-platform.
      Identificatore progetto Google Cloud Specifica l'ID del progetto Google Cloud che contiene le API di destinazione.
      Nome del comando Lascia vuoto questo campo.
      Classe di autorizzazione Specifica la classe di autorizzazione, /GOOG/CL_AUTH_GOOGLE.
      Memorizzazione nella cache dei token

      Il flag che determina se i token di accesso recuperati da Google Cloud vengono memorizzati nella cache.

      Ti consigliamo di attivare la memorizzazione nella cache dei token dopo aver configurato e testato la connessione a Google Cloud. Per maggiori informazioni sulla memorizzazione nella cache dei token, vedi Attivare la memorizzazione nella cache dei token.

      Secondi di aggiornamento del token Il periodo di tempo, in secondi, prima della scadenza di un token di accesso e del relativo aggiornamento. Il valore predefinito è 3500.
      Parametro di autorizzazione 1 Lascia vuoto questo campo.
      Parametro di autorizzazione 2 Lascia vuoto questo campo.
    5. Salva la nuova voce.

  9. Nel sistema SAP, crea nuove destinazioni RFC per le API che prevedi di utilizzare con l'SDK ABAP per Google Cloud.

    Per informazioni sulla creazione di destinazioni RFC, consulta Destinazioni RFC.

  10. Nel sistema SAP, configura la tabella di mapping dei servizi per l'API IAM e altre API che prevedi di utilizzare con l'SDK ABAP per Google Cloud.

    1. In SAP GUI, esegui il codice transazione /GOOG/SDK_IMG.

      In alternativa, esegui il codice di transazione SPRO e poi fai clic su SAP Reference IMG.

    2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.

    3. Fai clic su Nuove voci.

    4. Specifica le destinazioni RFC per l'API IAM e altre API, ad esempio Pub/Sub API v1.

      Nome Nome servizio Destinazione RFC
      Nome della chiave Google Cloud iamcredentials.googleapis.com ZGOOG_IAMCREDENTIALS
      Nome della chiave Google Cloud pubsub:v1 ZGOOG_PUBSUB_V1
    5. Salva la nuova voce.

  11. Nel sistema SAP, convalida la configurazione dell'autenticazione. Per ulteriori informazioni, consulta Convalidare la configurazione dell'autenticazione.

Configurare i service account in un ambiente tra progetti

La VM host del tuo sistema SAP, che contiene l'SDK, può trovarsi in un Google Cloud progetto diverso da quello con le Google Cloud API abilitate. In questo caso, devi configurare service account con i ruoli IAM richiesti in modo che l'SDK possa accedere alle API del progetto diverso.

La tabella seguente mostra un esempio di configurazione del account di servizio per l'accesso API tra progetti.

Ambiente VM host SAP Google Cloud API
Google Cloud project project-sap-host project-google-apis
Service account assegnato alla VM host SAP sa-sap-host@project-sap-host.iam.gserviceaccount.com N/D
Service account per l'accesso alle API di Google Cloud sa-google-apis@project-sap-host.iam.gserviceaccount.com N/D
Ruoli IAM per il service account Nel progetto project-sap-host, concedi all'account di servizio sa-sap-host@project-sap-host.iam.gserviceaccount.com il ruolo Creatore token service account. Nel progetto project-google-apis, aggiungi il account di servizio sa-google-apis@project-sap-host.iam.gserviceaccount.com come entità e concedi al account di servizio i ruoli appropriati per connettersi alle API Google Cloud .

Per configurare i service account:

  1. Nel progetto Google Cloud che contiene la VM host SAP, concedi al account di servizio della VM host SAP il ruolo Service Account Token Creator. Per ulteriori informazioni sui passaggi, consulta Concedere un singolo ruolo.
  2. Nel progetto Google Cloud che contiene la VM host SAP, crea un account di servizio. Prendi nota del nome del account di servizio. Specifichi questo nome quando aggiungi l'account di servizio come entità all'altro progetto che contiene le Google Cloud API.
  3. Nell'altro progetto che contiene le Google Cloud API, aggiungi il account di servizio come entità e concedi i ruoli appropriati per connetterti alle Google Cloud API.Per aggiungere un account di servizio al progettoGoogle Cloud che contiene le Google Cloud API, segui questi passaggi:

    1. Nella console Google Cloud , vai alla pagina Autorizzazioni IAM:

      Vai alle autorizzazioni IAM

    2. Verifica che il nome del progetto che contiene le API Google Cloud di destinazione sia visualizzato nella parte superiore della pagina. Ad esempio:

      Autorizzazioni per il progetto "PROJECT_NAME"

      In caso contrario, cambia progetto.

    3. Nella pagina IAM, fai clic su Concedi l'accesso. Si apre la finestra di dialogo Concedi l'accesso a "PROJECT_NAME".

    4. Nel campo Nuove entità, specifica il nome del account di servizio.

    5. Nel campo Seleziona un ruolo, specifica un ruolo pertinente. Ad esempio, per Pub/Sub, per modificare argomenti e iscrizioni e accedere alla pubblicazione e all'utilizzo dei messaggi, puoi specificare il ruolo Editor Pub/Sub (roles/pubsub.editor).

      Per ulteriori informazioni sui ruoli predefiniti specifici dell'API, consulta Riferimento ai ruoli IAM di base e predefiniti.

    6. Aggiungi altri ruoli in base alle esigenze per l'utilizzo dell'API. Implementa le best practice consigliate da Google applicando il principio del privilegio minimo.

    7. Fai clic su Salva. Il account di servizio viene visualizzato nell'elenco dei principali del progetto nella pagina IAM.

Convalida la configurazione dell'autenticazione

Per convalidare la configurazione dell'autenticazione per la sua preparazione:

  1. In SAP GUI, esegui il codice transazione /GOOG/SDK_IMG.

    In alternativa, esegui il codice di transazione SPRO e poi fai clic su SAP Reference IMG.

  2. Fai clic su ABAP SDK for Google Cloud > Utilità > Convalida configurazione autenticazione.

  3. Inserisci il nome della chiave client.

  4. Fai clic su Esegui.

    Un segno di spunta verde nella colonna Risultato indica che tutti i passaggi di configurazione sono stati completati correttamente.

Assistenza

Se hai bisogno di aiuto per risolvere i problemi relativi all'ABAP SDK for Google Cloud, procedi nel seguente modo: