Questo documento mostra come configurare l'autenticazione per accedere a Google Cloud quando il sistema SAP viene eseguito su un host on-premise, su un altro provider cloud, in un altro ambiente al di fuori di Google Cloudo gestito da SAP tramite il programma SAP RISE.
Per l'autenticazione a Google Cloud, utilizzi Google Cloud token JWT (JSON Web Token) firmati per ottenere token di accesso da Google Cloud. I passaggi di configurazione a livello generale sono i seguenti:
- Abilita le API Google Cloud .
- Crea un account di servizio per il recupero di token basato su JWT.
- Configura le impostazioni di sicurezza per Google Cloud sul server host SAP LT Replication Server.
- Crea un altro account di servizio per l'autorizzazione.
- Crea un set di dati BigQuery.
- Configura i certificati TLS/SSL e HTTPS.
- Specifica le impostazioni di accesso in
/GOOG/CLIENT_KEY
.
Abilita le API Google Cloud
Nel tuo progetto Google Cloud , abilita le API Google Cloud richieste.
Per la replica CDC tramite Pub/Sub, abilita le seguenti API:
- API Pub/Sub
- API BigQuery
- API IAM Service Account Credentials
Per la replica dei dati di streaming, abilita le seguenti API:
- API BigQuery
- API IAM Service Account Credentials
Per informazioni su come abilitare le API Google Cloud , vedi Abilitazione delle API.
Crea un account di servizio per il recupero dei token basato su JWT
Per l'autenticazione basata su JWT a Google Cloud, BigQuery Connector per SAP richiede un account di servizio IAM.
Crea un account di servizio
Per creare un account di servizio per il recupero di token basato su JWT, completa i seguenti passaggi:
Nella Google Cloud console, vai alla pagina IAM e amministrazione > Service account.
Se richiesto, seleziona il tuo progetto Google Cloud .
Fai clic su Crea account di servizio.
Specifica un nome per l'account di servizio e, facoltativamente, una descrizione.
Fai clic su Crea e continua.
Nel riquadro Concedi a questo account di servizio l'accesso al progetto, seleziona il ruolo Creatore token service account.
Fai clic su Continua.
Se necessario, concedi ad altri utenti l'accesso al account di servizio.
Fai clic su Fine. Il account di servizio viene visualizzato nell'elenco dei service account per il progetto Google Cloud .
Crea una chiave dell'account di servizio
Devi creare una chiave dell'account di servizio P12 per l'account di servizio utilizzato per il recupero dei token basato su JWT.
Per creare una chiave dell'account di servizio, completa i seguenti passaggi:
Nella Google Cloud console, vai alla pagina IAM & Admin Service accounts.
Selezionare il tuo progetto Google Cloud .
Fai clic sull'indirizzo email del account di servizio che hai creato per il recupero dei token basato su JWT nella sezione precedente, Crea un service account.
Sotto il nome del account di servizio, fai clic sulla scheda Chiavi.
Fai clic sul menu a discesa Aggiungi chiave, quindi seleziona Crea nuova chiave per creare una account di servizio account.
Accetta P12 come tipo di chiave e fai clic su Crea.
Una chiave privata viene salvata sul tuo computer.
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 del account di servizio in STRUST.
Abilita la firma JWT per il account di servizio sull'host SAP LT Replication Server
Per attivare la firma JWT per il account di servizio che hai creato per il recupero dei token basato su JWT, devi aggiungere il parametro JWT_SERVC_ACCT
alla tabella /GOOG/BQ_PARAM
e configurare il account di servizio.
Per abilitare la firma JWT per un account di servizio, completa i seguenti passaggi:
Nella GUI di SAP, inserisci la transazione
/GOOG/SLT_SETTINGS
preceduta da/n
:/n/GOOG/SLT_SETTINGS
Nel menu a discesa Tabella delle impostazioni nella schermata di avvio della transazione
/GOOG/SLT_SETTINGS
, seleziona Parametri.Fai clic sull'icona Esegui. Viene visualizzata la schermata Manutenzione impostazioni BigQuery - Parametri.
Fai clic sull'icona Inserisci riga.
Nella riga visualizzata, specifica le seguenti impostazioni:
- Nel campo Nome parametro, inserisci
JWT_SERVC_ACCT
. La descrizione del parametro viene compilata automaticamente. - Nel campo Valore parametro, inserisci l'indirizzo email dell'account di servizio che hai creato per il recupero dei token basato su JWT nella sezione precedente, Crea un account di servizio.
- Nel campo Nome parametro, inserisci
Fai clic su Salva.
Le impostazioni vengono memorizzate come record nella tabella di configurazione
/GOOG/BQ_PARAM
e i campi Modificato da, Modificato il e Modificato alle vengono compilati automaticamente.
Configura le impostazioni di sicurezza per Google Cloud sull'host SAP LT Replication Server
Questa sezione descrive come configurare le impostazioni di sicurezza per Google Cloud
sull'host SAP LT Replication Server, il che comporta la creazione di una voce dell'applicazione SSF
e l'importazione della chiave del account di servizio in STRUST
.
Crea una nuova applicazione Secure Store and Forward (SSF)
Nella tabella SSFAPPLIC
, la voce ZG_JWT
viene importata come
parte del trasporto diBigQuery Connector per SAPP. Se la voce ZG_JWT
non viene importata, devi crearne una nuova con il nome ZG_JWT
utilizzando la transazione SE16
.
Per creare una nuova voce nella tabella SSFAPPLIC
, completa i seguenti passaggi:
- Nella GUI SAP, inserisci il codice di transazione
SE16
. - Nel campo Nome tabella, inserisci
SSFAPPLIC
, quindi crea una nuova voce. - Per il campo APPLIC, inserisci
ZG_JWT
. - Ad eccezione dei campi B_INCCERTS, B_DETACHED, B_ASKPWD e B_DISTRIB, seleziona tutti gli altri campi.
- 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 delaccount di serviziot.
Attiva il nodo STRUST
Utilizza la transazione SSFA
per attivare il nodo STRUST
per JWT Signature for GCP
.
Per attivare il nodo STRUST
, completa i seguenti passaggi:
- Nella GUI di SAP, inserisci la transazione
SSFA
. - Fai clic su Nuove voci.
Nell'elenco a discesa SSF Application, seleziona
JWT Signature for GCP
. Questa è la nuova voce che hai creato nella tabellaSSFAPPLIC
.Lo screenshot seguente mostra i parametri SSF specifici dell'applicazione che vengono compilati automaticamente da SAP.
Salva la nuova voce.
Un nuovo nodo
SSF JWT Signature for GCP
è abilitato nella transazioneSTRUST
. Ora importa la chiave del account di servizio in questo nodo.
Importa la chiave del account di servizio in STRUST
Per importare la chiave del account di servizio in STRUST
, completa i seguenti passaggi:
Nella GUI SAP, inserisci il codice di 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 tipo di sistema di origine, seleziona la chiave privata appropriata:
- S4/HANA
- Seleziona la chiave privata P12.
- Inserisci la password del file
notasecret
e fai clic su Ok.
- ECC
- Seleziona la chiave privata PSE. Devi convertire la chiave privata P12 scaricata in precedenza in una chiave privata PSE. Per ulteriori informazioni sulla conversione di una chiave P12 in una chiave PSE, vedi Convertire la 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, quindi fai clic su OK.
- S4/HANA
Seleziona PSE > Salva con nome.
Seleziona il pulsante di opzione Applicazione SSF e, nel campo corrispondente, seleziona il nuovo nodo Applicazione SSF che hai creato in Crea una nuova applicazione Secure Store and Forward (SSF).
Salva la nuova voce.
La chiave di servizio è collegata al nodo dell'applicazione SSF
SSF JWT Signature for GCP
.
Converti la chiave privata P12 in chiave PSE
Se il sistema di origine è SAP NetWeaver 7.0x (SAP ECC), devi convertire la chiave P12 in una chiave PSE.
Per convertire la chiave P12 in una chiave PSE:
Vai al percorso:
/usr/sap/SID/SYS/exe/run/
Sostituisci SID con l'ID sistema SAP.
Esegui questo 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 file per il file PSE.P12_PATH_AND_FILE_NAME
: specifica il percorso e il nome file per il file della chiave P12.
Inserisci la password del file della chiave privata P12,
notasecret
.Crea un nuovo PIN per la chiave privata PSE e inseriscilo di nuovo.
Prendi nota del PIN, in quanto dovrai fornirlo quando importi il file della chiave privata PSE in
STRUST
.
Per informazioni da SAP su come convertire una chiave P12 in una chiave PSE, consulta:
- Nota SAP 2148457 - How to convert the keypair of a PKCS#12 / PFX container into a PSE file
- Nota SAP 2976401 - Errore "import_p12: Error creating PSE" durante la conversione della coppia di chiavi del contenitore PKCS#12 / PFX in file PSE
Crea un account di servizio per l'autorizzazione
Questa sezione descrive la procedura di creazione di un account di servizio per l'autorizzazione e la configurazione dei certificati TLS/SSL per la comunicazione sicura.
Crea un account di servizio
BigQuery Connector per SAP ha bisogno di un account di servizio IAM per l'autenticazione e l'autorizzazione per accedere alle risorse Google Cloud .
Questo account di servizio deve essere un principal nel progetto Google Cloud che contiene le API Google Cloud attivate. Se crei ilaccount di serviziot nello stesso progetto delle Google Cloud API, iaccount di serviziont viene aggiunto automaticamente come entità al progetto.
Se crei il account di servizio in un progetto diverso da quello che contiene le API Google Cloud attivate, devi aggiungere il account di servizio al progetto delle API Google Cloud attivate in un passaggio aggiuntivo.
Per creare un service account:
Nella Google Cloud console, vai alla pagina IAM e amministrazione > Service account.
Se richiesto, seleziona il tuo progetto Google Cloud .
Fai clic su Crea account di servizio.
Specifica un nome per l'account di servizio e, facoltativamente, una descrizione.
Fai clic su Crea e continua.
Se stai creando il account di servizio nello stesso progetto delle API Google Cloud attivate, nel riquadro Concedi a questo account di servizio l'accesso al progetto, seleziona i ruoli in base alle esigenze:
Per la replica CDC tramite Pub/Sub, seleziona i seguenti ruoli:
- Pub/Sub Editor
- Editor dati BigQuery
- Utente job BigQuery
Per la replica dei dati in streaming, seleziona i seguenti ruoli:
- Editor dati BigQuery
- Utente job BigQuery
Se stai creando l'account di servizio in un progetto diverso da quello delle API Google Cloud attivate, non concedere ruoli all'account di servizio.
Fai clic su Continua.
Se necessario, concedi ad altri utenti l'accesso al account di servizio.
Fai clic su Fine. Il account di servizio viene visualizzato nell'elenco dei service account per il progetto.
Se hai creato il account di servizio in un progetto diverso da quello che contiene le API Google Cloud attivate, annota il nome del account di servizio. Specifichi il nome quando aggiungi il service account al progetto API Google Cloud attivate. Per ulteriori informazioni, vedi Aggiungere il account di servizio al progetto BigQuery.
Ora il account di servizio è elencato come entità nella pagina Autorizzazioni IAM del progetto Google Cloud in cui è stato creato.
Aggiungi il account di servizio al progetto di destinazione
Se hai creato l'account di servizio per BigQuery Connector per SAP in un progetto diverso da quello che contiene le API Google Cloud abilitate, devi aggiungere l'account di servizio al progetto API Google Cloud abilitate.
Se hai creato il account di servizio nello stesso progetto delle API Google Cloud attivate, puoi saltare questo passaggio.
Per aggiungere un account di servizio esistente al progetto del set di dati BigQuery, completa i seguenti passaggi:
Nella console Google Cloud , vai alla pagina Autorizzazioni IAM:
Verifica che il nome del progetto che contiene le APIGoogle Cloud abilitate 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
Aggiungi. Si apre la finestra di dialogo Aggiungi entità a "PROJECT_NAME
".Nella finestra di dialogo Aggiungi entità a "
PROJECT_NAME
", completa i seguenti passaggi:- Nel campo Nuove entità, specifica il nome del account di servizio.
- Nel campo Seleziona un ruolo, specifica BigQuery Data Editor.
- Fai clic su AGGIUNGI UN ALTRO RUOLO. Viene visualizzato di nuovo il campo Seleziona un ruolo.
- Nel campo Seleziona un ruolo, specifica Utente job BigQuery.
- Per la replica CDC tramite Pub/Sub, ripeti il passaggio precedente e specifica Pub/Sub Editor.
- Fai clic su Salva. Il account di servizio viene visualizzato nell'elenco dei principali del progetto nella pagina IAM.
Crea un set di dati BigQuery
Per creare un set di dati BigQuery, il tuo account utente deve disporre delle autorizzazioni IAM appropriate per BigQuery. Per maggiori informazioni, consulta la sezione Autorizzazioni richieste.
Nella console Google Cloud , vai alla pagina BigQuery:
Accanto all'ID progetto, fai clic sull'icona Visualizza azioni,
, quindi fai clic su Crea set di dati.Nel campo ID set di dati, inserisci un nome univoco. Per ulteriori informazioni, vedi Denominare i set di dati.
Per ulteriori informazioni sulla creazione di set di dati BigQuery, consulta Creazione di set di dati.
Configurare i certificati TLS/SSL e HTTPS
La comunicazione tra BigQuery Connector per SAP e i servizi Google è protetta tramite TLS/SSL e HTTPS.
Per la connessione ai servizi Google, segui i suggerimenti di Google Trust Services. Come minimo, devi scaricare tutti i certificati CA radice dal repository Google Trust Services.
Per assicurarti di utilizzare i certificati CA radice attendibili più recenti, ti consigliamo di aggiornare l'archivio dei certificati radice del sistema ogni sei mesi. Google annuncia i certificati CA radice nuovi e rimossi su Google Trust Services. Per ricevere notifiche automatiche, iscriviti al feed RSS su Google Trust Services.
Nella GUI SAP, utilizza la transazione
STRUST
per importare i certificati CA radice nella cartella PSESSL client SSL Client (Standard)
.Per ulteriori informazioni da SAP, consulta SAP Help - Maintain PSE Certification list.
Sull'host SAP LT Replication Server, verifica che eventuali regole firewall o proxy siano configurati per consentire il traffico in uscita dalla porta HTTPS all'API BigQuery.
In particolare, SAP LT Replication Server deve essere in grado di accedere alle seguenti APIGoogle Cloud :
https://bigquery.googleapis.com
https://iamcredentials.googleapis.com
https://pubsub.googleapis.com
Se vuoi che BigQuery Connector per SAP acceda alle API Google Cloud tramite gli endpoint Private Service Connect nella tua rete VPC, devi configurare le destinazioni RFC e specificare gli endpoint Private Service Connect in queste destinazioni RFC. Per ulteriori informazioni, vedi Destinazioni RFC.
Per ulteriori informazioni di SAP sulla configurazione di TLS/SSL, consulta la nota SAP 510007 - Considerazioni aggiuntive per la configurazione di TLS/SSL su Application Server ABAP.
Specificare le impostazioni di accesso in /GOOG/CLIENT_KEY
Utilizza la transazione SM30
per specificare le impostazioni di accesso a
Google Cloud. BigQuery Connector per SAP archivia le impostazioni
come record nella tabella di configurazione personalizzata /GOOG/CLIENT_KEY
.
Per specificare le impostazioni di accesso:
Nella GUI SAP, inserisci il codice di transazione
SM30
.Seleziona la tabella di configurazione
/GOOG/CLIENT_KEY
.Inserisci i valori per i seguenti campi della tabella:
Campo Tipo di dati Descrizione Nome Stringa Specifica un nome descrittivo per la configurazione
CLIENT_KEY
, ad esempioBQC_CKEY
.Il nome di una chiave client è un identificatore univoco utilizzato da BigQuery Connector per SAP per identificare le configurazioni per l'accesso a Google Cloud.
Nome account di servizio Stringa Il nome del account di servizio, nel formato dell'indirizzo email, che è stato creato per BigQuery Connector per SAP nel passaggio Crea un service account. Ad esempio:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Ambito Stringa L'ambito di accesso. Specifica l'ambito di accesso all'API
https://www.googleapis.com/auth/cloud-platform
, come consigliato da Compute Engine.ID progetto Stringa L'ID del progetto che contiene il set di dati BigQuery di destinazione. Nome comando Stringa Lascia vuoto questo campo.
Authorization Class Stringa /GOOG/CL_GCP_AUTH_JWT
Campo Autorizzazione Non applicabile Lascia vuoto questo campo. Secondi di aggiornamento del token Numero intero Lascia vuoto questo campo. Memorizzazione nella cache dei token Booleano Lascia vuoto questo campo.
Configurare le destinazioni RFC
Per connettere BigQuery Connector per SAP a Google Cloud, ti consigliamo di utilizzare le destinazioni RFC.
Le destinazioni RFC di esempio GOOG_OAUTH2_TOKEN
, GOOG_IAMCREDENTIALS
e GOOG_BIGQUERY
vengono importate nell'ambito del trasporto di BigQuery Connector per SAP.
Devi creare nuove destinazioni RFC copiando quelle di esempio.
Per configurare le destinazioni RFC:
Nella GUI SAP, inserisci il codice di transazione
SM59
.(Consigliato) Crea nuove destinazioni RFC copiando le destinazioni RFC di esempio, quindi prendi nota dei nuovi nomi delle destinazioni RFC. Li utilizzerai nei passaggi successivi.
BigQuery Connector per SAP utilizza le destinazioni RFC per connettersi alle APIGoogle Cloud .
Se vuoi testare la connettività basata sulla destinazione RFC, puoi saltare questo passaggio e utilizzare le destinazioni RFC di esempio.
Per le destinazioni RFC che hai creato:
Vai alla scheda Impostazioni tecniche e assicurati che il campo Numero di servizio sia impostato con il valore
443
. Questa è la porta utilizzata dalla destinazione RFC per la comunicazione sicura.Vai alla scheda Accesso e sicurezza e assicurati che il campo Certificato SSL sia impostato con l'opzione Client SSL predefinito (standard).
Facoltativamente, puoi configurare le impostazioni proxy, abilitare la compressione HTTP e specificare gli endpoint Private Service Connect.
Salva le modifiche.
Per testare la connessione, fai clic su Test connessione.
Una risposta contenente
404 Not Found
è accettabile e prevista perché l'endpoint specificato nella destinazione RFC corrisponde a un servizioGoogle Cloud e non a una risorsa specifica ospitata dal servizio. Una risposta di questo tipo indica che il servizio di destinazione Google Cloud è raggiungibile e che non è stata trovata alcuna risorsa di destinazione.
Nella GUI SAP, inserisci il codice di transazione
SM30
.Nella tabella
/GOOG/CLIENT_KEY
che hai creato nella sezione precedente, annota il valore del campo Nome.Nella tabella
/GOOG/SERVIC_MAP
, crea voci con i seguenti valori dei campi:Nome della chiave Google Cloud Nome del servizio Google Destinazione RFC CLIENT_KEY_TABLE_NAME
bigquery.googleapis.com
Specifica il nome della destinazione RFC che ha come target BigQuery. Se utilizzi la destinazione RFC di esempio a scopo di test, specifica GOOG_BIGQUERY
.CLIENT_KEY_TABLE_NAME
pubsub.googleapis.com
Specifica il nome della destinazione RFC che ha come target Pub/Sub. Se utilizzi la destinazione RFC di esempio a scopo di test, specifica GOOG_PUBSUB
.CLIENT_KEY_TABLE_NAME
iamcredentials.googleapis.com
Specifica il nome della destinazione RFC che ha come target IAM. Se utilizzi la destinazione RFC di esempio a scopo di test, specifica GOOG_IAMCREDENTIALS
.CLIENT_KEY_TABLE_NAME
googleapis.com/oauth2
Specifica il nome della destinazione RFC che ha come target l'endpoint token OAuth 2.0 di Google, utilizzato per lo scambio di JWT con token di accesso. Se utilizzi la destinazione RFC di esempio a scopo di test, specifica GOOG_OAUTH2_TOKEN
.Sostituisci
CLIENT_KEY_TABLE_NAME
con il nome della chiave client che hai annotato nel passaggio precedente.
Configurare le impostazioni proxy
Quando utilizzi le destinazioni RFC per connetterti a Google Cloud, puoi instradare la comunicazione da BigQuery Connector per SAP tramite il server proxy che utilizzi nel tuo panorama SAP.
Se non vuoi utilizzare un server proxy o non ne hai uno nel tuo panorama SAP, puoi saltare questo passaggio.
Per configurare le impostazioni del server proxy per BigQuery Connector per SAP, completa i seguenti passaggi:
Nella GUI SAP, inserisci il codice di transazione
SM59
.Seleziona la destinazione RFC che ha come target IAM.
Vai alla scheda Impostazioni tecniche, quindi inserisci i valori per i campi nella sezione Opzioni proxy HTTP.
Ripeti il passaggio precedente per la destinazione RFC che ha come target BigQuery.
Abilitare la compressione HTTP
Quando utilizzi le destinazioni RFC per connetterti a Google Cloud, puoi attivare la compressione HTTP.
Se non vuoi attivare questa funzionalità, puoi saltare questo passaggio.
Per attivare la compressione HTTP:
Nella GUI SAP, inserisci il codice di transazione
SM59
.Seleziona la destinazione RFC che ha come target BigQuery.
Vai alla scheda Opzioni speciali.
Per il campo Versione HTTP, seleziona HTTP 1.1.
Per il campo Compressione, seleziona un valore appropriato.
Per informazioni sulle opzioni di compressione, vedi Nota SAP 1037677 - La compressione HTTP comprime solo determinati documenti
Specifica gli endpoint Private Service Connect
Se vuoi che BigQuery Connector per SAP utilizzi gli endpoint Private Service Connect per consentire l'utilizzo privato di BigQuery e IAM, devi creare questi endpoint nel tuo progetto Google Cloud e specificarli nelle rispettive destinazioni RFC.
Se vuoi che BigQuery Connector per SAP continui a utilizzare gli endpoint API pubblici predefiniti per connettersi a BigQuery e IAM, salta questo passaggio.
Per configurare BigQuery Connector per SAP in modo che utilizzi gli endpoint Private Service Connect, procedi nel seguente modo:
Nella GUI SAP, inserisci il codice di transazione
SM59
.Verifica di aver creato nuove destinazioni RFC per BigQuery e IAM. Per istruzioni su come creare queste destinazioni RFC, vedi Configurare le destinazioni RFC.
Seleziona la destinazione RFC che ha come target BigQuery e poi fai quanto segue:
Vai alla scheda Impostazioni tecniche.
Per il campo Host di destinazione, inserisci il nome dell'endpoint Private Service Connect che hai creato per accedere a BigQuery.
Vai alla scheda Accesso e sicurezza.
Per il campo Numero servizio, assicurati che sia specificato il valore
443
.Per il campo Certificato SSL, assicurati che sia selezionata l'opzione Client SSL predefinito (standard).
Seleziona la destinazione RFC che ha come target IAM e poi svolgi le seguenti operazioni:
Vai alla scheda Impostazioni tecniche.
Per il campo Host di destinazione, inserisci il nome dell'endpoint Private Service Connect che hai creato per accedere a IAM.
Vai alla scheda Accesso e sicurezza.
Per il campo Numero servizio, assicurati che sia specificato il valore
443
.Per il campo Certificato SSL, assicurati che sia selezionata l'opzione Client SSL predefinito (standard).
Passaggi successivi
Configurare il connettore per la replica CDC tramite Pub/Sub
Configurare il connettore per la replica dei dati in streaming