

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 SAP 登入資料存放區
<a name="credential-store"></a>

SAP 登入資料存放區用於 SAP Business Technology Platform，以安全地存放登入資料，以進行私密存取金鑰身分驗證 AWS。您必須擁有訂閱才能使用 服務。

下列指示假設您已設定 SDK 設定檔。如需詳細資訊，請參閱[設定 適用於 SAP ABAP 的 AWS SDK](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/configuring.html)。

開始組態之前，請確定您符合先決條件。如需詳細資訊，請參閱 [SAP Credential Store](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/prerequisites.html#credential-store)。

**Topics**
+ [組態步驟](#configuration)
+ [搭配 SDK 使用 SAP 登入資料存放區](#connection)

## 組態步驟
<a name="configuration"></a>

**Topics**
+ [步驟 1：設定身分驗證的設定](#authentication)
+ [步驟 2：建立服務金鑰](#service-key)
+ [步驟 3：將服務金鑰轉換為`.p12`格式](#conversion)
+ [步驟 4：連線至 SAP BTP、ABAP 環境](#connection)

### 步驟 1：設定身分驗證的設定
<a name="authentication"></a>

使用下列步驟來設定用於身分驗證的 Credential Store 設定。

1. 導覽至 SAP Credential Store 執行個體**的設定**索引標籤。

1. 選取**編輯組態**：
   + 選擇**相互 TLS** 作為預設身分驗證類型。
   + 針對承載加密狀態選取**停用**。承載會使用 HTTPS 在傳輸中加密。不過，承載目前無法進行雙重加密。

1. 選取**儲存**。

### 步驟 2：建立服務金鑰
<a name="service-key"></a>

使用下列步驟來建立 Credential Store 的服務金鑰。

1. 在 SAP Credential Store 應用程式的左側窗格中，導覽至**服務金鑰**。

1. 選取**建立服務金鑰**。

1. 輸入服務金鑰的名稱，然後選取**建立**。

服務金鑰會根據選擇的身分驗證類型建立。下載服務金鑰，並保持安全以供日後使用。

### 步驟 3：將服務金鑰轉換為`.p12`格式
<a name="conversion"></a>

需要 `.p12` 格式的用戶端憑證，才能建立通訊系統的傳出使用者。使用下列步驟，`.p12`從 Credential Store Service 金鑰中提供的憑證詳細資訊產生憑證。

1. 從 **SAP Trust Center Services 下載 SAP Cloud 根 CA** 憑證 (SAP 要求）。 [https://support.sap.com/en/offerings-programs/support-services/trust-center-services.html](https://support.sap.com/en/offerings-programs/support-services/trust-center-services.html)

1. 以任何文字檔案格式開啟 SAP Cloud 根 CA 憑證。在檔案結尾，按下 Enter，然後從服務金鑰的憑證欄位中複製貼上憑證。將新行字元取代`\n`為實際的新行 (Enter)，並以`.cer`檔案格式儲存整個憑證。

1. 從服務金鑰的金鑰欄位複製金鑰。此私有金鑰必須視為敏感資料。將它貼到文字檔案中，並以實際的新行 `\n` (Enter) 取代新行字元。將私有金鑰儲存在文字檔案中。

1. 使用先前步驟中產生的憑證和私有金鑰，執行下列命令來產生`.p12`憑證。

   ```
   openssl pkcs12 -export -out <.p12_filename> -inkey <private_key.key> -in <certificate.cer>
   ```

   命令需要驗證匯出密碼。保留密碼以供進一步使用。

刪除儲存在私有金鑰中的`.key`文字檔案。

### 步驟 4：連線至 SAP BTP、ABAP 環境
<a name="connection"></a>

設定 SAP BTP、ABAP 環境以與 SAP Credential Store 連線。

**Topics**
+ [通訊系統](#system)
+ [通訊安排](#arrangement)

#### 通訊系統
<a name="system"></a>

使用下列步驟建立通訊系統，以啟用從 SAP BTP、ABAP 環境到 SAP Credential Store 的通訊。

1. 開啟 ABAP 環境系統的 Fiori 啟動台。

1. 選取**通訊系統**圖磚以開啟應用程式。

1. 選取**新的**。

1. 輸入通訊系統的名稱和 ID，然後選取**建立**。例如，您可以命名系統 `ZSAP_CREDSTORE`。

1. 輸入其他必要資訊：
   + **主機名稱**：從服務金鑰 URL 複製主機名稱。例如，如果 URL 為 `https://credstore.mesh.cf.us10.hana.ondemand.com/api/v1/credentials`，則主機名稱為 `credstore.mesh.cf.us10.hana.ondemand.com`。
   + **外撥通訊的使用者**：選取 `+` 以新增使用者。

     1. 選取 **SSL 用戶端憑證**做為身分驗證機制。

     1. 選取**上傳新憑證**：
        + 瀏覽上一個步驟中產生的`.p12`憑證。
        + 輸入描述。
        + 輸入用來產生`.p12`憑證的匯出密碼。
        + 選取**上傳**。

     1. 選取**建立**以建立傳出使用者。

1. 選取**儲存**。

1. 刪除上一個步驟中下載的服務金鑰。

#### 通訊安排
<a name="arrangement"></a>

使用下列步驟建立通訊安排，以提供傳出通訊的通訊案例。

1. 開啟 ABAP 環境系統的 Fiori 啟動台。

1. 選取**通訊安排**圖磚以開啟應用程式。

1. 選取**新的**。

1. 選取通訊案例 `/AWS1/CRED_COMM_SCENARIO`，然後輸入通訊安排的名稱。例如 `Z_AWS_SDK_TO_SAP_CREDSTORE`。

1. 選取**建立**。

1. 在通訊系統欄位中，瀏覽上一個步驟中建立的通訊系統。其他資訊會在系統選取後自動填入。

1. 選取**儲存**。

1. 選取**檢查連線**以測試您的連線。

一旦完成此設定，ABAP 環境可以使用通訊安排，透過傳出服務 (HTTP) 使用 SAP Credential Store 服務。

## 搭配 SDK 使用 SAP 登入資料存放區
<a name="connection"></a>

**Topics**
+ [步驟 1：建立命名空間和登入資料 （們）](#create-namespace)
+ [步驟 2：設定自訂業務組態應用程式](#business-configuration)

### 步驟 1：建立命名空間和登入資料 （們）
<a name="create-namespace"></a>

使用 SAP 說明在 SAP 登入資料存放區中建立命名空間和登入資料 – [建立、編輯和刪除登入資料](https://help.sap.com/docs/credential-store/sap-credential-store/create-edit-and-delete-credential)。

輸入下列詳細資訊以建立 **Key** 類型的登入資料。
+ **命名空間** – 輸入命名空間的名稱，並將相關的登入資料分組在一起。
+ **名稱** – 輸入金鑰的名稱。我們建議 `aws-0123456789012-username`，其中：
  + `0123456789012` 是憑證授予存取權的 AWS 帳戶 ID
  + `username` 是登入資料所屬的 IAM 使用者名稱
+ **值** – 輸入 base-64 編碼的私密存取金鑰。使用以下命令來對秘密存取金鑰進行 base-64 編碼。

  ```
  xargs echo -n | base64 # just press enter, do not enter arguments on the command line
  MySecretAccessKey
  Ctrl-D
  ```

  命令會從標準輸入讀取秘密存取金鑰，並將其傳遞至 base64，而不會有結尾換行。它會將 base-64 編碼的私密存取金鑰輸出至畫面。將值複製到 SAP Credential Store 之後，請清除或關閉終端機。
+ **使用者名稱** – 輸入您的存取金鑰 ID。
+ 選取**建立**。

系統會建立具有一個登入資料的新命名空間，並在此命名空間中新增、刪除或修改登入資料。

遵循最低權限原則來管理對存放在 命名空間中登入資料的存取。

### 步驟 2：設定自訂業務組態應用程式
<a name="business-configuration"></a>

使用下列步驟來設定自訂商業組態應用程式，以定義要用於 SDK 身分驗證的憑證。

1. 開啟 ABAP 環境系統的 Fiori 啟動台。

1. 瀏覽**自訂業務組態**圖磚以開啟應用程式。

1. 開啟 **SDK Profile** Business Configuration。

1. 選取必須為 SAP Credential Store 設定身分驗證設定的 SDK 設定檔。

1. 在所選設定檔的**身分驗證和設定**索引標籤中，選取**編輯**，然後輸入下列詳細資訊：
   + **身分驗證方法** – **從 SAP Credential Store 選取登入**資料。
   + **命名空間** – 輸入在 SAP 登入資料存放區中建立的命名空間。如需詳細資訊，請參閱[步驟 1：建立命名空間和登入資料 （們）](#create-namespace)。
   + **金鑰名稱** – 輸入所建立金鑰憑證的名稱。如需詳細資訊，請參閱[步驟 1：建立命名空間和登入資料 （們）](#create-namespace)。
   + **通訊安排** – 輸入所建立通訊安排的名稱。如需詳細資訊，請參閱[通訊安排](#arrangement)。

1. 選取**套用**以前往 **AWS SDK 設定檔**畫面。

1. 選取**選取傳輸**以使用值說明選取傳輸。

1. 選取**儲存**。