使用存取權杖進行驗證

本文件說明如何設定驗證機制,以便在 SAP 系統託管於 Compute Engine VM 執行個體時存取 Google CloudAPI。

設定驗證方法

如要設定驗證程序,請執行下列步驟:

  1. 在 Google Cloud 控制台中,為需要驗證的 Google Cloud 專案啟用 IAM 服務帳戶憑證 API。除了 IAM 服務帳戶憑證 API 外,您還需要啟用打算使用 SDK 存取的任何其他支援的 API

    前往 API 程式庫

    如要瞭解如何啟用 Google Cloud API,請參閱「啟用 API」。

  2. 在 Google Cloud 控制台中,為主機 VM 執行個體建立 IAM 服務帳戶。

    前往「Service accounts」(服務帳戶)

    如要瞭解如何建立服務帳戶,請參閱「建立服務帳戶」。

  3. Service Account Token Creator 角色授予服務帳戶。如需操作說明,請參閱「授予單一角色」。

  4. 將服務帳戶連結至執行 SAP 工作負載的 VM 執行個體。此外,請將 VM 的存取範圍設為 cloud-platform

    • 如果您使用 Google Cloud 主控台指定服務帳戶,VM 的存取權範圍就會自動設為 cloud-platform 範圍。
    • 如果您使用 Google Cloud CLI 或 Compute Engine API 指定服務帳戶,則需要將 API 存取範圍設為 Allow full access to all Cloud APIs

      如需操作說明,請參閱「建立 VM 並附加服務帳戶」一文。

      更新範圍後,請重新啟動 VM。如果您為相同 SAP 安裝作業建立多個 VM 執行個體,則必須在所有 VM 執行個體上完成這個步驟。

  5. 在 Google Cloud 控制台中建立專屬的 IAM 服務帳戶,以便存取 Google Cloud API。

    前往「Service accounts」(服務帳戶)

    如需操作說明,請參閱「建立服務帳戶」。

  6. 授予服務帳戶必要的 IAM 角色,以便存取 API 功能。如要瞭解 Google Cloud API 的角色需求,請參閱個別 API 說明文件,並遵循最低權限原則。如要進一步瞭解 API 專屬的預先定義角色,請參閱「找出 API 的 IAM 角色 Google Cloud 」。

  7. 如果您在包含 Google Cloud API 的專案以外的專案中建立服務帳戶,則必須執行服務帳戶設定的其他步驟。詳情請參閱「在跨專案環境中設定服務帳戶」。

  8. 在 SAP 系統中設定用戶端金鑰:

    1. 在 SAP GUI 中執行交易代碼 /GOOG/SDK_IMG

      或者,您也可以執行交易代碼 SPRO,然後按一下「SAP Reference IMG」

    2. 依序點選「ABAP SDK for Google Cloud」>「基本設定」>「設定用戶端金鑰」

    3. 按一下「新增項目」

    4. 在下列欄位中輸入值:

      欄位 說明
      Google Cloud 金鑰名稱 指定用戶端金鑰設定的名稱。例如 TEST_PUBSUB
      Google Cloud 服務帳戶名稱

      指定您已授予存取 Google Cloud API 權限的服務帳戶名稱。例如:sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com

      如果包含 SDK 的 SAP 系統主機 VM 位於已啟用 Google Cloud API 的專案之外,請指定用於存取 Google Cloud API 的服務帳戶。詳情請參閱「在跨專案環境中設定服務帳戶」。

      Google Cloud 範圍 指定 API 存取範圍 https://www.googleapis.com/auth/cloud-platform
      Google Cloud 專案 ID 指定含有目標 API 的 Google Cloud 專案 ID。
      指令名稱 請將這個欄位留空。
      授權類別 指定授權類別 /GOOG/CL_AUTH_GOOGLE
      權杖快取

      此標記可決定是否要將從 Google Cloud 擷取的存取權權杖儲存在快取中。

      建議您在完成設定並測試與 Google Cloud的連線後,啟用權杖快取功能。如要進一步瞭解權杖快取,請參閱「啟用權杖快取」。

      權杖重新整理秒數 存取權憑證到期前必須重新整理的秒數。預設值為 3500
      授權參數 1 請將這個欄位留空。
      授權參數 2 請將這個欄位留空。
    5. 儲存新項目。

  9. 在 SAP 系統中,針對您打算使用 Google Cloud ABAP SDK 取用 API 時,建立新的 RFC 目的地。

    如要瞭解如何建立 RFC 目的地,請參閱「RFC 目的地」。

  10. 在 SAP 系統中,為 IAM API 和其他打算使用 Google Cloud ABAP SDK 的 API 設定服務對應表。

    1. 在 SAP GUI 中執行交易代碼 /GOOG/SDK_IMG

      或者,您也可以執行交易代碼 SPRO,然後按一下「SAP Reference IMG」

    2. 依序點選「ABAP SDK for Google Cloud」>「設定服務對應」

    3. 按一下「新增項目」

    4. 為 IAM API 和其他 API (例如 Pub/Sub API v1) 指定 RFC 目的地。

      名稱 服務名稱 RFC 目的地
      Google Cloud 金鑰名稱 iamcredentials.googleapis.com ZGOOG_IAMCREDENTIALS
      Google Cloud 金鑰名稱 pubsub:v1 ZGOOG_PUBSUB_V1
    5. 儲存新項目。

  11. 在 SAP 系統中驗證驗證設定。詳情請參閱「驗證驗證設定」。

在跨專案環境中設定服務帳戶

包含 SDK 的 SAP 系統主機 VM 可以位於已啟用 Google Cloud API 的Google Cloud 專案之外。在這種情況下,您必須設定服務帳戶並指派必要的 IAM 角色,讓 SDK 能夠存取其他專案的 API。

下表列出跨專案 API 存取權的服務帳戶設定範例。

環境 SAP 主機 VM Google Cloud API
Google Cloud project project-sap-host project-google-apis
指派給 SAP 主機 VM 的服務帳戶 sa-sap-host@project-sap-host.iam.gserviceaccount.com 不適用
用於存取 API 的服務帳戶 Google Cloud sa-google-apis@project-sap-host.iam.gserviceaccount.com 不適用
服務帳戶的 IAM 角色 在專案 project-sap-host 中,將「服務帳戶權杖建立者」角色授予服務帳戶 sa-sap-host@project-sap-host.iam.gserviceaccount.com 在專案 project-google-apis 中,將服務帳戶 sa-google-apis@project-sap-host.iam.gserviceaccount.com 新增為原則,並授予服務帳戶適當的角色,以便連線至 Google Cloud API。

如要設定服務帳戶,請執行下列步驟:

  1. 在 Google Cloud 包含 SAP 主機 VM 的專案中,將 Service Account Token Creator 角色授予 SAP 主機 VM 的服務帳戶。如要進一步瞭解這些步驟,請參閱「授予單一角色」。
  2. 在包含 SAP 主機 VM 的 Google Cloud 專案中,建立服務帳戶。請記下服務帳戶名稱。當您將服務帳戶新增為包含 Google Cloud API 的其他專案的擁有者時,請指定這個名稱。
  3. 在包含 Google Cloud API 的其他專案中,將服務帳戶新增為原則,並授予適當的角色,以便連結至 Google Cloud API。如要將服務帳戶新增至包含 Google Cloud API 的Google Cloud 專案,請執行下列步驟:

    1. 在 Google Cloud 控制台中,前往「IAM 權限」頁面:

      前往身分與存取權管理權限

    2. 確認包含目標 Google Cloud API 的專案名稱是否顯示在頁面頂端附近。例如:

      專案「PROJECT_NAME」的權限

      如果不是,請切換專案。

    3. 在「IAM」頁面中,按一下「授予存取權」系統會開啟「Grant access to "PROJECT_NAME"」對話方塊。

    4. 在「新增主體」欄位中,指定服務帳戶名稱。

    5. 在「請選取角色」欄位中,指定相關角色。舉例來說,如果您想修改主題和訂閱項目,以及發布和使用訊息,可以指定 Pub/Sub 編輯者 (roles/pubsub.editor) 角色。

      如要進一步瞭解 API 專屬的預先定義角色,請參閱 IAM 基本角色和預先定義角色參考資料

    6. 視 API 使用需求新增其他角色。秉持最低權限原則,實施 Google 建議的最佳做法。

    7. 按一下 [儲存]。服務帳戶會顯示在「IAM」頁面中的專案實體清單中。

驗證驗證設定

如要驗證驗證設定,請執行下列步驟:

  1. 在 SAP GUI 中執行交易代碼 /GOOG/SDK_IMG

    或者,您也可以執行交易代碼 SPRO,然後按一下「SAP Reference IMG」

  2. 依序點選「ABAP SDK for Google Cloud」>「驗證驗證設定」

  3. 輸入用戶端金鑰名稱。

  4. 按一下「執行」,檢查是否已成功設定整體流程。

    如果「結果」欄顯示綠色勾號,表示已順利完成所有設定步驟。

取得支援

如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作: