Nesta seção, mostramos como configurar a autenticação para acessar as APIs do Google Cloud quando o sistema SAP está sendo executado em um host no local, em outro provedor de nuvem ou em outro ambiente fora do Google Cloud ou gerenciado pela SAP com o programa SAP RISE. Para autenticação no Google Cloud, use os JSON Web Tokens (JWT) assinados pelo Google Cloud para receber tokens de acesso do Google Cloud.
As etapas de configuração de nível alto são as seguintes:
- Criar uma conta de serviço para recuperação de tokens baseada em JWT
- Defina as configurações de segurança do Google Cloud no host SAP.
- Ative as APIs do Google Cloud.
- Crie outra conta de serviço para autorização de acesso às APIs do Google Cloud.
- Crie configurações do SAP.
- Valide a configuração da autenticação.
Criar uma conta de serviço para recuperação de tokens baseada em JWT
Para a autenticação baseada em JWT para o Google Cloud, o ABAP SDK for Google Cloud precisa de uma conta de serviço do IAM.
Crie uma conta de serviço
Crie uma conta de serviço e conceda o papel do IAM Service Account Token Creator
a ela.
Para criar uma conta de serviço, execute os seguintes passos:
No console do Google Cloud, crie uma conta de serviço do IAM para recuperação de tokens com base em JWT.
Para mais informações sobre como criar uma conta de serviço, consulte Criar uma conta de serviço.
Conceda o papel
Service Account Token Creator
à conta de serviço. Para mais instruções, consulte Conceder um único papel.
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 do Google Cloud, acesse a página Contas de serviço do IAM e do administrador.
Selecione seu projeto do 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 no 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.
Especifique a conta de serviço para a assinatura JWT
Se você tiver criado a conta de serviço para login JWT em um projeto diferente do projeto que contém as APIs do Google Cloud, será necessário especificar a conta de serviço no sistema host SAP.
Se você criou a conta de serviço no mesmo projeto que contém as APIs do Google Cloud, pule esta etapa.
Para especificar a conta de serviço para a assinatura JWT, siga estas etapas:
Na GUI do SAP, execute o código de transação
/GOOG/SDK_IMG
.Como alternativa, execute o código da transação
SPRO
e clique em IMG de referência do SAP.Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar parâmetros.
Clique em Novas entradas.
No campo Nome do parâmetro, insira
JWT_SERVC_ACCT
. A descrição do parâmetro é preenchida automaticamente.No campo Valor do parâmetro, digite o nome da conta de serviço.
Salve a nova entrada.
Definir as configurações de segurança do Google Cloud no sistema host da SAP
Para ativar a assinatura JWT para a conta de serviço que você criou para a recuperação de token baseada em JWT, defina as configurações de segurança do Google Cloud no sistema host do SAP.
Criar um novo aplicativo de armazenamento seguro e encaminhamento (SSF, na sigla em inglês)
Cada entrada SSFAPPLIC
permite salvar uma única chave de conta de serviço.
Para salvar as chaves de contas de serviço em vários projetos, é preciso criar várias entradas SSFAPPLIC
seguindo as mesmas etapas.
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, insira um nome para seu aplicativo SSF, como
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 o código da 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
.Os parâmetros SSF específicos do aplicativo são preenchidos automaticamente.
Salve a nova entrada.
Um novo nó
SSF JWT Signature for GCP
está ativado na transaçãoSTRUST
.
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 sistema SAP, selecione a chave privada apropriada:
- SAP S/4HANA
- Selecione a chave privada P12.
- Digite a senha do arquivo
notasecret
e clique em OK.
- SAP 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.
- SAP S/4HANA
Selecione PSE > Salvar como.
Selecione SSF Application e, no campo de entrada correspondente, selecione o novo nó SSF Application criado em Create a new Secure Store and Forward Application (SSF).
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 SAP é 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:
Ativar as APIs do Google Cloud
No Console do Google Cloud, ative a API IAM Service Account Credentials no projeto do Google Cloud que requer autenticação. Além da API IAM Service Account Credentials, você precisa ativar outras APIs compatíveis que pretende acessar usando o SDK.
Para informações sobre como ativar as APIs do Google Cloud, consulte Como ativar APIs.
Criar uma conta de serviço para autorização de acesso às APIs do Google Cloud
Para autenticação e autorização para acessar as APIs do Google Cloud, o SDK do ABAP para o Google Cloud precisa de uma conta de serviço do IAM.
Crie uma conta de serviço
No console do Google Cloud, crie uma conta de serviço do IAM. Essa conta de serviço precisa ser a principal no projeto do Google Cloud que contém as APIs do Google Cloud que você planeja consumir usando o SDK. Se você criar a conta de serviço no mesmo projeto que contém as APIs do Google Cloud, ela será adicionada automaticamente como principal ao projeto.
Se você criar a conta de serviço em um projeto diferente daquele em que as APIs do Google Cloud estão ativadas, será necessário adicionar a conta de serviço a esse projeto em uma etapa adicional.
No Console do Google Cloud, crie uma conta de serviço do IAM para autenticação e autorização para acessar as APIs do Google Cloud.
Para mais informações sobre como criar uma conta de serviço, consulte Criar uma conta de serviço.
No Console do Google Cloud, conceda à conta de serviço os papéis do IAM necessários para acessar a funcionalidade da API. Para entender o requisito da função para APIs do Google Cloud, consulte a documentação da API individual e siga o princípio do menor privilégio. Para mais informações sobre papéis predefinidos específicos da API, consulte Encontrar papéis do IAM para APIs do Google Cloud.
Se você criou a conta de serviço em um projeto diferente daquele que contém as APIs do Google Cloud que pretende consumir usando o SDK, anote o nome da conta de serviço. Você especifica o nome ao adicionar a conta de serviço a esse projeto. Para mais informações, consulte Adicionar a conta de serviço ao projeto do Google Cloud.
Adicionar a conta de serviço ao projeto do Google Cloud
Se você criou a conta de serviço do ABAP SDK for Google Cloud em um projeto diferente do projeto que contém as APIs do Google Cloud que você planeja consumir usando o SDK, será necessário adicionar a conta de serviço para o projeto do Google Cloud que contém as APIs do Google Cloud.
Se você criou a conta de serviço no mesmo projeto que contém as APIs do Google Cloud, pule esta etapa.
Para adicionar uma conta de serviço ao projeto do Google Cloud que contém as APIs do Google Cloud, execute as seguintes etapas:
No console do Google Cloud, abra a página de permissões do IAM.
Confirme se o nome do projeto que contém as APIs do Google Cloud de destino é exibido próximo à parte superior da página. Exemplo:
Permissões do projeto "
PROJECT_NAME
"Caso contrário, mude de projeto.
Na página do IAM, clique em
Conceder acesso. A caixa de diálogo Conceder acesso a "PROJECT_NAME
" será aberta.Na caixa de diálogo Conceder acesso a "
PROJECT_NAME
", siga estas etapas:- No campo Novos principais, especifique o nome da conta de serviço.
No campo Selecionar uma função, especifique uma função relevante. Por exemplo, no Pub/Sub, para modificar tópicos e assinaturas, além de acessar para publicar e consumir mensagens, é possível especificar o papel Editor do Pub/Sub (
roles/pubsub.editor
).Para mais detalhes sobre os papéis predefinidos específicos da API, consulte Referência básica e predefinida dos papéis do IAM.
Adicione papéis conforme necessário para o uso da API. Implemente as práticas recomendadas do Google aplicando o princípio do privilégio mínimo.
Clique em Salvar. A conta de serviço aparece na lista de principais do projeto na página IAM.
A conta de serviço agora pode ser usada para acessar as APIs do Google Cloud neste projeto.
Configurar conexão HTTPS
O servidor de aplicativos SAP é necessário para se conectar às APIs do Google Cloud por HTTPS.
No host SAP, confirme se as regras de firewall ou proxies estão configurados para permitir tráfego de saída da porta HTTPS para as APIs do Google Cloud necessárias.
Especificamente, seu sistema SAP precisa ser capaz de acessar os seguintes endpoints da API:
https://iamcredentials.googleapis.com
- Endpoints para as APIs que você quer consumir usando o SDK.
Criar configurações do SAP
Para a autenticação baseada em JWT, crie as configurações SAP necessárias.
Especificar as configurações de acesso na tabela de chaves do cliente
Para especificar as configurações de acesso, siga estas etapas:
Na GUI do SAP, execute o código de transação
/GOOG/SDK_IMG
.Como alternativa, execute o código da transação
SPRO
e clique em IMG de referência do SAP.Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar chave do cliente.
Clique em Novas entradas.
Insira valores nos campos a seguir:
Campo Descrição Nome da chave do Google Cloud Especifique um nome da configuração da chave do cliente. Nome da conta de serviço do Google Cloud Especifique o nome da conta de serviço, no formato de endereço de e-mail, que foi criado para o ABAP SDK for Google Cloud na etapa Criar uma conta de serviço. Por exemplo:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Escopo do Google Cloud Especifique o escopo de acesso, https://www.googleapis.com/auth/cloud-platform
.ID do projeto Especifique o ID do projeto do Google Cloud que contém suas APIs de destino. Nome do comando Deixe esse campo em branco. Classe de autorização Especifique a classe de autorização, /GOOG/CL_AUTH_JWT
.Campo de autorização Deixe esse campo em branco. Token de atualização em segundos Deixe esse campo em branco. Parâmetro de autorização 1 Especifique o nome do aplicativo SSF criado na seção Crie um novo aplicativo Secure Store and Forward (SSF). Salve a nova entrada.
Criar novos destinos de RFC
Crie destinos RFC para a API IAM e outras APIs que você planeja consumir usando o ABAP SDK for Google Cloud, por exemplo, a API Pub/Sub v1.
Nome do destino do RFC | Observações |
---|---|
ZGOOG_IAMCREDENTIALS |
Este destino do RFC é destinado à API do IAM. |
ZGOOG_OAUTH2_TOKEN |
Este destino da RFC é destinado ao endpoint do Google Cloud para autenticação baseada em token. |
ZGOOG_PUBSUB_V1 |
Este destino RFC segmenta a API Pub/Sub. |
Para informações sobre como criar destinos de RFC, consulte Destinos de RFC.
Especificar destinos RFC na tabela de mapeamento de serviço
Na tabela de mapeamento de serviços, especifique os destinos RFC para a API IAM e outras APIs que você planeja consumir usando o SDK ABAP para Google Cloud.
Para especificar os destinos de RFC, siga estas etapas:
Na GUI do SAP, execute o código de transação
/GOOG/SDK_IMG
.Como alternativa, execute o código da transação
SPRO
e clique em IMG de referência do SAP.Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.
Clique em Novas entradas.
Especifique destinos RFC para a API IAM e outras APIs, por exemplo:
Nome Nome do serviço Destino do RFC Nome da chave do Google Cloud iamcredentials:v1
ZGOOG_IAMCREDENTIALS
Nome da chave do Google Cloud googleapis.com/oauth2
ZGOOG_OAUTH2_TOKEN
Nome da chave do Google Cloud pubsub.googleapis.com
ZGOOG_PUBSUB_V1
Salve a nova entrada.
Validar a configuração da autenticação
Para validar a configuração da autenticação, execute as seguintes etapas:
Na GUI do SAP, execute o código de transação
/GOOG/SDK_IMG
.Como alternativa, execute o código da transação
SPRO
e clique em IMG de referência do SAP.Clique em ABAP SDK for Google Cloud > Utilitários > Validar configuração de autenticação.
Insira o nome da chave do cliente.
Clique em Executar para verificar se o fluxo geral foi configurado.
Uma marca de seleção verde na coluna Result indica que todas as etapas de configuração foram concluídas com êxito.
Receber suporte
Se você precisar de ajuda para resolver problemas com o ABAP SDK for Google Cloud, faça o seguinte:
Consulte o guia de solução de problemas do ABAP SDK for Google Cloud.
Faça suas perguntas e discuta o ABAP SDK for Google Cloud com a comunidade nos Fóruns do Cloud.
Colete todas as informações de diagnóstico disponíveis e entre em contato com o Cloud Customer Care. Para mais informações sobre como entrar em contato com o atendimento ao cliente, consulte Como receber suporte para o SAP no Google Cloud.