Neste documento, mostramos como configurar a autenticação para acessar Google Cloud quando o sistema SAP está sendo executado em um host no local, em outro provedor de nuvem ou em outro ambiente fora de Google Cloudou gerenciado pela SAP com o programa SAP RISE.
Para autenticação no Google Cloud, use os JSON Web Tokens (JWT) assinados pelo Google Cloudpara receber tokens de acesso do Google Cloud. As etapas de configuração de nível alto são as seguintes:
- Ative as Google Cloud APIs.
- Criar uma conta de serviço para recuperação de tokens baseada em JWT
- Defina as configurações de segurança para Google Cloud no host do SAP LT Replication Server.
- Crie outra conta de serviço para autorização.
- crie um conjunto de dados do BigQuery;
- Configure certificados TLS/SSL e HTTPS.
- Especificar as configurações de acesso em
/GOOG/CLIENT_KEY
.
Ativar as APIs Google Cloud
No projeto Google Cloud , ative as APIs Google Cloud necessárias.
Para a replicação de CDC pelo Pub/Sub, ative as seguintes APIs:
- API Pub/Sub
- API BigQuery
- API IAM Service Account Credentials
Para a replicação de dados de streaming, ative as seguintes APIs:
- API BigQuery
- API IAM Service Account Credentials
Para informações sobre como ativar as APIs do Google Cloud , consulte Como ativar APIs.
Criar uma conta de serviço para recuperação de tokens baseada em JWT
Para a autenticação baseada em JWT para Google Cloud, o BigQuery Connector para SAP precisa de uma conta de serviço do IAM.
Criar uma conta de serviço
Para criar uma conta de serviço para recuperação de token baseado em JWT, siga estas etapas:
No console Google Cloud , acesse a página Contas de serviço do IAM & Admin.
Se solicitado, selecione o projeto do Google Cloud .
Clique em Criar conta de serviço.
Especifique um nome para a conta de serviço e, opcionalmente, uma descrição.
Clique em Criar e continuar.
No painel Conceder a essa conta de serviço acesso ao projeto, selecione o papel Criador do token da conta de serviço.
Clique em Continuar.
Conceda aos outros usuários acesso à conta de serviço, conforme adequado.
Clique em Concluído. A conta de serviço aparece na lista de contas de serviço do projeto Google Cloud .
Criar uma chave de conta de serviço
É necessário criar uma chave de conta de serviço P12 para a conta de serviço usada na recuperação de tokens baseados em JWT.
Para criar uma chave da conta de serviço, conclua estas etapas:
No console Google Cloud , acesse a página Contas de serviço do IAM & Admin.
Selecionar o projeto Google Cloud .
Clique no endereço de e-mail da conta de serviço que você criou para a recuperação de token baseado em JWT na seção anterior, Criar uma conta de serviço.
No nome da conta de serviço, clique na guia Chaves.
Clique no menu suspenso Adicionar chave e selecione Criar nova chave para criar uma chave de conta de serviço.
Aceite P12 como o tipo de chave e clique em Criar.
Uma chave privada é salva em seu computador.
Anote a senha do arquivo da chave privada
notasecret
.Forneça a chave privada e a senha ao administrador SAP para importar a chave privada para
STRUST
, conforme descrito em Importar a chave da conta de serviço para STRUST.
Ativar a assinatura JWT para a conta de serviço no host do SAP LT Replication Server.
Para ativar a assinatura JWT para a conta de serviço que você criou para a recuperação de token
baseada em JWT, é necessário adicionar o parâmetro
JWT_SERVC_ACCT
à tabela /GOOG/BQ_PARAM
e configurar a conta de serviço.
Para ativar a assinatura JWT para uma conta de serviço, siga estas etapas:
Na GUI do SAP, insira a transação
/GOOG/SLT_SETTINGS
precedida por/n
:/n/GOOG/SLT_SETTINGS
No menu suspenso Tabela de configurações na tela de inicialização da transação
/GOOG/SLT_SETTINGS
, selecione Parâmetros.Clique no ícone Executar. A tela Manutenção de configurações do BigQuery: parâmetros é exibida.
Clique no ícone Inserir linha.
Na linha exibida, especifique as seguintes configurações:
- No campo Nome do parâmetro, insira
JWT_SERVC_ACCT
. A descrição do parâmetro é preenchida automaticamente. - No campo Valor do parâmetro, insira o endereço de e-mail da conta de serviço que você criou para a recuperação de token baseado em JWT na seção anterior, Criar uma conta de serviço
- No campo Nome do parâmetro, insira
Clique em Save.
Os atributos são armazenados como um registro na tabela de configuração
/GOOG/BQ_PARAM
e os campos Alterado por, Alterado em e Alterado às são preenchidos automaticamente.
Definir as configurações de segurança para Google Cloud no host do SAP LT Replication Server
Esta seção descreve como configurar as definições de segurança para Google Cloud
no host do SAP LT Replication Server, o que envolve criar uma entrada de aplicativo SSF
e importar a chave da conta de serviço para STRUST
.
Criar um novo aplicativo de armazenamento seguro e encaminhamento (SSF, na sigla em inglês)
Na tabela SSFAPPLIC
, a entrada ZG_JWT
é importada como
parte do transporte do BigQuery Connector para SAP. Caso a entrada ZG_JWT
não seja importada, crie uma nova com o nome ZG_JWT
usando a transação SE16
.
Para criar uma nova entrada na tabela SSFAPPLIC
, siga estas etapas:
- Na GUI do SAP, insira o código da transação
SE16
. - No campo Nome da tabela, insira
SSFAPPLIC
e crie uma nova entrada. - No campo APPLIC, digite
ZG_JWT
. - Com exceção dos campos B_INCCERTS, B_DETACHED, B_ASKPWD e B_DISTRIB, selecione todos os outros campos.
- No campo DESCRIPT, insira
JWT Signature for GCP
. Salve a nova entrada.
Essa entrada se torna um novo nó na transação
STRUST
, em que você importa a chave da conta de serviço.
Ativar o nó STRUST
Use a transação SSFA
para ativar o nó STRUST
para JWT Signature for GCP
.
Para ativar o nó STRUST
, siga estas etapas:
- Na GUI do SAP, insira a transação
SSFA
. - Clique em Novas entradas.
Na lista suspensa Application SSF, selecione
JWT Signature for GCP
. É a nova entrada que você criou na tabelaSSFAPPLIC
.A captura de tela a seguir mostra os parâmetros SSF específicos do aplicativo que são preenchidos automaticamente pelo SAP.
Salve a nova entrada.
Um novo nó
SSF JWT Signature for GCP
está ativado na transaçãoSTRUST
. Agora você importa a chave da conta de serviço para esse nó.
Importar a chave da conta de serviço para o STRUST
Para importar a chave da conta de serviço para STRUST
, siga estas etapas:
Na GUI do SAP, insira o código da transação
STRUST
.Verifique se o novo nó na transação
STRUST
éSSF JWT Signature for GCP
.Importe o arquivo de chave privada:
- Selecione PSE > Importar na barra de menus.
- Dependendo do tipo do sistema de origem, selecione a chave privada adequada:
- S4/HANA
- Selecione a chave privada P12.
- Digite a senha do arquivo
notasecret
e clique em OK.
- ECC
- Selecione a chave privada PSE. É necessário converter a chave privada P12 que você salvou anteriormente em uma chave privada PSE. Para mais informações sobre como converter uma chave P12 em uma chave PSE, consulte Converter chave P12 em chave PSE.
- Insira o PIN do arquivo que você criou durante a conversão da chave privada de P12 para PSE e clique em OK.
- S4/HANA
Selecione PSE > Salvar como.
Selecione o botão de opção Aplicativo SSF e, no campo correspondente, selecione o novo nó do aplicativo SSF criado em Criar um aplicativo de armazenamento de segurança e encaminhamento (SSF, na sigla em inglês).
Salve a nova entrada.
A chave de serviço está anexada ao nó do aplicativo SSF
SSF JWT Signature for GCP
.
Converter a chave privada P12 em uma chave PS
Se o sistema de origem é o SAP NetWeaver 7.0x (SAP ECC), é necessário converter a chave P12 em uma chave PSE.
Para converter a chave P12 em uma chave PSE, siga estas etapas:
Acesse o caminho:
/usr/sap/SID/SYS/exe/run/
Substitua SID pelo ID do sistema SAP.
Execute o comando a seguir depois de substituir os marcadores:
sapgenpse import_p12 -p PSE_PATH_AND_FILE_NAME P12_PATH_AND_FILE_NAME.p12
Substitua:
PSE_PATH_AND_FILE_NAME
: especifique o caminho e o nome do arquivo PSE.P12_PATH_AND_FILE_NAME
: especifique o caminho e o nome do arquivo da chave P12.
Digite a senha do arquivo de chave privada P12,
notasecret
.Crie um novo PIN para a chave privada PSE e insira o PIN novamente.
Anote o PIN. Ele será necessário ao importar o arquivo da chave privada do PSE para
STRUST
.
Para informações da SAP sobre como converter uma chave P12 em uma chave P12, consulte o seguinte:
- Nota SAP 2148457 - Como converter o par de chaves de um contêiner PKCS#12 / PFX em um arquivo PSE
- Nota SAP 2976401 – Erro "import_p12: erro ao criar o PSE" durante a conversão do par de chaves do contêiner PKCS#12 / PFX em um arquivo PSE
Criar uma conta de serviço para autorização
A seção descreve o processo de criação de uma conta de serviço para autorização e configuração de certificados TLS/SSL para comunicação segura.
Criar uma conta de serviço
BigQuery Connector para SAP precisa de uma conta de serviço do IAM para autenticação e autorização para acessar recursos do Google Cloud .
Essa conta de serviço precisa ser a principal no projeto Google Cloud que contém as APIs Google Cloud ativadas. Se você criar a conta de serviço no mesmo projeto que as APIs Google Cloud , ela será adicionada como principal automaticamente ao projeto.
Se você criar a conta de serviço em um projeto diferente daquele que contém as APIs Google Cloud ativadas, será necessário adicionar a conta de serviço ao projeto das APIs Google Cloud ativadas em uma etapa extra.
Para criar uma conta de serviço, faça o seguinte:
No console Google Cloud , acesse a página Contas de serviço do IAM & Admin.
Se solicitado, selecione o projeto do Google Cloud .
Clique em Criar conta de serviço.
Especifique um nome para a conta de serviço e, opcionalmente, uma descrição.
Clique em Criar e continuar.
Se você estiver criando a conta de serviço no mesmo projeto que as APIs Google Cloud ativadas, no painel Conceder a essa conta de serviço acesso ao projeto, selecione os papéis conforme apropriado:
Para a replicação de CDC pelo Pub/Sub, selecione os seguintes papéis:
- Editor do Pub/Sub
- Editor de dados do BigQuery
- Usuário de jobs do BigQuery
Para replicação de dados de streaming, selecione as seguintes funções:
- Editor de dados do BigQuery
- Usuário de jobs do BigQuery
Se você estiver criando a conta de serviço em um projeto diferente daquele em que as APIs do Google Cloud estão ativadas, não conceda papéis a essa conta.
Clique em Continuar.
Conceda aos outros usuários acesso à conta de serviço, conforme adequado.
Clique em Concluído. A conta de serviço aparece na lista de contas de serviço do projeto.
Se você criou a conta de serviço em um projeto diferente daquele que contém as APIs Google Cloud ativadas, anote o nome da conta de serviço. Você especifica o nome ao adicionar a conta de serviço ao projeto de APIs Google Cloud ativadas. Para mais informações, consulte Adicionar a conta de serviço ao projeto do BigQuery.
A conta de serviço agora está listada como principal na página Permissões do IAM do projeto Google Cloud em que a conta de serviço foi criada.
Adicionar a conta de serviço ao projeto de destino
Se você criou a conta de serviço para o BigQuery Connector para SAP em um projeto diferente do projeto que contém as APIs Google Cloud ativadas, será necessário adicionar a conta de serviço ao projeto de APIs Google Cloud ativadas.
Se você criou a conta de serviço no mesmo projeto que as APIs Google Cloud ativadas, pule esta etapa.
Para adicionar uma conta de serviço atual ao projeto do conjunto de dados do BigQuery, conclua as etapas a seguir:
No console Google Cloud , acesse a página IAM.
Confirme se o nome do projeto que contém as APIs Google Cloud ativadas é exibido próximo à parte de cima da página. Exemplo:
Permissões do projeto "
PROJECT_NAME
"Caso contrário, mude de projeto.
Na página IAM, clique em
Adicionar. A caixa de diálogo Adicionar principais à "PROJECT_NAME
" será aberta.Na caixa de diálogo Adicionar principais a "
PROJECT_NAME
", conclua as seguintes etapas:- No campo Novos principais, especifique o nome da conta de serviço.
- No campo Selecionar papel, especifique Editor de dados do BigQuery.
- Clique em ADICIONAR OUTRO PAPEL. O campo Selecionar papel é exibido novamente.
- No campo Selecionar papel, especifique Usuário de jobs do BigQuery.
- Para a replicação de CDC pelo Pub/Sub, repita a etapa anterior e especifique Editor do Pub/Sub.
- Clique em Salvar. A conta de serviço aparece na lista de principais do projeto na página IAM.
Criar um conjunto de dados do BigQuery
Para criar um conjunto de dados do BigQuery, sua conta de usuário precisa ter as permissões de IAM adequadas para o BigQuery. Para mais informações, consulte Permissões necessárias.
No console Google Cloud , acesse a página BigQuery:
Ao lado do ID do projeto, clique no ícone Ver ações,
e, em seguida, clique em Criar conjunto de dados.No campo ID do conjunto de dados, insira um nome exclusivo. Para mais informações, consulte Nomear conjuntos de dados.
Para mais informações sobre como criar conjuntos de dados do BigQuery, consulte Como criar conjuntos de dados.
Configurar certificados TLS/SSL e HTTPS
A comunicação entre o BigQuery Connector para SAP e os serviços do Google é protegida usando TLS/SSL e HTTPS.
Para se conectar aos serviços do Google, siga as recomendações do Google Trust Services. No mínimo, faça o download de todos os certificados de AC raiz do repositório do Google Trust Services.
Para garantir que você esteja usando os certificados de CA raiz confiáveis mais recentes, recomendamos atualizar o repositório de certificados raiz do sistema a cada seis meses. O Google anuncia certificados de CA raiz novos e removidos no Google Trust Services. Para receber notificações automáticas, inscreva-se no feed RSS do Google Trust Services.
Na GUI do SAP, use a transação
STRUST
para importar os certificados da CA raiz para a pasta PSESSL client SSL Client (Standard)
.Para mais informações da SAP, consulte a Ajuda da SAP: manter a lista de certificações do PSE.
No host do SAP LT Replication Server, confirme se as regras de firewall ou os proxies estão configurados para permitir o tráfego de saída da porta HTTPS para a API BigQuery.
Especificamente, o SAP LT Replication Server precisa ser capaz de acessar as seguintes APIs Google Cloud :
https://bigquery.googleapis.com
https://iamcredentials.googleapis.com
https://pubsub.googleapis.com
Se você quiser que o BigQuery Connector para SAP acesse as APIs do Google Cloud usando endpoints do Private Service Connect na rede VPC, será necessário configurar destinos de RFC e especificar os endpoints do Private Service Connect nesses destinos de RFC. Para mais informações, consulte Destinos de RFC.
Para mais informações da SAP sobre a configuração do TLS/SSL, consulte a Nota SAP 510007 – Considerações adicionais para configurar o TLS/SSL no Application Server ABAP.
Especificar as configurações de acesso em /GOOG/CLIENT_KEY
Use a transação SM30
para especificar as configurações de acesso a
Google Cloud. BigQuery Connector para SAP armazena as configurações
como um registro na tabela de configuração personalizada /GOOG/CLIENT_KEY
.
Para especificar as configurações de acesso, faça o seguinte:
Na GUI do SAP, insira o código da transação
SM30
.Selecione a tabela de configuração
/GOOG/CLIENT_KEY
.Insira valores para os seguintes campos da tabela:
Campo Tipo de dado Descrição Nome String Especifique um nome descritivo para a configuração
CLIENT_KEY
, comoBQC_CKEY
.Um nome de chave de cliente é um identificador exclusivo usado pelo BigQuery Connector para SAP para identificar as configurações de acesso ao Google Cloud.
Nome da conta de serviço String O nome da conta de serviço, em formato de endereço de e-mail, que foi criada para o BigQuery Connector para SAP na etapa Criar uma conta de serviço. Exemplo:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Escopo String O escopo de acesso. Especifique o escopo de acesso da API
https://www.googleapis.com/auth/cloud-platform
, conforme recomendado pelo Compute Engine.ID do projeto String O ID do projeto que contém o conjunto de dados de destino do BigQuery. Nome do comando String Deixe esse campo em branco.
Classe de autorização String /GOOG/CL_GCP_AUTH_JWT
Campo de autorização Não relevante Deixe esse campo em branco. Token de atualização em segundos Número inteiro Deixe esse campo em branco. Armazenamento de tokens em cache Booleano Deixe esse campo em branco.
Configurar destinos de RFC
Para conectar o BigQuery Connector para SAP ao Google Cloud, recomendamos que você use destinos RFC.
Os destinos de RFC de amostra GOOG_OAUTH2_TOKEN
, GOOG_IAMCREDENTIALS
e GOOG_BIGQUERY
são importados como parte do transporte do BigQuery Connector para SAP.
É necessário criar novos destinos de RFC copiando os destinos de RFC de exemplo.
Para configurar os destinos de RFC, faça o seguinte:
Na GUI do SAP, insira o código da transação
SM59
.(Recomendado) Para criar novos destinos de RFC, copie as amostras de RFC de destino e anote os novos nomes de destino do RFC. Elas serão usadas em etapas posteriores.
O BigQuery Connector para SAP usa destinos RFC para se conectar às APIs Google Cloud .
Se você quiser testar a conectividade baseada no destino do RFC, pule esta etapa e use os destinos de RFC de amostra.
Para os destinos de RFC que você criou, faça o seguinte:
Acesse a guia Configurações técnicas e verifique se o campo Número do serviço está definido com o valor
443
. Essa é a porta usada pelo destino RFC para uma comunicação segura.Acesse a guia Logon único e segurança e verifique se o campo Certificado SSL está definido com a opção Cliente SSL DFAULT (padrão).
Também é possível definir configurações de proxy, ativar a compactação do HTTP e especificar endpoints do Private Service Connect.
Salve as alterações.
Para testar a conexão, clique em Teste de conexão.
É aceitável e esperado uma resposta que contenha
404 Not Found
, porque o endpoint especificado no destino RFC corresponde a um serviçoGoogle Cloud , e não a um recurso específico hospedado pelo serviço. Essa resposta indica que o serviço de destino Google Cloud está acessível e que nenhum recurso de destino foi encontrado.
Na GUI do SAP, insira o código da transação
SM30
.Na tabela
/GOOG/CLIENT_KEY
que você criou na seção anterior, anote o valor do campo Nome.Na tabela
/GOOG/SERVIC_MAP
, crie entradas com os seguintes valores de campo:Nome da chave do Google Cloud Nome do serviço do Google Destino do RFC CLIENT_KEY_TABLE_NAME
bigquery.googleapis.com
Especifique o nome do destino RFC que segmenta o BigQuery. Se você estiver usando o destino RFC de amostra para testes, especifique GOOG_BIGQUERY
.CLIENT_KEY_TABLE_NAME
pubsub.googleapis.com
Especifique o nome do destino RFC que segmenta o Pub/Sub. Se você estiver usando o destino RFC de amostra para testes, especifique GOOG_PUBSUB
.CLIENT_KEY_TABLE_NAME
iamcredentials.googleapis.com
Especifique o nome do destino RFC que segmenta o IAM. Se você estiver usando o destino RFC de amostra para testes, especifique GOOG_IAMCREDENTIALS
.CLIENT_KEY_TABLE_NAME
googleapis.com/oauth2
Especifique o nome do destino RFC que segmenta o endpoint de token do Google OAuth 2.0, usado para trocar JWTs por tokens de acesso. Se você estiver usando o destino RFC de amostra para testes, especifique GOOG_OAUTH2_TOKEN
.Substitua
CLIENT_KEY_TABLE_NAME
pelo nome da chave do cliente que você anotou na etapa anterior.
Definir as configurações de proxy
Ao usar destinos RFC para se conectar ao Google Cloud, você pode encaminhar a comunicação do BigQuery Connector para SAP pelo servidor proxy que você estiver usando no ambiente SAP.
Se você não quiser usar um servidor proxy ou não tiver um no ambiente SAP, pule esta etapa.
Para definir as configurações do servidor proxy para o BigQuery Connector for SAP, siga estas etapas:
Na GUI do SAP, insira o código da transação
SM59
.Selecione o destino RFC que segmenta o IAM.
Acesse a guia Configurações técnicas e insira os valores dos campos na seção Opções de proxy HTTP.
Repita a etapa anterior para o destino do RFC que segmenta o BigQuery.
Ativar compactação HTTP
Ao usar destinos RFC para se conectar ao Google Cloud, é possível ativar a compactação HTTP.
Se não quiser ativar essa funcionalidade, pule esta etapa.
Para ativar a compactação HTTP, faça o seguinte:
Na GUI do SAP, insira o código da transação
SM59
.Selecione o destino RFC que segmenta o BigQuery.
Acesse a guia Opções especiais.
No campo Versão HTTP, selecione HTTP 1.1.
No campo Compactação, selecione um valor apropriado.
Para informações sobre as opções de compactação, consulte a Nota SAP 1037677: a compactação HTTP compacta apenas alguns documentos.
Especificar endpoints do Private Service Connect
Se você quiser que o BigQuery Connector para SAP use endpoints do Private Service Connect para permitir o consumo particular do BigQuery e do IAM, será necessário criar esses endpoints no projeto do Google Cloud e especificá-los nos respectivos destinos RFC.
Se você quiser que o BigQuery Connector para SAP continue usando os endpoints de API públicos padrão para se conectar ao BigQuery e ao IAM, ignore esta etapa.
Para configurar o BigQuery Connector para SAP para usar os endpoints do Private Service Connect, faça o seguinte:
Na GUI do SAP, insira o código da transação
SM59
.Verifique se você criou novos destinos de RFC para o BigQuery e o IAM. Para instruções sobre como criar esses destinos de RFC, consulte Configurar destinos de RFC.
Selecione o destino do RFC que segmenta o BigQuery e faça o seguinte:
Acesse a guia Configurações técnicas.
No campo Host de destino, insira o nome do endpoint do Private Service Connect que você criou para acessar o BigQuery.
Acesse a guia Login e segurança.
No campo Número do serviço, verifique se o valor
443
está especificado.No campo Certificado SSL, verifique se a opção Cliente SSL DFAULT (padrão) está selecionada.
Selecione o destino RFC que segmenta o IAM e faça o seguinte:
Acesse a guia Configurações técnicas.
No campo Host de destino, insira o nome do endpoint do Private Service Connect que você criou para acessar o IAM.
Acesse a guia Login e segurança.
No campo Número do serviço, verifique se o valor
443
está especificado.No campo Certificado SSL, verifique se a opção Cliente SSL DFAULT (padrão) está selecionada.