Eseguire l'autenticazione utilizzando le chiavi API

Questo documento mostra come configurare l'autenticazione per accedere alle API Google Cloud utilizzando le chiavi API. Solo alcune API Google Cloud utilizzano le chiavi API per l'autenticazione, ad esempio Google Maps Platform. Esamina la documentazione di autenticazione del servizio o dell'API che vuoi utilizzare per determinare se supporta le chiavi API. Indipendentemente da dove è ospitato il sistema SAP, puoi utilizzare le chiavi API per l'autenticazione se l'API che vuoi utilizzare supporta le chiavi API.

Per autenticarti all'API Google Cloud utilizzando le chiavi API, utilizza uno dei seguenti metodi:

Esegui l'autenticazione utilizzando la chiave API memorizzata in SAP SSF

I passaggi di configurazione di alto livello sono i seguenti:

Crea una chiave API

Per l'autenticazione tramite chiave API, devi creare una chiave API. Una stringa della chiave API è una stringa criptata, ad esempio AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. L'SDK ABAP per Google Cloud utilizza la stringa della chiave API nella richiesta HTTP per autenticarsi in modo sicuro quando viene chiamata un'API Google Cloud.

Google Cloud offre diversi modi per creare chiavi API.

Per creare chiavi API utilizzando la console Google Cloud, svolgi i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Credenziali:

    Vai a credenziali

  2. Fai clic su Crea credenziali e seleziona Chiave API dal menu.

    • La finestra di dialogo Chiave API creata mostra la stringa della chiave API. Copia la stringa della chiave e tienila al sicuro. Questa chiave API è necessaria per configurare l'autenticazione a Google Cloud.

    • Per impostazione predefinita, le chiavi API non sono soggette a restrizioni. Ti consigliamo di limitare le chiavi API selezionando le API a cui può essere utilizzata questa chiave API. Per ulteriori informazioni sull'aggiunta di limitazioni delle API, consulta Aggiungere limitazioni delle API.

Memorizza la chiave API in SSF

L'SDK ABAP per Google Cloud offre un'opzione per archiviare in modo sicuro le chiavi API utilizzando il meccanismo SSF (Secure Store and Forward) di SAP.

Utilizzando l'opzione SSF, puoi memorizzare la chiave API in un formato criptato nella tabella /GOOG/APIKEY_BIN. Quando viene chiamata un'API, la chiave API viene recuperata dalla tabella /GOOG/APIKEY_BIN, decriptata e aggiunta all'URI dell'endpoint API.

Per motivi di sicurezza, non puoi visualizzare i contenuti di /GOOG/APIKEY_BIN utilizzando strumenti standard, transazioni come SE16, SE16N o SE11.

Prerequisiti

Per l'autenticazione tramite chiave API memorizzata in SAP SSF, devi avere installato nel tuo sistema SAP la versione 8.5 o successive della libreria di crittografia SAP. Per ulteriori informazioni sulla libreria crittografica SAP, consulta 1848999 - Nota centrale per CommonCryptoLib 8 (SAPCRYPTOLIB) e 397175 - Software crittografico SAP - controllo esportazione.

Per verificare la versione della libreria di crittografia SAP:

  1. In SAP GUI, inserisci il codice transazione STRUST.
  2. Vai al menu Ambiente e fai clic su Mostra versione SSF.

Configurare l'applicazione SSF

Nella tabella SSFAPPLIC, crea una nuova applicazione SSF ZG_APK che cripta la chiave API. ZG_APK è il nome predefinito dell'applicazione SSF.

In alternativa, puoi creare un'applicazione SSF con il nome che preferisci o utilizzare un'applicazione SSF esistente con un nome diverso. Se vuoi utilizzare un'altra applicazione SSF per la crittografia, devi configurare il nome dell'applicazione SSF in Authorization Parameter 1 della tabella delle chiavi client.

Per creare una nuova voce nella tabella SSFAPPLIC:

  1. In SAP GUI, inserisci il codice transazione SE16.
  2. Nel campo Nome tabella, inserisci SSFAPPLIC e crea una nuova voce.
  3. Nel campo APPLIC, inserisci ZG_APK.
  4. Specifica i valori nei seguenti campi.

    Campo Valore
    APPLIC ZG_APK
    B_TOOLKIT Seleziona il flag.
    B_FORMAT Seleziona il flag.
    B_PAB Seleziona il flag.
    B_PROFID Seleziona il flag.
    B_PROFILE Seleziona il flag.
    B_HASHALG Lascia vuoto questo campo.
    B_ENCRALG Lascia vuoto questo campo.
    B_INCCERTS Lascia vuoto questo campo.
    B_DETACHED Lascia vuoto questo campo.
    B_ASKPWD Lascia vuoto questo campo.
    B_DISTRIB Seleziona il flag.
    DESCRIPT API Key Encryption for GCP
  5. Salva la nuova voce.

Creare parametri SSF
  1. In SAP GUI, inserisci il codice transazione SM30.

  2. Apri la visualizzazione VSSFARGS.

  3. Per l'applicazione ZG_APK (API Key Encryption for GCP), crea una nuova voce. I parametri SSF specifici dell'applicazione vengono compilati automaticamente.

  4. Salva la nuova voce.

Creare un ambiente di sicurezza personale (PSE)

  1. In SAP GUI, inserisci il codice transazione STRUST.

  2. Nel nodo Crittografia delle chiavi API SSF per Google Cloud, fai clic con il tasto destro del mouse e seleziona Crea.

  3. Nel campo Algoritmo, seleziona RSA. Lascia invariati gli altri campi con i valori predefiniti inseriti dal sistema.

  4. Salva la nuova voce.

Memorizza la chiave API

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

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

  2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura chiave API (utilizzo di SSF).

  3. In Nome chiave Google, inserisci il nome della configurazione della chiave client.

  4. Nel campo Chiave API, inserisci la chiave API che hai creato in precedenza in Creare una chiave API.

  5. Seleziona Salva.

  6. Fai clic su Esegui per memorizzare la chiave API.

Configura la chiave client

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

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

  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, DEMO_API_KEY.
    Nome dell'account di servizio Google Cloud Lascia vuoto questo campo.
    Ambito Google Cloud Specifica l'ambito di accesso all'API, https://www.googleapis.com/auth/cloud-platform.
    ID progetto Specifica l'ID del progetto Google Cloud contenente le API di destinazione.
    Nome del comando Lascia vuoto questo campo.
    Classe di autorizzazione Specifica la classe di autorizzazione /GOOG/CL_AUTH_API_KEY_SSF.
    Memorizzazione nella cache dei token

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

    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 Attivare la memorizzazione nella cache dei token.

    Secondi di aggiornamento token Specifica il periodo di tempo, in secondi, prima che un token di accesso scada e debba essere aggiornato. Il valore predefinito è 3500.
    Parametro di autorizzazione 1 Se il nome dell'applicazione SSF è diverso da ZG_APK, specifica il nome dell'applicazione SSF.
    Parametro di autorizzazione 2 Lascia vuoto questo campo.
  5. Salva la nuova voce.

Creare nuove destinazioni RFC

Per le API che prevedi di utilizzare con l'ABAP SDK for Google Cloud, crea nuove destinazioni RFC.

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

Se le destinazioni RFC non vengono create e configurate, l'SDK ABAP per Google Cloud utilizza gli endpoint API predefiniti gestiti nei singoli stub client API.

Configura la mappatura dei servizi

Configura la tabella di mappatura dei servizi per le 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 transazione SPRO e poi fai clic su Immagine di riferimento SAP.

  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 le API che prevedi di utilizzare, ad esempio addressvalidation v1. Se utilizzerai altre API, specifica le destinazioni RFC per queste API.

    Nome Nome servizio Destinazione RFC
    Nome della chiave Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Salva la nuova voce.

Eliminazione di una chiave API

Se una chiave API non viene più utilizzata, puoi eliminarla dal sistema SAP.

Per eliminare una chiave API:

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

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

  2. Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura chiave API (utilizzo di SSF).

  3. Nel campo Nome della chiave Google, inserisci il nome della configurazione della chiave client.

  4. Seleziona Elimina.

  5. Fai clic su Esegui per eliminare la chiave API.

Esegui l'autenticazione utilizzando la chiave API archiviata in Secret Manager

I passaggi di configurazione di alto livello sono i seguenti:

Crea una chiave API

Per l'autenticazione tramite chiave API, devi creare una chiave API. Una stringa della chiave API è una stringa criptata, ad esempio AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. L'SDK ABAP per Google Cloud utilizza la stringa della chiave API nella richiesta HTTP per autenticarsi in modo sicuro quando viene chiamata un'API Google Cloud.

Google Cloud offre diversi modi per creare chiavi API.

