Esegui l'autenticazione mediante 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 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 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 l'API Compute Engine, devi impostare l'accesso all'API l'ambito a 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 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 le autorizzazioni IAM richieste ruoli per accedere alle 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 ulteriori 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. 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 chiave client.

    3. Fai clic su Nuove voci.

    4. Inserisci i valori nei 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 un progetto diverso da quello per cui sono abilitate le API Google Cloud, e specificare l'account di servizio utilizzato per accedere le 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 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 dell'operazione configurando e testando la 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 impostazioni 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 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 saperne di più, consulta la sezione Convalidare la configurazione dell'autenticazione.

Configura gli account di servizio in un ambiente multiprogetto

La VM host del tuo sistema SAP, che contiene l'SDK, può essere in un progetto Google Cloud rispetto a quello con le API Google Cloud abilitate. In questo caso, devi configurare account di servizio con le autorizzazioni IAM richieste in modo che l'SDK possa accedere alle API da un 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 principio e concedere l'account di servizio i ruoli appropriati per la connessione 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 l'account di servizio della VM host SAP, Service Account Token Creator. Per ulteriori informazioni sui passaggi, vedi Concedere un singolo ruolo.
  2. Nel progetto Google Cloud che contiene la VM host SAP, crea un'istanza l'account di servizio. Prendi nota del nome dell'account di servizio. Tu specifichi questo nome quando aggiungi l'account di servizio come principio all'altro contenente le API Google Cloud.
  3. Nell'altro progetto che contiene le API Google Cloud, aggiungere l'account di servizio come principio e concedere ruoli appropriati connettersi alle API di Google Cloud Cloud.Per aggiungere un account di servizio progetto Google Cloud che contiene le API Google Cloud, segui questi passaggi:

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

      Vai alle autorizzazioni IAM

    2. Conferma che il nome del progetto che contiene la destinazione Le API Google Cloud sono visualizzate 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. La 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, per pubblicare e utilizzare messaggi, puoi specificare il ruolo Editor Pub/Sub (roles/pubsub.editor).

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

    6. Aggiungi altri ruoli in base alle necessità per l'utilizzo dell'API. Implementa Google le best practice consigliate 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, segui questi 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 tutte le configurazioni passaggi sono stati completati correttamente.

Assistenza

Se hai bisogno di aiuto per risolvere i problemi con l'SDK ABAP per Google Cloud, procedi le seguenti: