本文說明如何設定驗證,以便使用 API 金鑰存取 Google CloudAPI。只有少數 Google Cloud API 會使用 API 金鑰進行驗證,例如 Google 地圖平台。請參閱要使用的服務或 API 的驗證說明文件,確認是否支援 API 金鑰。無論 SAP 系統的代管位置為何,只要您想使用的 API 支援 API 金鑰,就能使用 API 金鑰進行驗證。
如要使用 API 金鑰向 Google Cloud API 進行驗證,請採用下列任一方法:
使用儲存在 SAP SSF 中的 API 金鑰進行驗證
高階設定步驟如下:
建立 API 金鑰
如要使用 API 金鑰進行驗證,您必須建立 API 金鑰。
API 金鑰字串是加密字串,例如 AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe
。
ABAP SDK for Google Cloud 會在 HTTP 要求中使用 API 金鑰字串,以便在呼叫 Google Cloud API 時安全地進行驗證。
Google Cloud 提供多種建立 API 金鑰的方式。
如要使用 Google Cloud 控制台建立 API 金鑰,請按照下列步驟操作:
前往 Google Cloud 控制台的「憑證」頁面:
按一下「建立憑證」,然後從選單中選取「API 金鑰」。
「建立的 API 金鑰」對話方塊會顯示 API 金鑰字串。 複製金鑰字串並妥善保存。您需要這個 API 金鑰,才能設定 Google Cloud的驗證。
根據預設,API 金鑰不受限制。建議您選取可使用這組 API 金鑰的 API,藉此限制 API 金鑰。如要進一步瞭解如何新增 API 限制,請參閱「新增 API 限制」一文。
在 SSF 中儲存 API 金鑰
ABAP SDK for Google Cloud 提供選項,可使用 SAP Secure Store and Forward 機制 (SSF) 安全地儲存 API 金鑰。
使用 SSF 選項時,您可以將 API 金鑰以加密格式儲存在 /GOOG/APIKEY_BIN
表格中。呼叫 API 時,系統會從 /GOOG/APIKEY_BIN
資料表擷取 API 金鑰、解密,並附加至 API 端點 URI。
基於安全考量,您無法使用標準工具 (例如 SE16
、SE16N
或 SE11
等交易) 查看 /GOOG/APIKEY_BIN
的內容。
必要條件
如要使用儲存在 SAP SSF 中的 API 金鑰進行驗證,您必須在 SAP 系統中安裝 8.5 以上版本的 SAP Cryptographic Library。如要進一步瞭解 SAP Cryptographic Library,請參閱「1848999 - Central Note for CommonCryptoLib 8 (SAPCRYPTOLIB)」和「397175 - SAP Cryptographic software - export control」。
如要驗證 SAP Cryptographic Library 的版本,請執行下列步驟:
- 在 SAP GUI 中,輸入交易代碼
STRUST
。 - 前往「環境」選單,然後按一下「顯示 SSF 版本」。
設定 SSF 應用程式
在表格中 SSFAPPLIC
,建立新的 SSF 應用程式 ZG_APK
,用於加密 API 金鑰。ZG_APK
是預設的 SSF 應用程式名稱。
或者,您也可以使用偏好的名稱建立 SSF 應用程式,或使用名稱不同的現有 SSF 應用程式。如要使用其他 SSF 應用程式進行加密,請在用戶端金鑰表格的 Authorization Parameter 1
中設定 SSF 應用程式名稱。
如要在 SSFAPPLIC
表格中建立新項目,請按照下列步驟操作:
- 在 SAP GUI 中,輸入交易代碼
SE16
。 - 在「Table Name」(資料表名稱) 欄位中輸入
SSFAPPLIC
,然後建立新項目。 - 在「
APPLIC
」欄位中輸入ZG_APK
。 在下列欄位中指定值。
欄位 值 APPLIC
ZG_APK
B_TOOLKIT
選取旗標。 B_FORMAT
選取旗標。 B_PAB
選取旗標。 B_PROFID
選取旗標。 B_PROFILE
選取旗標。 B_HASHALG
請將這個欄位留空。 B_ENCRALG
請將這個欄位留空。 B_INCCERTS
請將這個欄位留空。 B_DETACHED
請將這個欄位留空。 B_ASKPWD
請將這個欄位留空。 B_DISTRIB
選取旗標。 DESCRIPT
API Key Encryption for GCP
儲存新項目。
建立 SSF 參數
在 SAP GUI 中,輸入交易代碼
SM30
。開啟檢視畫面
VSSFARGS
。針對應用程式
ZG_APK
(API Key Encryption for GCP
) 建立新項目。系統會自動填入應用程式專屬的 SSF 參數。儲存新項目。
建立個人安全環境 (PSE)
在 SAP GUI 中,輸入交易代碼
STRUST
。在「SSF API Key Encryption for GCP」節點下方,按一下滑鼠右鍵並選取「Create」。
在「演算法」欄位中,選取「
RSA
」。其他欄位則保留系統填入的預設值。儲存新項目。
儲存 API 金鑰
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「Basic Settings」>「Configure API Key (Using SSF)」。
在「Google Key Name」(Google 金鑰名稱) 中,輸入用戶端金鑰設定的名稱。
在「API Key」欄位中,輸入您先前在「建立 API 金鑰」中建立的 API 金鑰。
選取「儲存」。
按一下「執行」即可儲存 API 金鑰。
設定用戶端金鑰
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」「Basic Settings」「Configure Client Key」。
按一下「New Entries」。
在下列欄位中輸入值:
欄位 說明 Google Cloud 金鑰名稱 指定用戶端金鑰設定的名稱。例如 DEMO_API_KEY
。Google Cloud 服務帳戶名稱 請將這個欄位留空。 Google Cloud 範圍 指定 API 存取範圍 https://www.googleapis.com/auth/cloud-platform
。專案 ID 指定包含目標 API 的 Google Cloud 專案 ID。 指令名稱 請將這個欄位留空。 授權類別 指定授權類別 /GOOG/CL_AUTH_API_KEY_SSF
。權杖快取 這個旗標會決定是否要快取從 Google Cloud 擷取的存取權杖。
完成設定並測試與 Google Cloud的連線後,建議您啟用權杖快取。如要進一步瞭解權杖快取,請參閱「啟用權杖快取」。
權杖更新秒數 指定存取權杖到期前必須重新整理的時間長度 (以秒為單位)。預設值為 3500
。授權參數 1 如果 SSF 應用程式名稱與 ZG_APK
不同,請指定 SSF 應用程式名稱。授權參數 2 請將這個欄位留空。 儲存新項目。
建立新的 RFC 目的地
針對您打算使用 ABAP SDK for Google Cloud 執行的 API,建立新的 RFC 目的地。
如要瞭解如何建立 RFC 目的地,請參閱「RFC 目的地」。
如果未建立及設定 RFC 目的地,ABAP 版 Google Cloud SDK 函式會使用個別 API 用戶端存根中維護的預設 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」。
為您打算使用的 API 指定 RFC 目的地,例如
addressvalidation v1
。 如要使用其他 API,請為這些 API 指定 RFC 目的地。名稱 服務名稱 RFC 目的地 Google Cloud 金鑰名稱 addressvalidation:v1
ZGOOG_ADDRVALDN_V1
儲存新項目。
可刪除 API 金鑰
如果不再使用 API 金鑰,可以從 SAP 系統中刪除該金鑰。
如要刪除 API 金鑰,請按照下列步驟操作:
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「Basic Settings」>「Configure API Key (Using SSF)」。
在「Google Key Name」(Google 金鑰名稱) 欄位中,輸入用戶端金鑰設定的名稱。
選取 [刪除]。
按一下「執行」即可刪除 API 金鑰。
使用儲存在 Secret Manager 中的 API 金鑰進行驗證
高階設定步驟如下:
- 建立 API 金鑰
- 建立密鑰並儲存 API 金鑰
- 設定用戶端金鑰,以便存取 Secret Manager
- 為密鑰設定用戶端金鑰
- 建立新的 RFC 目的地
- 設定服務對應
- 驗證從 Secret Manager 擷取 API 金鑰
- 驗證驗證設定
建立 API 金鑰
如要使用 API 金鑰進行驗證,您必須建立 API 金鑰。
API 金鑰字串是加密字串,例如 AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe
。
ABAP SDK for Google Cloud 會在 HTTP 要求中使用 API 金鑰字串,以便在呼叫 Google Cloud API 時安全地進行驗證。
Google Cloud 提供多種建立 API 金鑰的方式。
如要使用 Google Cloud 控制台建立 API 金鑰,請按照下列步驟操作:
前往 Google Cloud 控制台的「憑證」頁面:
按一下「建立憑證」,然後從選單中選取「API 金鑰」。
「建立的 API 金鑰」對話方塊會顯示 API 金鑰字串。 複製金鑰字串並妥善保存。您需要這個 API 金鑰,才能設定 Google Cloud的驗證。
根據預設,API 金鑰不受限制。建議您選取可使用這組 API 金鑰的 API,藉此限制 API 金鑰。如要進一步瞭解如何新增 API 限制,請參閱「新增 API 限制」一文。
建立密鑰並儲存 API 金鑰
ABAP SDK for Google Cloud 提供選項,可使用 Google Cloud的 Secret Manager 服務安全地儲存 API 金鑰。如要安全地儲存 API 金鑰字串,Secret Manager 可讓您遵循安全使用 API 金鑰的最佳做法。
如要建立密鑰並儲存 API 金鑰,請按照下列步驟操作:
啟用 Secret Manager API。
在 Google Cloud console 中建立密鑰,並將 API 金鑰儲存為最新版本。
如要瞭解如何建立密鑰,請參閱「建立密鑰」。
根據預設,ABAP SDK for Google Cloud 只會擷取密鑰的最新版本。
設定 Secret Manager 存取權的用戶端金鑰
Secret Manager API 會使用權杖進行驗證。 因此,您需要根據 SAP 部署作業設定以權杖為基礎的驗證,才能存取 Secret Manager API。
請使用下列任一方法設定權杖式驗證,以便存取 Secret Manager API:
記下您為 Secret Manager 存取權建立的用戶端金鑰名稱。
設定密鑰的用戶端金鑰
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」「Basic Settings」「Configure Client Key」。
按一下「New Entries」。
在下列欄位中輸入值:
欄位 說明 Google Cloud 金鑰名稱 指定用戶端金鑰設定的名稱。例如 DEMO_API_KEY
。Google Cloud 服務帳戶名稱 請將這個欄位留空。 Google Cloud 範圍 指定 API 存取範圍 https://www.googleapis.com/auth/cloud-platform
。專案 ID 指定包含目標 API 的 Google Cloud 專案 ID。 指令名稱 請將這個欄位留空。 授權類別 指定 /GOOG/CL_AUTH_API_KEY_SM
。權杖快取 這個旗標會決定是否要快取從 Google Cloud 擷取的存取權杖。
完成設定並測試與 Google Cloud的連線後,建議您啟用權杖快取。如要進一步瞭解權杖快取,請參閱「啟用權杖快取」。
權杖更新秒數 指定存取權杖到期前必須重新整理的時間長度 (以秒為單位)。預設值為 3500
。授權參數 1 指定您為 Secret Manager 存取權建立的用戶端金鑰名稱。例如 CLIENT_KEY_SM
。授權參數 2 指定儲存 API 金鑰的密鑰名稱。 例如 TEST_SECRET
。儲存新項目。
建立新的 RFC 目的地
針對您打算使用 ABAP SDK for Google Cloud 執行的 API,建立新的 RFC 目的地。
如要瞭解如何建立 RFC 目的地,請參閱「RFC 目的地」。
如果未建立及設定 RFC 目的地,ABAP 版 Google Cloud SDK 函式會使用個別 API 用戶端存根中維護的預設 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」。
為您打算使用的 API 指定 RFC 目的地,例如
addressvalidation v1
。 如要使用其他 API,請為這些 API 指定 RFC 目的地。名稱 服務名稱 RFC 目的地 Google Cloud 金鑰名稱 addressvalidation:v1
ZGOOG_ADDRVALDN_V1
儲存新項目。
驗證從 Secret Manager 擷取 API 金鑰
如要驗證從 Secret Manager 擷取 API 金鑰的作業,請完成下列步驟:
-
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。 - 依序點選「ABAP SDK for Google Cloud」>「Utilities」>「Validate API key retrieval (Using Secret Manager)」。
- 指定用戶端金鑰名稱。
- 按一下「執行」,檢查是否已從 Secret Manager 成功擷取 API 金鑰。
驗證驗證設定
如要驗證驗證設定是否就緒,請按照下列步驟操作:
在 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支援服務」。