Esegui l'autenticazione utilizzando i token di accesso

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

Configura l'autenticazione

Per configurare l'autenticazione, svolgi i seguenti 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 eventuali altre API supportate a cui prevedi di accedere utilizzando l'SDK.

    Vai alla libreria 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 le istruzioni, vedi Concedere un singolo ruolo.

  4. Collega l'account di servizio all'istanza VM su cui è in esecuzione il tuo carico di lavoro SAP. 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 verrà impostato automaticamente sull'ambito cloud-platform per impostazione predefinita.
    • Se specifichi l'account di servizio utilizzando Google Cloud CLI o l'API Compute Engine, devi impostare l'ambito di accesso API su Allow full access to all Cloud APIs.

      Per le istruzioni, consulta Creare una VM e collegare l'account di servizio.

      Dopo aver aggiornato l'ambito, riavvia la VM. Se disponi di 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 le istruzioni, vedi Creare un account di servizio.

  6. Concedi all'account di servizio i ruoli IAM richiesti per accedere alla funzionalità API. Per comprendere i requisiti dei ruoli per le API Google Cloud, consulta la documentazione relativa alle singole API e segui il principio del privilegio minimo. Per ulteriori informazioni sui ruoli predefiniti specifici delle 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 che contiene le API Google Cloud, devi eseguire dei 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. Nella GUI di SAP, esegui il codice transazione /GOOG/SDK_IMG.

      In alternativa, esegui il codice transazione SPRO e fai clic su Riferimento SAP IMG.

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

    3. Fai clic su Nuove voci.

    4. Inserisci valori nei seguenti campi:

      Campo Descrizione
      Nome chiave Google Cloud Specifica un nome della 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 saperne di più, consulta Configurare gli account di servizio in un ambiente multiprogetto.

      Ambito di Google Cloud Specifica l'ambito di accesso'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 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 o meno nella cache.

      Ti consigliamo di attivare la memorizzazione nella cache del token dopo aver completato e testato la connessione a Google Cloud. Per ulteriori informazioni sulla memorizzazione nella cache dei token, consulta Attivare la memorizzazione nella cache dei token.

      Secondi di aggiornamento dei token Il tempo, in secondi, prima che un token di accesso scada 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 prevedi di utilizzare utilizzando 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 utilizzando l'SDK ABAP per Google Cloud.

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

      In alternativa, esegui il codice transazione SPRO e fai clic su Riferimento SAP IMG.

    2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura Service Mapping.

    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 chiave Google Cloud iamcredentials.googleapis.com ZGOOG_IAMCREDENTIALS
      Nome 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, vedi 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 per cui sono abilitate le API Google Cloud. In questo caso, devi configurare gli account di servizio con i ruoli IAM richiesti affinché l'SDK possa accedere alle API del diverso progetto.

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/A
Account di servizio per l'accesso alle API Google Cloud sa-google-apis@project-sap-host.iam.gserviceaccount.com N/A
Ruoli IAM per l'account di servizio Nel progetto project-sap-host, concedi all'account di servizio sa-sap-host@project-sap-host.iam.gserviceaccount.com il 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 principio e concedi all'account di servizio i ruoli appropriati per la connessione alle API Google Cloud.

Per configurare gli account di servizio:

  1. Nel progetto Google Cloud che contiene la tua VM host SAP, concedi il ruolo Service Account Token Creator all'account di servizio della VM host SAP. Per saperne di più sui passaggi, vedi Concedere un singolo ruolo.
  2. Crea un account di servizio nel progetto Google Cloud che contiene la VM host SAP. Prendi nota del nome dell'account di servizio. Questo nome viene specificato quando aggiungi l'account di servizio come principio 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 principio e concedi i ruoli appropriati per la connessione alle API Google Cloud.Per aggiungere un account di servizio al progetto Google Cloud che contiene le API Google Cloud, esegui questi passaggi:

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

      Vai alle autorizzazioni IAM

    2. Conferma 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 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 sottoscrizioni e accedere per pubblicare e utilizzare messaggi, puoi specificare il ruolo Editor Pub/Sub (roles/pubsub.editor).

      Per ulteriori informazioni sui ruoli predefiniti specifici per le API, consulta la pagina Riferimento ai ruoli predefiniti e di base IAM.

    6. Aggiungi altri ruoli in base alle esigenze del tuo 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 delle entità del progetto nella pagina IAM.

Convalida configurazione dell'autenticazione

Per convalidare la configurazione dell'autenticazione, segui questi passaggi:

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

    In alternativa, esegui il codice transazione SPRO e fai clic su Riferimento SAP IMG.

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

  3. Inserisci il nome della chiave client.

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

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

Richiedi assistenza

Se hai bisogno di aiuto per risolvere problemi con l'SDK ABAP per Google Cloud: