Autenticar usando tokens de acesso

Neste documento, mostramos como configurar a autenticação para acessar as APIs do Google Cloud quando o sistema SAP está hospedado em uma instância de VM do Compute Engine.

Configurar a autenticação

Para configurar a autenticação, siga estas etapas:

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

    Acessar a biblioteca de APIs

    Para informações sobre como ativar as APIs do Google Cloud, consulte Como ativar APIs.

  2. No console do Google Cloud, crie uma conta de serviço do IAM para a instância de VM do host.

    Acesse as Contas de serviço

    Para mais informações sobre como criar uma conta de serviço, consulte Criar uma conta de serviço.

  3. Conceda o papel Service Account Token Creator à conta de serviço. Para mais instruções, consulte Conceder um único papel.

  4. Anexe a conta de serviço à instância de VM em que a carga de trabalho SAP está sendo executada. Defina também o escopo de acesso da VM como cloud-platform.

    • Se você especificar a conta de serviço usando o console do Google Cloud, o escopo de acesso da VM será definido automaticamente como cloud-platform.
    • Se você especificar a conta de serviço usando a CLI do Google Cloud ou a API Compute Engine, será necessário definir o escopo de acesso à API como Allow full access to all Cloud APIs.

      Para instruções, consulte Criar uma VM e anexar a conta de serviço.

      Depois de atualizar o escopo, reinicie a VM. Se você tiver várias instâncias de VM para a mesma instalação do SAP, conclua esta etapa em todas elas.

  5. No console do Google Cloud, crie uma conta de serviço de IAM dedicada para acessar as APIs do Google Cloud.

    Acesse as Contas de serviço

    Para mais instruções, consulte Criar uma conta de serviço.

  6. 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 os papéis predefinidos específicos da API, consulte Referência básica e predefinida dos papéis do IAM.

  7. Se você criou a conta de serviço em um projeto diferente daquele que contém as APIs do Google Cloud, execute outras etapas para a configuração da conta de serviço. Para mais informações, consulte Configurar contas de serviço em um ambiente entre projetos.

  8. No sistema SAP, configure a 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, TEST_PUBSUB.
      Nome da conta de serviço do Google Cloud

      Especifique o nome da conta de serviço a que você concedeu permissões para acessar as APIs do Google Cloud. Por exemplo, sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com.

      Se a VM do host do sistema SAP que contém o SDK estiver em um projeto diferente daquele com as APIs do Google Cloud ativadas, especifique a conta de serviço usada para acessar as APIs do Google Cloud. Para mais informações, consulte Configurar contas de serviço em um ambiente entre projetos.

      Escopo do Google Cloud Especifique o escopo de acesso à API, https://www.googleapis.com/auth/cloud-platform.
      Identificador de projeto do Google Cloud 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_GOOGLE.
      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 O tempo (em segundos) que um token de acesso expira e precisa ser atualizado. O valor padrão é 3500.
      Parâmetro de autorização 1 Deixe esse campo em branco.
      Parâmetro de autorização 2 Deixe esse campo em branco.
    5. Salve a nova entrada.

  9. No sistema SAP, crie novos destinos de RFC para as APIs que você planeja consumir usando o ABAP SDK for Google Cloud.

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

  10. No sistema SAP, configure a tabela de mapeamento de serviço para a API IAM e outras 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 a API IAM e outras APIs, por exemplo, Pub/Sub API v1.

      Nome Nome do serviço Destino do RFC
      Nome da chave do Google Cloud iamcredentials.googleapis.com ZGOOG_IAMCREDENTIALS
      Nome da chave do Google Cloud pubsub:v1 ZGOOG_PUBSUB_V1
    5. Salve a nova entrada.

  11. No sistema SAP, valide a configuração de autenticação. Para mais informações, consulte Validar a configuração da autenticação.

Configurar contas de serviço em um ambiente entre projetos

A VM do host do sistema SAP, que contém o SDK, pode estar em um projeto do Google Cloud diferente daquele com as APIs do Google Cloud ativadas. Nesse caso, você precisa configurar contas de serviço com os papéis do IAM necessários para que o SDK possa acessar as APIs do projeto diferente.

A tabela a seguir mostra um exemplo de configuração da conta de serviço para acesso à API entre projetos.

Ambiente VM do host SAP APIs Google Cloud
Projeto do Google Cloud project-sap-host project-google-apis
Conta de serviço atribuída à VM do host SAP sa-sap-host@project-sap-host.iam.gserviceaccount.com N/A
Conta de serviço para acessar APIs do Google Cloud sa-google-apis@project-sap-host.iam.gserviceaccount.com N/A
Papéis do IAM para a conta de serviço No projeto project-sap-host, conceda à conta de serviço o papel Criador de token da conta de serviço sa-sap-host@project-sap-host.iam.gserviceaccount.com. No projeto project-google-apis, adicione a conta de serviço sa-google-apis@project-sap-host.iam.gserviceaccount.com como princípio e conceda a ela os papéis apropriados para se conectar às APIs do Google Cloud.

Para configurar as contas de serviço, siga estas etapas:

  1. No projeto do Google Cloud que contém a VM do host da SAP, conceda à conta de serviço dessa VM o papel Service Account Token Creator. Para mais informações sobre as etapas, consulte Conceder um único papel.
  2. No projeto do Google Cloud que contém a VM do host SAP, crie uma conta de serviço. Anote o nome da conta de serviço. Você especificará esse nome quando for adicionar a conta de serviço como princípio ao outro projeto que contém as APIs do Google Cloud.
  3. No outro projeto que contém as APIs do Google Cloud, adicione a conta de serviço como princípio e conceda papéis apropriados para se conectar às APIs do Google Cloud. Para adicionar uma conta de serviço ao projeto do Google Cloud que contém as APIs do Google Cloud, siga estas etapas:

    1. No console do Google Cloud, acesse a página de permissões do IAM.

      Acessar as permissões do IAM

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

    3. Na página do IAM, clique em Conceder acesso. A caixa de diálogo Conceder acesso a "PROJECT_NAME" será aberta.

    4. No campo Novos principais, especifique o nome da conta de serviço.

    5. 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 informações sobre os papéis predefinidos específicos da API, consulte Referência básica e predefinida dos papéis do IAM.

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

    7. Clique em Save. A conta de serviço aparece na lista de principais do projeto na página IAM.

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.

Receba ajuda

Se você precisar de ajuda para resolver problemas com o ABAP SDK for Google Cloud, faça o seguinte: