Eseguire l'autenticazione utilizzando i token di accesso

Questo documento mostra come configurare l'autenticazione per accedere a Google Cloud le API quando il sistema SAP è ospitato su un ambiente Compute Engine di un'istanza VM.

Configura l'autenticazione

Per configurare l'autenticazione, segui questi passaggi:

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

    Vai alla libreria di API

    Per informazioni su come abilitare le API Google Cloud, consulta 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 account di servizio.

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

  4. Collega l'account di servizio all'istanza VM in cui si trova il carico di lavoro SAP in esecuzione. Inoltre, imposta l'ambito di accesso della VM su cloud-platform.

    • Se specifichi l'account di servizio utilizzando la console Google Cloud: l'ambito di accesso della VM viene impostato automaticamente sull'ambito cloud-platform.
    • Se specifichi l'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 l'account di servizio.

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

  5. Nella console Google Cloud, crea una sessione IAM dedicata l'account di servizio per accedere alle API Google Cloud.

    Vai ad Account di servizio

    Per le istruzioni, vedi Creare un account di servizio.

  6. Concedi all'account di servizio i ruoli IAM richiesti per accedere alla funzionalità dell'API. Per comprendere i requisiti dei ruoli per le API Google Cloud, visualizza la documentazione sulle singole API e segui il principio del privilegio minimo. Per maggiori informazioni per informazioni sui ruoli predefiniti specifici per le API, consulta Trovare i ruoli IAM per le API Google Cloud.

  7. Se hai creato l'account di servizio in un progetto diverso da quello del progetto che contiene le API Google Cloud, devi eseguire passaggi aggiuntivi per la configurazione dell'account di servizio. Per saperne di più, consulta Configurare gli account di servizio in un ambiente multiprogetto.

  8. Nel sistema SAP, configura la chiave client:

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

      In alternativa, esegui il codice transazione SPRO, quindi fai clic su IMG riferimento SAP.

    2. Fai clic su SDK ABAP per 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 chiave Google Cloud Specifica un nome per la configurazione della chiave client. Ad esempio, TEST_PUBSUB.
      Nome dell'account di servizio Google Cloud

      Specifica il nome dell'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 API Google Cloud abilitate, specifica l'account di servizio utilizzato per accedere alle API Google Cloud. Per ulteriori informazioni, consulta Configurare gli account di servizio in un ambiente multi progetto.

      Ambito Google Cloud Specifica l'ambito di accesso all'API, https://www.googleapis.com/auth/cloud-platform.
      Identificatore di progetto Google Cloud Specifica l'ID del progetto Google Cloud che contiene le API di destinazione.
      Nome 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 sono stati recuperati o meno di Google Cloud vengono memorizzate nella cache.

      Ti consigliamo di attivare la memorizzazione nella cache dei token al termine della configurazione e del test della connessione a Google Cloud. Per ulteriori informazioni sulla memorizzazione nella cache dei token, consulta Abilitare la memorizzazione nella cache dei token.

      Secondi di aggiornamento del token La quantità di tempo, in secondi, prima che il token di accesso scade e deve essere aggiornato. 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 che prevedi di utilizzare con l'SDK ABAP per Google Cloud.

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

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

    1. Nella GUI di SAP, esegui il codice della transazione /GOOG/SDK_IMG.

      In alternativa, esegui il codice transazione SPRO, quindi fai clic su IMG riferimento SAP.

    2. Fai clic su SDK ABAP per Google Cloud > Impostazioni di base > Configura mappatura 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.

Configura gli account di servizio in un ambiente multiprogetto

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

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

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

Per configurare gli account di servizio, segui questi passaggi:

  1. Nel progetto Google Cloud che contiene la VM host SAP, concedi all'account di servizio della VM host SAP il ruolo Service Account Token Creator. Per ulteriori informazioni sulla procedura, consulta Concedere un singolo ruolo.
  2. Nel progetto Google Cloud che contiene la VM host SAP, crea un account di servizio. Annota il nome dell'account di servizio. Specifica questo nome quando aggiungi l'account di servizio come entità all'altro progetto che contiene le API Google Cloud.
  3. Nell'altro progetto che contiene le API Google Cloud, aggiungi l'account di servizio come entità e concedi i ruoli appropriati per collegarti alle API Google Cloud. Per aggiungere un account di servizio al progetto Google Cloud che contiene le API Google Cloud, svolgi i seguenti 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 dell'account di servizio.

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

      Per ulteriori informazioni sui ruoli predefiniti specifici dell'API, consulta Documentazione di riferimento dei ruoli di base e predefiniti IAM.

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

    7. Fai clic su Salva. L'account di servizio viene visualizzato nell'elenco dei progetti delle entità della pagina IAM.

Convalida configurazione di autenticazione

Per convalidare la configurazione dell'autenticazione, svolgi i seguenti passaggi:

  1. Nella GUI di SAP, esegui il codice della transazione /GOOG/SDK_IMG.

    In alternativa, esegui il codice transazione SPRO, quindi fai clic su IMG riferimento SAP.

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

  3. Inserisci il nome della chiave client.

  4. Fai clic su Esegui per verificare se il flusso complessivo è configurato correttamente.

    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'SDK ABAP per Google Cloud, segui questi passaggi: