本文件說明如何設定驗證機制,以便在 SAP 系統託管於 Compute Engine VM 執行個體時存取 Google CloudAPI。
設定驗證方法
如要設定驗證程序,請執行下列步驟:
在 Google Cloud 控制台中,為需要驗證的 Google Cloud 專案啟用 IAM 服務帳戶憑證 API。除了 IAM 服務帳戶憑證 API 外,您還需要啟用打算使用 SDK 存取的任何其他支援的 API。
如要瞭解如何啟用 Google Cloud API,請參閱「啟用 API」。
在 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。
如需操作說明,請參閱「建立服務帳戶」。
授予服務帳戶必要的 IAM 角色,以便存取 API 功能。如要瞭解 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」>「基本設定」>「設定用戶端金鑰」。
按一下「新增項目」。
在下列欄位中輸入值:
欄位 說明 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 請將這個欄位留空。 儲存新項目。
在 SAP 系統中,針對您打算使用 Google Cloud ABAP SDK 取用 API 時,建立新的 RFC 目的地。
如要瞭解如何建立 RFC 目的地,請參閱「RFC 目的地」。
在 SAP 系統中,為 IAM API 和其他打算使用 Google Cloud ABAP SDK 的 API 設定服務對應表。
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「設定服務對應」。
按一下「新增項目」。
為 IAM API 和其他 API (例如
Pub/Sub API v1
) 指定 RFC 目的地。名稱 服務名稱 RFC 目的地 Google Cloud 金鑰名稱 iamcredentials.googleapis.com
ZGOOG_IAMCREDENTIALS
Google Cloud 金鑰名稱 pubsub:v1
ZGOOG_PUBSUB_V1
儲存新項目。
在 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。 |
如要設定服務帳戶,請執行下列步驟:
- 在 Google Cloud 包含 SAP 主機 VM 的專案中,將
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」頁面中,按一下「授予存取權」。
系統會開啟「Grant access to "PROJECT_NAME
"」對話方塊。在「新增主體」欄位中,指定服務帳戶名稱。
在「請選取角色」欄位中,指定相關角色。舉例來說,如果您想修改主題和訂閱項目,以及發布和使用訊息,可以指定 Pub/Sub 編輯者 (
roles/pubsub.editor
) 角色。如要進一步瞭解 API 專屬的預先定義角色,請參閱 IAM 基本角色和預先定義角色參考資料。
視 API 使用需求新增其他角色。秉持最低權限原則,實施 Google 建議的最佳做法。
按一下 [儲存]。服務帳戶會顯示在「IAM」頁面中的專案實體清單中。
驗證驗證設定
如要驗證驗證設定,請執行下列步驟:
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「驗證驗證設定」。
輸入用戶端金鑰名稱。
按一下「執行」,檢查是否已成功設定整體流程。
如果「結果」欄顯示綠色勾號,表示已順利完成所有設定步驟。
取得支援
如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作:
在 Cloud 論壇上向社群提問,並討論 ABAP 適用的 Google Cloud SDK。
收集所有可用的診斷資訊,並與 Cloud Customer Care 團隊聯絡。如要瞭解如何與 Customer Care 聯絡,請參閱「取得 SAP 支援 Google Cloud」一文。