Autenticar usando chaves de API

Neste documento, mostramos como configurar a autenticação para acessar as APIs do Google Cloud usando chaves de API. Apenas algumas APIs do Google Cloud usam chaves de API para autenticação, por exemplo, a Plataforma Google Maps. Leia a documentação de autenticação do serviço ou da API que você quer usar para determinar se é compatível com chaves de API. Independentemente de onde seu sistema SAP esteja hospedado, é possível usar chaves de API para autenticação, desde que a API que você quer usar seja compatível com chaves de API.

Para autenticar na API Google Cloud usando chaves de API, use um dos seguintes métodos:

Autenticar usando as chaves de API armazenadas no SAP SSF

As etapas de configuração de nível alto são as seguintes:

crie uma chave de API

Para autenticação usando a chave de API, você precisa criar uma chave de API. Uma string da chave de API é uma string criptografada. Por exemplo, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. O ABAP SDK for Google Cloud usa a string da chave de API na solicitação HTTP para autenticar com segurança ao chamar uma API do Google Cloud.

O Google Cloud oferece várias maneiras de criar chaves de API.

Para criar chaves de API usando o console do Google Cloud, siga estas etapas:

  1. No console do Google Cloud, acesse a página Credenciais:

    Ir para Credenciais

  2. Clique em Criar credenciais e, em seguida, selecione a chave de API no menu.

    • A caixa de diálogo Chave de API criada exibe a string da chave de API. Copie a string da chave e guarde-a com segurança. Você precisa dessa chave de API para configurar a autenticação no Google Cloud.

    • Por padrão, as chaves de API não têm restrições. Recomendamos que você restrinja as chaves de API selecionando as APIs em que essa chave pode ser usada. Para mais informações sobre como adicionar restrições de API, consulte Adicionar restrições de API.

Armazenar a chave de API no SSF

O ABAP SDK for Google Cloud oferece uma opção para armazenar chaves de API com segurança usando o mecanismo SAP Secure Store and Forward (SSF).

Usando a opção SSF, é possível armazenar a chave de API em um formato criptografado na tabela /GOOG/APIKEY_BIN. Quando uma API é chamada, a chave de API é recuperada da tabela /GOOG/APIKEY_BIN, descriptografada e anexada ao URI do endpoint da API.

Por motivos de segurança, não é possível visualizar o conteúdo de /GOOG/APIKEY_BIN usando ferramentas padrão, transações como SE16, SE16N ou SE11.

Pré-requisitos

Para autenticação usando a chave de API armazenada no SAP SSF, você precisa ter a versão 8.5 e mais recentes da biblioteca criptográfica do SAP instalada no sistema SAP. Para mais informações sobre a SAP Cryptographic Library, consulte 1848999 - Nota central para CommonCryptoLib 8 (SAPCRYPTOLIB) e 397175 - SAP Cryptographic software - control export.

Para verificar a versão da biblioteca criptográfica do SAP, siga estas etapas:

  1. Na GUI do SAP, insira o código da transação STRUST.
  2. Acesse o menu Environment e clique em Display SSF Version.

Configurar o aplicativo SSF

Na tabela SSFAPPLIC, crie um novo aplicativo SSF ZG_APK que criptografa a chave de API. ZG_APK é o nome padrão do aplicativo SSF.

Como alternativa, você pode criar um aplicativo SSF com o nome que preferir ou usar um aplicativo SSF atual com um nome diferente. Se você quiser usar um aplicativo SSF diferente para criptografia, configure o nome do aplicativo SSF em Authorization Parameter 1 da tabela de chave do cliente.

Para criar uma nova entrada na tabela SSFAPPLIC, siga estas etapas:

  1. Na GUI do SAP, insira o código da transação SE16.
  2. No campo Nome da tabela, insira SSFAPPLIC e crie uma nova entrada.
  3. No campo APPLIC, digite ZG_APK.
  4. Especifique valores nos campos a seguir.

    Campo Valor
    APPLIC ZG_APK
    B_TOOLKIT Selecione a sinalização.
    B_FORMAT Selecione a sinalização.
    B_PAB Selecione a sinalização.
    B_PROFID Selecione a sinalização.
    B_PROFILE Selecione a sinalização.
    B_HASHALG Deixe esse campo em branco.
    B_ENCRALG Deixe esse campo em branco.
    B_INCCERTS Deixe esse campo em branco.
    B_DETACHED Deixe esse campo em branco.
    B_ASKPWD Deixe esse campo em branco.
    B_DISTRIB Selecione a sinalização.
    DESCRIPT API Key Encryption for GCP
  5. Salve a nova entrada.

Criar parâmetros SSF
  1. Na GUI do SAP, insira o código da transação SM30.

  2. Abra a visualização VSSFARGS.

  3. Para o aplicativo ZG_APK (API Key Encryption for GCP), crie uma nova entrada. Os parâmetros SSF específicos do aplicativo são preenchidos automaticamente.

  4. Salve a nova entrada.

Criar um ambiente de segurança pessoal (PSE)

  1. Na GUI do SAP, insira o código da transação STRUST.

  2. No nó SSF API Key Encryption for GCP, clique com o botão direito do mouse e selecione Create.

  3. No campo Algoritmo, selecione RSA. Deixe outros campos com valores padrão preenchidos pelo sistema.

  4. Salve a nova entrada.

Armazenar a chave de API

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar chave de API (usando SSF).

  3. Em Nome da chave do Google, insira o nome da configuração da chave do cliente.

  4. No campo Chave de API, insira a chave que você criou anteriormente em Criar uma chave de API.

  5. Selecione Salvar.

  6. Clique em Executar para armazenar a chave de API.

Configurar chave do cliente

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar chave do cliente.

  3. Clique em Novas entradas.

  4. 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. Por exemplo, DEMO_API_KEY.
    Nome da conta de serviço do Google Cloud Deixe esse campo em branco.
    Escopo do Google Cloud Especifique o escopo de acesso à API, 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_API_KEY_SSF.
    Armazenamento de tokens em cache

    A sinalização que determina se os tokens de acesso recuperados do Google Cloud são armazenados em cache.

    Recomendamos que você ative o armazenamento em cache do token depois de concluir a configuração e o teste da sua conexão com o Google Cloud. Para mais informações sobre o armazenamento do token em cache, consulte Ativar o armazenamento do token em cache.

    Token de atualização em segundos Especifica o tempo (em segundos) em que um token de acesso expira e precisa ser atualizado. O valor padrão é 3500.
    Parâmetro de autorização 1 Se o nome do aplicativo SSF for diferente de ZG_APK, especifique o nome do aplicativo SSF.
    Parâmetro de autorização 2 Deixe esse campo em branco.
  5. Salve a nova entrada.

Criar novos destinos de RFC

Para as APIs que você planeja consumir usando o ABAP SDK for Google Cloud, crie novos destinos de RFC.

Para informações sobre como criar destinos de RFC, consulte Destinos de RFC.

Se os destinos de RFC não forem criados e configurados, o ABAP SDK for Google Cloud usará os endpoints de API padrão mantidos em stubs de cliente de API individuais.

Configurar o mapeamento de serviços

Configure a tabela de mapeamento de serviço para as APIs que você planeja consumir usando o ABAP SDK for Google Cloud.

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.

  3. Clique em Novas entradas.

  4. Especifique destinos RFC para as APIs que você planeja usar, por exemplo, addressvalidation v1. Se você pretende consumir outras APIs, especifique destinos RFC para elas.

    Nome Nome do serviço Destino do RFC
    Nome da chave do Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Salve a nova entrada.

Excluir uma chave de API

Se uma chave de API não for mais usada, exclua-a do sistema SAP.

Para excluir uma chave de API, siga estas etapas:

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar chave de API (usando SSF).

  3. No campo Google Key Name, digite o nome da configuração da chave do cliente.

  4. Selecione Excluir.

  5. Clique em Executar para excluir a chave de API

Autenticar usando a chave de API armazenada no Secret Manager

As etapas de configuração de nível alto são as seguintes:

crie uma chave de API

Para autenticação usando a chave de API, você precisa criar uma chave de API. Uma string da chave de API é uma string criptografada. Por exemplo, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. O ABAP SDK for Google Cloud usa a string da chave de API na solicitação HTTP para autenticar com segurança ao chamar uma API do Google Cloud.

O Google Cloud oferece várias maneiras de criar chaves de API.

Para criar chaves de API usando o console do Google Cloud, siga estas etapas:

  1. No console do Google Cloud, acesse a página Credenciais:

    Ir para Credenciais

  2. Clique em Criar credenciais e, em seguida, selecione a chave de API no menu.

    • A caixa de diálogo Chave de API criada exibe a string da chave de API. Copie a string da chave e guarde-a com segurança. Você precisa dessa chave de API para configurar a autenticação no Google Cloud.

    • Por padrão, as chaves de API não têm restrições. Recomendamos que você restrinja as chaves de API selecionando as APIs em que essa chave pode ser usada. Para mais informações sobre como adicionar restrições de API, consulte Adicionar restrições de API.

Criar um secret e armazenar a chave de API

O ABAP SDK for Google Cloud oferece uma opção para armazenar chaves de API com segurança usando o serviço Secret Manager do Google Cloud. Para armazenar as strings de chave de API com segurança, o Secret Manager permite que você siga as práticas recomendadas para usar as chaves de API com segurança.

Para criar um secret e armazenar a chave de API, siga estas etapas:

  1. Ative a API Secret Manager.

    Acessar a biblioteca de APIs

  2. No Console do Google Cloud, crie um secret e armazene a chave de API como a versão mais recente.

    Acessar o Secret Manager

Para informações sobre como criar um secret, consulte Criar um secret.

Por padrão, o ABAP SDK for Google Cloud recupera apenas a versão mais recente de um secret.

Configurar chave do cliente para acesso ao Secret Manager

As APIs do Secret Manager usam tokens para autenticação. Portanto, é necessário configurar a autenticação baseada em token para acessar as APIs do Secret Manager, dependendo da implantação do SAP.

Use um dos seguintes métodos para configurar a autenticação baseada em token para acessar as APIs do Secret Manager:

Anote o nome da chave do cliente que você criou para acesso do Secret Manager.

Configurar chave do cliente para o secret

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar chave do cliente.

  3. Clique em Novas entradas.

  4. 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. Por exemplo, DEMO_API_KEY.
    Nome da conta de serviço do Google Cloud Deixe esse campo em branco.
    Escopo do Google Cloud Especifique o escopo de acesso à API, 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 /GOOG/CL_AUTH_API_KEY_SM.
    Armazenamento de tokens em cache

    A sinalização que determina se os tokens de acesso recuperados do Google Cloud são armazenados em cache.

    Recomendamos que você ative o armazenamento em cache do token depois de concluir a configuração e o teste da sua conexão com o Google Cloud. Para mais informações sobre o armazenamento do token em cache, consulte Ativar o armazenamento do token em cache.

    Token de atualização em segundos Especifica o tempo (em segundos) em que um token de acesso expira e precisa ser atualizado. O valor padrão é 3500.
    Parâmetro de autorização 1 Especifique o nome da chave do cliente que você criou para acesso do Secret Manager. Por exemplo, CLIENT_KEY_SM.
    Parâmetro de autorização 2 Especifique o nome do secret, que tem a chave de API armazenada. Por exemplo, TEST_SECRET.
  5. Salve a nova entrada.

Criar novos destinos de RFC

Para as APIs que você planeja consumir usando o ABAP SDK for Google Cloud, crie novos destinos de RFC.

Para informações sobre como criar destinos de RFC, consulte Destinos de RFC.

Se os destinos de RFC não forem criados e configurados, o ABAP SDK for Google Cloud usará os endpoints de API padrão mantidos em stubs de cliente de API individuais.

Configurar o mapeamento de serviços

Configure a tabela de mapeamento de serviço para as APIs que você planeja consumir usando o ABAP SDK for Google Cloud.

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Configurações básicas > Configurar mapeamento de serviços.

  3. Clique em Novas entradas.

  4. Especifique destinos RFC para as APIs que você planeja usar, por exemplo, addressvalidation v1. Se você pretende consumir outras APIs, especifique destinos RFC para elas.

    Nome Nome do serviço Destino do RFC
    Nome da chave do Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Salve a nova entrada.

Validar a recuperação de chave de API do Secret Manager

Para validar a recuperação de chave de API do Secret Manager, execute as seguintes etapas:

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Utilitários > Validar a recuperação de chave de API (usando o Secret Manager).
  3. Especifique o nome da chave do cliente.
  4. Clique em Executar para verificar se a chave da API foi recuperada do Secret Manager.

Validar a configuração da autenticação

Para validar a configuração da autenticação, execute as seguintes etapas:

  1. 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.

  2. Clique em ABAP SDK for Google Cloud > Utilitários > Validar configuração de autenticação.

  3. Insira o nome da chave do cliente.

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