Questo documento mostra come configurare l'autenticazione per accedere alle API Google Cloudquando il sistema SAP è in esecuzione su un host on-premise, su un altro provider cloud, in un altro ambiente esterno Google Cloudo gestito da SAP tramite il programma SAP RISE. Per l'autenticazione a Google Cloud, utilizzi Google Cloud JWT (JSON Web Token) firmati per ottenere token di accesso da Google Cloud.
I passaggi di configurazione di alto livello sono i seguenti:
- Crea un account di servizio per il recupero dei token basati su JWT.
- Configura le impostazioni di sicurezza per Google Cloud sull'host SAP.
- Abilita le API Google Cloud .
- Crea un altro account di servizio per l'autorizzazione ad accedere alle API di Google Cloud .
- Crea configurazioni SAP.
- Convalida la configurazione dell'autenticazione.
Creare un account di servizio per il recupero dei token basati su JWT
Per l'autenticazione basata su JWT a Google Cloud, ABAP SDK for Google Cloud necessita di un account di servizio IAM.
Crea un account di servizio
Crea un account di servizio e concedi al servizio il ruolo IAM Service Account Token Creator
.
Per creare un account di servizio, segui questi passaggi:
Nella console Google Cloud , crea un account di servizio IAM per il recupero dei token basati su JWT.
Per informazioni su come creare un account di servizio, vedi Creare un account di servizio.
Concedi il ruolo
Service Account Token Creator
all'account di servizio. Per istruzioni, vedi Concedere un singolo ruolo.
Crea una chiave dell'account di servizio
Devi creare una chiave account di servizio P12 per l'account di servizio utilizzato per il recupero dei token basati su JWT.
Per creare una chiave dell'account di servizio, svolgi i seguenti passaggi:
Nella console Google Cloud , vai alla pagina Account di servizio di IAM e amministrazione.
Seleziona il tuo progetto Google Cloud .
Fai clic sull'indirizzo email dell'account di servizio che hai creato per il recupero dei token basati su JWT nella sezione precedente Creare un account di servizio.
Sotto il nome dell'account di servizio, fai clic sulla scheda Chiavi.
Fai clic sul menu a discesa Aggiungi chiave, quindi seleziona Crea nuova chiave per creare una chiave dell'account di servizio.
Accetta P12 come tipo di chiave e fai clic su Crea.
Sul computer viene scaricata una chiave privata.
Prendi nota della password per il file della chiave privata,
notasecret
.Fornisci la chiave privata e la password all'amministratore SAP per importare la chiave privata in
STRUST
, come descritto in Importare la chiave dell'account di servizio in STRUST.
Specifica l'account di servizio per la firma JWT
Se hai creato l'account di servizio per la firma JWT in un progetto diverso da quello che contiene le API Google Cloud , devi specificare l'account di servizio sul sistema host SAP.
Se hai creato l'account di servizio nello stesso progetto che contiene le APIGoogle Cloud , puoi saltare questo passaggio.
Per specificare l'account di servizio per la firma JWT, svolgi i seguenti passaggi:
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.Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura parametri.
Fai clic su Nuove voci.
Nel campo Nome parametro, inserisci
JWT_SERVC_ACCT
. La descrizione del parametro viene compilata automaticamente.Nel campo Valore parametro, inserisci il nome dell'account di servizio.
Salva la nuova voce.
Configura le impostazioni di sicurezza per Google Cloud sul sistema host SAP
Per attivare la firma JWT per l'account di servizio che hai creato per il recupero dei token basati su JWT, devi configurare le impostazioni di sicurezza perGoogle Cloud sul sistema host SAP.
Creare una nuova applicazione SSF (Secure Store and Forward)
Ogni voce SSFAPPLIC
ti consente di salvare una singola chiave dell'account di servizio.
Per salvare le chiavi del account di servizio per più progetti, devi creare più voci SSFAPPLIC
seguendo gli stessi passaggi.
Per creare una nuova voce nella tabella SSFAPPLIC
:
- In SAP GUI, inserisci il codice transazione
SE16
. - Nel campo Nome tabella, inserisci
SSFAPPLIC
e crea una nuova voce. - Nel campo APPLIC, inserisci un nome per l'applicazione SSF, ad esempio
ZG_JWT
. - Seleziona tutti gli altri campi, ad eccezione di B_INCCERTS, B_DETACHED, B_ASKPWD e B_DISTRIB.
- Nel campo DESCRIPT, inserisci
JWT Signature for GCP
. Salva la nuova voce.
Questa voce diventa un nuovo nodo nella transazione
STRUST
, in cui importi la chiave dell'account di servizio.
Attiva il nodo STRUST
Utilizza la transazione SSFA
per attivare il nodo STRUST
per JWT Signature for GCP
.
Per attivare il nodo STRUST
, svolgi i seguenti passaggi:
- In SAP GUI, inserisci il codice transazione
SSFA
. - Fai clic su Nuove voci.
Nell'elenco a discesa Applicazione SSF, seleziona
JWT Signature for GCP
. Questa è la nuova voce che hai creato nella tabellaSSFAPPLIC
.I parametri SSF specifici dell'applicazione vengono compilati automaticamente.
Salva la nuova voce.
Un nuovo nodo
SSF JWT Signature for GCP
è attivato nella transazioneSTRUST
.
Importa la chiave dell'account di servizio in STRUST
Per importare la chiave dell'account di servizio in STRUST
, svolgi i seguenti passaggi:
In SAP GUI, inserisci il codice transazione
STRUST
.Verifica che il nuovo nodo nella transazione
STRUST
siaSSF JWT Signature for GCP
.Importa il file della chiave privata:
- Seleziona PSE > Importa dalla barra dei menu.
- A seconda del sistema SAP, seleziona la chiave privata appropriata:
- SAP S/4HANA
- Seleziona la chiave privata P12.
- Inserisci la password del file
notasecret
e fai clic su OK.
- SAP ECC
- Seleziona la chiave privata PSE. Devi convertire la chiave privata P12 che hai scaricato in precedenza in una chiave privata PSE. Per ulteriori informazioni sulla conversione di una chiave P12 in una chiave PSE, consulta Convertire una chiave P12 in una chiave PSE.
- Inserisci il PIN del file che hai creato durante la conversione della chiave privata dalla chiave P12 alla chiave PSE e poi fai clic su OK.
- SAP S/4HANA
Seleziona PSE > Salva con nome.
Seleziona Applicazione SSF e, nel campo di immissione corrispondente, seleziona il nuovo nodo dell'applicazione SSF che hai creato in Creare una nuova applicazione Secure Store and Forward (SSF).
Salva la nuova voce.
La chiave di servizio è associata al nodo dell'applicazione SSF
SSF JWT Signature for GCP
.
Converti la chiave privata P12 in chiave PSE
Se il tuo sistema SAP è SAP NetWeaver 7.0x (SAP ECC), devi convertire la chiave P12 in una chiave PSE.
Per convertire la chiave P12 in una chiave PSE, svolgi i seguenti passaggi:
Vai al percorso:
/usr/sap/SID/SYS/exe/run/
Sostituisci SID con l'ID sistema SAP.
Esegui il seguente comando dopo aver sostituito i segnaposto:
sapgenpse import_p12 -p PSE_PATH_AND_FILE_NAME P12_PATH_AND_FILE_NAME.p12
Sostituisci quanto segue:
PSE_PATH_AND_FILE_NAME
: specifica il percorso e il nome del file PSEP12_PATH_AND_FILE_NAME
: specifica il percorso e il nome del file della chiave P12
Inserisci la password del file della chiave privata P12,
notasecret
.Crea un nuovo PIN per la chiave privata PSE e inserisci di nuovo il PIN.
Prendi nota del PIN, che dovrai fornire quando importi il file della chiave privata PSE in
STRUST
.
Per informazioni di SAP su come convertire una chiave P12 in una chiave PSE, consulta:
Abilita le API Google Cloud
Nella console Google Cloud , abilita l'API Credenziali account di servizio IAM per il tuo progetto Google Cloud che richiede l'autenticazione. Oltre all'API Credenziali account di servizio IAM, devi attivare tutte le altre API supportate a cui prevedi di accedere utilizzando l'SDK.
Per informazioni su come attivare le API Google Cloud , consulta Abilitazione delle API.
Crea un account di servizio per l'autorizzazione ad accedere alle API di Google Cloud
Per l'autenticazione e l'autorizzazione per accedere alle API di Google Cloud , l'SDK ABAP per Google Cloud ha bisogno di un account di servizio IAM.
Crea un account di servizio
Nella console Google Cloud , crea un account di servizio IAM. Questo account di servizio deve essere un principale nel progetto Google Cloud che contiene le APIGoogle Cloud che prevedi di utilizzare con l'SDK. Se crei l'account di servizio nello stesso progetto che contiene le API Google Cloud , l'account di servizio viene aggiunto automaticamente come principale al progetto.
Se crei l'account di servizio in un progetto diverso da quello in cui sono attivate le API Google Cloud , devi aggiungere l'account di servizio a quel progetto in un passaggio aggiuntivo.
Nella console Google Cloud , crea un account di servizio IAM per l'autenticazione e l'autorizzazione per accedere alle API Google Cloud .
Per informazioni su come creare un account di servizio, vedi Creare un account di servizio.
Nella console Google Cloud , concedi al account di servizio i ruoli IAM necessari per accedere alla funzionalità dell'API. Per comprendere il requisito del ruolo per le API Google Cloud , consulta la documentazione delle singole API e segui il principio del privilegio minimo. Per ulteriori informazioni sui ruoli predefiniti specifici per le API, consulta Trovare i ruoli IAM per le API Google Cloud .
Se hai creato l'account di servizio in un progetto diverso da quello che contiene le API Google Cloud che prevedi di utilizzare con l'SDK, prendi nota del nome dell'account di servizio. Specifica il nome quando aggiungi l'account di servizio al progetto. Per ulteriori informazioni, vedi Aggiungere l'account di servizio al progetto Google Cloud .
Aggiungi l'account di servizio al progetto Google Cloud
Se hai creato l'account di servizio per ABAP SDK for Google Cloud in un progetto diverso da quello che contiene le API Google Cloud che prevedi di utilizzare con l'SDK, devi aggiungere l'account di servizio al progetto Google Cloud che contiene le API Google Cloud .
Se hai creato l'account di servizio nello stesso progetto che contiene le APIGoogle Cloud , puoi saltare questo passaggio.
Per aggiungere un account di servizio esistente al progetto Google Cloud che contiene le API Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Permissions (Autorizzazioni) di IAM:
Verifica che il nome del progetto che contiene le APIGoogle Cloud di destinazione sia visualizzato nella parte superiore della pagina. Ad esempio:
Autorizzazioni per il progetto "
PROJECT_NAME
"In caso contrario, cambia progetto.
Nella pagina IAM, fai clic su
Concedi l'accesso. Si apre la finestra di dialogo Concedi l'accesso a "PROJECT_NAME
".Nella finestra di dialogo Concedi l'accesso a "
PROJECT_NAME
", svolgi i seguenti passaggi:- Nel campo Nuove entità, specifica il nome dell'account di servizio.
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 maggiori dettagli sui ruoli predefiniti specifici dell'API, consulta Documentazione di riferimento dei ruoli di base e predefiniti IAM.
Aggiungi altri ruoli in base alle esigenze di utilizzo dell'API. Implementa le best practice consigliate da Google applicando il principio del privilegio minimo.
Fai clic su Salva. L'account di servizio viene visualizzato nell'elenco dei principali del progetto nella pagina IAM.
Ora l'account di servizio può essere utilizzato per accedere alle API Google Cloud in questo progetto.
Configurare la connessione HTTPS
Il server delle applicazioni SAP deve connettersi alle API Google Cloud tramite HTTPS.
Nell'host SAP, verifica che le regole firewall o i proxy siano configurati per consentire il traffico in uscita dalla porta HTTPS alle API Google Cloud richieste.
In particolare, il sistema SAP deve essere in grado di accedere ai seguenti endpoint API:
https://iamcredentials.googleapis.com
- Endpoint API per le API che vuoi utilizzare con l'SDK.
Creare configurazioni SAP
Per l'autenticazione basata su JWT, crea le configurazioni SAP richieste.
Specifica le impostazioni di accesso nella tabella delle chiavi client
Per specificare le impostazioni di accesso:
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.Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura chiave client.
Fai clic su Nuove voci.
Inserisci i valori per i seguenti campi:
Campo Descrizione Nome della chiave Google Cloud Specifica un nome per la configurazione della chiave client. Nome dell'account di servizio Google Cloud Specifica il nome dell'account di servizio, in formato indirizzo email, creato per ABAP SDK per Google Cloud nel passaggio Crea un account di servizio. Ad esempio:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Ambito Google Cloud Specifica l'ambito di accesso, https://www.googleapis.com/auth/cloud-platform
.ID progetto 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_JWT
.Campo di autorizzazione Lascia vuoto questo campo. Secondi di aggiornamento token Lascia vuoto questo campo. Parametro di autorizzazione 1 Specifica il nome dell'applicazione SSF che hai creato nella sezione Creare una nuova applicazione SSF (Secure Store and Forward). Salva la nuova voce.
Creare nuove destinazioni RFC
Crea destinazioni RFC per l'API IAM e altre API che prevedi di utilizzare con l'SDK ABAP per Google Cloud, ad esempio l'API Pub/Sub 1.
Nome della destinazione RFC | Note |
---|---|
ZGOOG_IAMCREDENTIALS |
Questa destinazione RFC ha come target l'API IAM . |
ZGOOG_OAUTH2_TOKEN |
Questa destinazione RFC ha come target l'endpoint Google Cloud per l'autenticazione basata su token. |
ZGOOG_PUBSUB_V1 |
Questa destinazione RFC ha come target l'API Pub/Sub. |
Per informazioni sulla creazione di destinazioni RFC, consulta Destinazioni RFC.
Specifica le destinazioni RFC nella tabella di mappatura dei servizi
Nella tabella di mappatura dei servizi, specifica le destinazioni RFC per l'API IAM e altre API che prevedi di utilizzare con l'SDK ABAP per Google Cloud.
Per specificare le destinazioni RFC:
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.Fai clic su ABAP SDK for Google Cloud > Impostazioni di base > Configura mappatura dei servizi.
Fai clic su Nuove voci.
Specifica le destinazioni RFC per l'API IAM e altre API. Ad esempio:
Nome Nome servizio Destinazione RFC Nome della chiave Google Cloud iamcredentials:v1
ZGOOG_IAMCREDENTIALS
Nome della chiave Google Cloud googleapis.com/oauth2
ZGOOG_OAUTH2_TOKEN
Nome della chiave Google Cloud pubsub.googleapis.com
ZGOOG_PUBSUB_V1
Salva la nuova voce.
Convalida la configurazione dell'autenticazione
Per convalidare la configurazione dell'autenticazione, svolgi i seguenti passaggi:
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.Fai clic su ABAP SDK for Google Cloud > Utilità > Convalida configurazione autenticazione.
Inserisci il nome della chiave client.
Fai clic su Esegui per verificare se il flusso complessivo è configurato correttamente.
Un segno di spunta verde nella colonna Stato 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:
Fai riferimento alla guida alla risoluzione dei problemi di ABAP SDK for Google Cloud.
Fai le tue domande e discuti dell'ABAP SDK per Google Cloud con la community nei forum di Cloud.
Raccogli tutte le informazioni diagnostiche disponibili e contatta l'assistenza clienti Google Cloud. Per informazioni su come contattare l'assistenza clienti, consulta Ricevere assistenza per SAP su Google Cloud.