本文說明如何使用 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
。Google Cloud 適用的 ABAP SDK 會在呼叫 Google Cloud API 時,使用 HTTP 要求中的 API 金鑰字串來安全地進行驗證。
Google Cloud 提供多種建立 API 金鑰的方式。
如要使用 Google Cloud 控制台建立 API 金鑰,請執行下列步驟:
在 Google Cloud 控制台中,前往「憑證」頁面:
按一下「Create Credentials」,然後在選單中選取「API key」。
「建立的 API 金鑰」對話方塊會顯示 API 金鑰字串。複製金鑰字串並妥善保存。您需要這個 API 金鑰,才能設定 Google Cloud的驗證機制。
根據預設,API 金鑰沒有任何限制。建議您選取可使用此 API 金鑰的 API,藉此限制 API 金鑰。如要進一步瞭解如何新增 API 限制,請參閱「新增 API 限制」一文。
將 API 金鑰儲存在 SSF
Google Cloud 的 ABAP SDK 提供選項,可使用 SAP Secure Store and Forward 機制 (SSF) 安全地儲存 API 金鑰。
使用 SSF 選項時,您可以在 /GOOG/APIKEY_BIN
資料表中以加密格式儲存 API 金鑰。呼叫 API 時,系統會從 /GOOG/APIKEY_BIN
資料表擷取 API 金鑰、解密,然後附加至 API 端點 URI。
基於安全考量,您無法使用標準工具或交易 (例如 SE16
、SE16N
或 SE11
) 查看 /GOOG/APIKEY_BIN
的內容。
事前準備
如要使用儲存在 SAP SSF 中的 API 金鑰進行驗證,您必須在 SAP 系統中安裝 SAP 加密編譯程式庫 8.5 以上版本。如要進一步瞭解 SAP 加密程式庫,請參閱 1848999 - CommonCryptoLib 8 (SAPCRYPTOLIB) 的中央注意事項和 397175 - SAP 加密程式庫軟體 - 出口管制。
如要確認 SAP 加密程式庫的版本,請執行下列步驟:
- 在 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
。在「GCP 專用的 SSF API 金鑰加密」節點下方,按一下滑鼠右鍵並選取「建立」。
在「Algorithm」欄位中選取
RSA
。其他欄位則保留系統填入的預設值。儲存新項目。
儲存 API 金鑰
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「基本設定」>「設定 API 金鑰 (使用 SSF)」。
在「Google Key Name」中,輸入用戶端金鑰設定的名稱。
在「API Key」欄位中,輸入您先前在「建立 API 金鑰」中建立的 API 金鑰。
選取「儲存」。
按一下「執行」即可儲存 API 金鑰。
設定用戶端金鑰
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「基本設定」>「設定用戶端金鑰」。
按一下「新增項目」。
在下列欄位中輸入值:
欄位 說明 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 目的地,Google Cloud 的 ABAP SDK 會使用個別 API 用戶端虛設檔中維護的預設 API 端點。
設定服務對應
針對您打算使用 ABAP SDK for Google Cloud 取用的 API,設定服務對應表。
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序按一下「ABAP SDK for Google Cloud」>「基本設定」>「設定服務對應」。
按一下「新增項目」。
請為您打算使用的 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」>「基本設定」>「設定 API 金鑰 (使用 SSF)」。
在「Google Key Name」欄位中,輸入用戶端金鑰設定的名稱。
選取 [刪除]。
按一下「執行」即可刪除 API 金鑰。
使用儲存在 Secret Manager 中的 API 金鑰進行驗證
大致設定步驟如下:
- 建立 API 金鑰
- 建立密鑰並儲存 API 金鑰
- 設定用於存取 Secret Manager 的用戶端金鑰
- 為密鑰設定用戶端金鑰
- 建立新的 RFC 目的地
- 設定服務對應
- 驗證從 Secret Manager 擷取的 API 金鑰
- 驗證驗證設定
建立 API 金鑰
如要使用 API 金鑰進行驗證,您必須建立 API 金鑰。API 金鑰字串是加密字串,例如 AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe
。ABAP SDK for Google Cloud 會在呼叫 Google Cloud API 時,使用 HTTP 要求中的 API 金鑰字串來安全地進行驗證。
Google Cloud 提供多種建立 API 金鑰的方式。
如要使用 Google Cloud 控制台建立 API 金鑰,請執行下列步驟:
在 Google Cloud 控制台中,前往「Credentials」(憑證) 頁面:
按一下「Create Credentials」,然後在選單中選取「API key」。
「建立的 API 金鑰」對話方塊會顯示 API 金鑰字串。複製金鑰字串並妥善保存。您需要這個 API 金鑰,才能設定對 Google Cloud的驗證。
根據預設,API 金鑰沒有任何限制。建議您選取可使用此 API 金鑰的 API,藉此限制 API 金鑰。如要進一步瞭解如何新增 API 限制,請參閱「新增 API 限制」一文。
建立密鑰並儲存 API 金鑰
Google Cloud 的 ABAP SDK 提供使用 Google Cloud的 Secret Manager 服務來安全儲存 API 金鑰的選項。如要安全地儲存 API 金鑰字串,您可以使用 Secret Manager 遵循安全使用 API 金鑰的最佳做法。
如要建立 Secret 並儲存 API 金鑰,請執行下列步驟:
啟用 Secret Manager API。
在 Google Cloud 控制台中建立密鑰,並將 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」>「基本設定」>「設定用戶端金鑰」。
按一下「新增項目」。
在下列欄位中輸入值:
欄位 說明 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 目的地,Google Cloud 的 ABAP SDK 會使用個別 API 用戶端虛設檔中維護的預設 API 端點。
設定服務對應
針對您打算使用 ABAP SDK for Google Cloud 取用的 API,設定服務對應表。
在 SAP GUI 中執行交易代碼
/GOOG/SDK_IMG
。或者,您也可以執行交易代碼
SPRO
,然後按一下「SAP Reference IMG」。依序點選「ABAP SDK for Google Cloud」>「設定服務對應」。
按一下「新增項目」。
請為您打算使用的 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」>「驗證驗證設定」。
輸入用戶端金鑰名稱。
按一下「執行」,檢查是否已成功設定整體流程。
如果「結果」欄顯示綠色勾號,表示已順利完成所有設定步驟。
取得支援
如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作:
在 Cloud 論壇上向社群提問,並討論 ABAP 適用的 Google Cloud SDK。
收集所有可用的診斷資訊,並與 Cloud Customer Care 團隊聯絡。如要瞭解如何與 Customer Care 聯絡,請參閱「取得 SAP 支援 Google Cloud」一文。