Per creare chiavi API utilizzando la console Google Cloud, svolgi i seguenti passaggi:

  1. Nella console Google Cloud, vai alla pagina Credenziali:

    Vai a credenziali

  2. Fai clic su Crea credenziali e seleziona Chiave API dal menu.

    • La finestra di dialogo Chiave API creata mostra la stringa della chiave API. Copia la stringa della chiave e tienila al sicuro. Questa chiave API è necessaria per configurare l'autenticazione a Google Cloud.

    • Per impostazione predefinita, le chiavi API non sono soggette a restrizioni. Ti consigliamo di limitare le chiavi API selezionando le API a cui può essere utilizzata questa chiave API. Per ulteriori informazioni sull'aggiunta di limitazioni delle API, consulta Aggiungere limitazioni delle API.

Crea un segreto e memorizza la chiave API

L'SDK ABAP per Google Cloud offre un'opzione per archiviare in modo sicuro le chiavi API utilizzando il servizio Secret Manager di Google Cloud. Per archiviare in modo sicuro le stringhe delle chiavi API, Secret Manager ti consente di seguire le best practice per l'utilizzo sicuro delle chiavi API.

Per creare un secret e memorizzare la chiave API, svolgi i seguenti passaggi:

  1. Abilita l'API Secret Manager.

    Vai alla libreria API

  2. Nella console Google Cloud, crea un segreto e memorizza la chiave API come la versione più recente.

    Vai a Secret Manager

Per informazioni su come creare un secret, consulta Creare un secret.

Per impostazione predefinita, l'SDK ABAP per Google Cloud recupera solo la versione più recente di un secret.

Configura la chiave client per l'accesso a Secret Manager

Le API Secret Manager utilizzano token per l'autenticazione. Pertanto, devi configurare l'autenticazione basata su token per accedere alle API Secret Manager, a seconda del deployment di SAP.

Utilizza uno dei seguenti metodi per configurare l'autenticazione basata su token per accedere alle API Secret Manager:

Prendi nota del nome della chiave client che hai creato per l'accesso a Secret Manager.

Configura la chiave client per il segreto

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

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

  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, DEMO_API_KEY.
    Nome dell'account di servizio Google Cloud Lascia vuoto questo campo.
    Ambito Google Cloud Specifica l'ambito di accesso all'API, https://www.googleapis.com/auth/cloud-platform.
    ID progetto Specifica l'ID del progetto Google Cloud contenente le API di destinazione.
    Nome del comando Lascia vuoto questo campo.
    Classe di autorizzazione Specifica /GOOG/CL_AUTH_API_KEY_SM.
    Memorizzazione nella cache dei token

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

    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 Attivare la memorizzazione nella cache dei token.

    Secondi di aggiornamento token Specifica il periodo di tempo, in secondi, prima che un token di accesso scada e debba essere aggiornato. Il valore predefinito è 3500.
    Parametro di autorizzazione 1 Specifica il nome della chiave client che hai creato per l'accesso a Secret Manager. Ad esempio, CLIENT_KEY_SM.
    Parametro di autorizzazione 2 Specifica il nome del secret in cui è memorizzata la chiave API. Ad esempio, TEST_SECRET.
  5. Salva la nuova voce.

Creare nuove destinazioni RFC

Per le API che prevedi di utilizzare con l'ABAP SDK for Google Cloud, crea nuove destinazioni RFC.

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

Se le destinazioni RFC non vengono create e configurate, l'SDK ABAP per Google Cloud utilizza gli endpoint API predefiniti gestiti nei singoli stub client API.

Configura la mappatura dei servizi

Configura la tabella di mappatura dei servizi per le 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 transazione SPRO e poi fai clic su Immagine di riferimento SAP.

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

  3. Fai clic su Nuove voci.

  4. Specifica le destinazioni RFC per le API che prevedi di utilizzare, ad esempio addressvalidation v1. Se utilizzerai altre API, specifica le destinazioni RFC per queste API.

    Nome Nome servizio Destinazione RFC
    Nome della chiave Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Salva la nuova voce.

Convalida il recupero della chiave API da Secret Manager

Per convalidare il recupero della chiave API da Secret Manager, segui questi passaggi:

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

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

  2. Fai clic su ABAP SDK for Google Cloud > Utilità > Convalida il recupero della chiave API (utilizzo di Secret Manager).
  3. Specifica il nome della chiave client.
  4. Fai clic su Esegui per verificare se la chiave API viene recuperata correttamente da Secret Manager.

Convalida la configurazione dell'autenticazione

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

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

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

  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 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: