本文說明如何設定驗證,以便在 SAP 系統託管於 Compute Engine VM 執行個體時存取 Google CloudAPI。
設定驗證方法
如要設定驗證,請按照下列步驟操作:
在 Google Cloud 控制台中,為需要驗證的 Google Cloud 專案啟用 IAM 服務帳戶憑證 API。除了 IAM 服務帳戶憑證 API 之外,您還需要啟用打算使用 SDK 存取的任何其他支援的 API。
如要瞭解如何啟用 API,請參閱「啟用 API」。 Google Cloud
在 Google Cloud 控制台中,為主機 VM 執行個體建立 IAM 服務帳戶。
如要瞭解如何建立服務帳戶,請參閱「建立服務帳戶」。
將
Service Account Token Creator
角色授予服務帳戶。如需操作說明,請參閱「授予單一角色」。將服務帳戶附加至執行 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 執行個體上完成這個步驟。
- 如果您使用 Google Cloud 控制台指定服務帳戶,VM 的存取權範圍會自動預設為
在 Google Cloud 控制台中,建立專屬的 IAM 服務帳戶,以存取 Google Cloud API。
如需操作說明,請參閱「建立服務帳戶」。
授予服務帳戶存取 API 功能所需的 IAM 角色。如要瞭解 Google Cloud API 的角色需求,請參閱個別 API 說明文件,並遵循最低權限原則。如要進一步瞭解 API 專用的預先定義角色,請參閱「尋找 API 適用的 IAM 角色 Google Cloud 」。
如果您在與 Google Cloud API 所在專案不同的專案中建立服務帳戶,則必須執行額外步驟來設定服務帳戶。詳情請參閱「在跨專案環境中設定服務帳戶」。
在 SAP 系統中設定用戶端金鑰:
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」「Basic Settings」「Configure Client Key」。
按一下「New Entries」。
在下列欄位中輸入值:
欄位 說明 Google Cloud 金鑰名稱 指定用戶端金鑰設定的名稱。 例如 TEST_PUBSUB
。Google Cloud 服務帳戶名稱 指定您已授予存取 Google Cloud API 權限的服務帳戶名稱。例如:
sap-example-svc-acct@example-project-123456.
。如果含有 SDK 的 SAP 系統主機 VM 與啟用 Google Cloud API 的 VM 位於不同專案,請指定用於存取 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 請將這個欄位留空。 儲存新項目。
在 SAP 系統中,為您打算使用 ABAP SDK for Google Cloud 執行的 API 建立新的 RFC 目的地。
如要瞭解如何建立 RFC 目的地,請參閱「RFC 目的地」。
在 SAP 系統中,為 IAM API 和其他打算使用 ABAP SDK for Google Cloud 執行的 API,設定服務對應表。
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「Basic Settings」>「Configure Service Mapping」。
按一下「New Entries」。
為 IAM API 和其他 API 指定 RFC 目的地,例如
Pub/Sub API v1
。名稱 服務名稱 RFC 目的地 Google Cloud 金鑰名稱 iamcredentials.googleapis.com
ZGOOG_IAMCREDENTIALS
Google Cloud 金鑰名稱 pubsub:v1
ZGOOG_PUBSUB_V1
儲存新項目。
在 SAP 系統中驗證驗證設定。 詳情請參閱「驗證驗證設定」。
在跨專案環境中設定服務帳戶
SAP 系統的主機 VM (包含 SDK) 可以與啟用 API 的專案不同。Google Cloud Google Cloud 在這種情況下,您必須設定具有必要 IAM 角色的服務帳戶,SDK 才能存取不同專案的 API。
下表顯示跨專案 API 存取的服務帳戶設定範例。
環境 | SAP 主機 VM | Google Cloud API |
---|---|---|
Google Cloud 專案 | project-sap-host |
project-google-apis |
指派給 SAP 主機 VM 的服務帳戶 | sa-sap-host@project-sap-host. |
不適用 |
用於存取 API 的服務帳戶 Google Cloud | sa-google-apis@project-sap-host. |
不適用 |
服務帳戶的 IAM 角色 | 在專案 project-sap-host 中,將服務帳戶憑證建立者角色授予服務帳戶 sa-sap-host@project-sap-host. 。 |
在專案 project-google-apis 中,將服務帳戶「sa-google-apis@project-sap-host. 」新增為主體,並授予服務帳戶適當的角色,以便連線至 Google Cloud API。 |
如要設定服務帳戶,請完成下列步驟:
- 在包含 SAP 主機 VM 的 Google Cloud 專案中,將
Service Account Token Creator
角色授予 SAP 主機 VM 的服務帳戶。如要進一步瞭解相關步驟,請參閱「授予單一角色」。 - 在包含 SAP 主機 VM 的 Google Cloud 專案中,建立服務帳戶。記下服務帳戶名稱。將服務帳戶新增為含有 Google Cloud API 的其他專案主體時,您會指定這個名稱。
在包含 Google Cloud API 的其他專案中,將服務帳戶新增為主體,並授予適當角色,以連線至 Google Cloud API。如要將服務帳戶新增至包含Google Cloud API 的專案,請按照下列步驟操作: Google Cloud
前往 Google Cloud 控制台的「IAM 權限」頁面:
確認頁面頂端附近顯示的專案名稱,是否為包含目標 Google Cloud API 的專案。例如:
專案「
PROJECT_NAME
」的權限如果不是,請切換專案。
在「IAM」頁面中,按一下「授予存取權」
。系統會開啟「授予『PROJECT_NAME
』的存取權」對話方塊。在「新增主體」欄位中,指定服務帳戶名稱。
在「Select a role」(請選擇角色) 欄位中,指定相關角色。 舉例來說,如要修改 Pub/Sub 的主題和訂閱項目,以及發布和調用訊息,您可以指定「Pub/Sub 編輯者」角色 (
roles/pubsub.editor
)。如要進一步瞭解 API 專用的預先定義角色,請參閱 IAM 基本和預先定義角色參考資料。
視 API 用途新增其他角色。 採用 Google 建議的最佳做法,並遵循最低權限原則。
按一下 [儲存]。服務帳戶會顯示在「IAM」IAM頁面的專案主體清單中。
驗證驗證設定
如要驗證驗證設定是否就緒,請按照下列步驟操作:
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「Utilities」>「Validate Authentication Configuration」。
輸入用戶端金鑰名稱。
按一下 [Execute] (執行)。
「結果」欄中的綠色勾號表示所有設定步驟都已順利完成。
取得支援
如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作:
在 Cloud 論壇上向社群提問,並討論 ABAP SDK for Google Cloud。
收集所有可用的診斷資訊,然後與 Cloud Customer Care 團隊聯絡。如要瞭解如何與 Customer Care 聯絡,請參閱「取得 SAP on Google Cloud支援服務」。