# WorkatoでClient Certification Authenticationを使用してSAP S/4HANA Cloudに接続する方法
SAP S/4HANA CloudインスタンスのODataサービスを設定するには、以下の手順を完了してください。
SAP API Business Hubエクスプローラー (opens new window)で、自動化要件に合ったOData APIを見つけます。
SAP API explorer
適切なAPIが見つかったら、それをクリックして開き、communication scenario IDを見つけます。このIDを後で使用するために保存してください。
API details communication
CAサイン済みのx509証明書を準備します。この証明書は、S/4HANA Cloudバックエンドシステムで認識されているCAによってサインされている必要があります。認識されているCAは、S/4HANA CloudシステムのCertificate Trust Listを確認することで検証できます。この詳細については、このSAP Blog article (opens new window)を参照するか、証明書を簡単に作成する方法としてSAP Passportを使用する以下のガイドをご覧ください。
Setting up Communication Management (opens new window)の手順に従って、以下の必要なタスクを完了します:
- Create a Communication User: ステップ3で作成した証明書を使用して、communication userを作成します。
- Create a Communication System: communication Userに関連付け、認証方法をSSL Client Certificateに設定します。
- Create a Communication Arrangement: communication systemとユーザーをcommunication scenarioに関連付けます。
Workatoに戻り、connection fieldsに記入します。
# サンプルガイド:SAP Passportを使用してS/4HANA CloudでClient Certificate認証用の証明書を作成する
CAサイン済みのx509証明書を準備するには、信頼できるCAによってサインされた証明書が必要です。SAPパスポートは、SAPのCloud Root CAによってサインされたx509証明書を迅速かつ簡単に生成する方法を提供します。このガイドは、この方法で接続性を実現するための手順を提供します。ただし、実際に使用する証明書は、SAPを含む組織の推奨または既存のベンダーに従う必要があります。
証明書の.pfx
ファイルをダウンロードします。
OpenSSLを使用して.pfx
ファイルを.pem
形式に変換します。ローカルマシンにOpenSSLをインストールする必要があります。
- 以下のコマンドを使用して、オペークパスワードを作成し、後で使用するために保存できます。このコマンドはPEMパスフレーズの入力を求めます:
openssl pkcs12 -in input-cert.pfx -out output-cert.pem -legacy
任意のテキストエディタで.pem
ファイルを開き、内容を確認します。構造は以下の例に似ているはずです:
Bag Attributes
localKeyID: 01 00 00 00
friendlyName: SXXXXXXXXXX
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w
...<redacted>...
jTG6eYRIAnHR2+4Vto+QxA==
-----END ENCRYPTED PRIVATE KEY-----
Bag Attributes
localKeyID: 01 00 00 00
friendlyName: S0023610052
subject=C = DE, O = SAP Trust Community, OU = SAP Service Marketplace, CN = SXXXXXXXXXX
issuer=C = DE, O = SAP Trust Community, CN = SAP Passport CA G2
-----BEGIN CERTIFICATE-----
MIIDjzCCAnegAwIBAgINY3nCYsU77LIAABBWgj
...<redacted>...
NSo4ezWlQtb/44Swg0NFaLpwmn
-----END CERTIFICATE-----
Bag Attributes: <No Attributes>
subject=C = DE, O = SAP Trust Community, CN = SAP Passport CA G2
issuer=C = DE, L = Walldorf, O = SAP SE, CN = SAP Cloud Root CA
-----BEGIN CERTIFICATE-----
MIIFLzCCAxegAwIBAddfzANBgkqhkiG9w0BAQsF
...<redacted>...
hmZooggAg+fCd5ZE4NgC7bAdwj/QYjPmXsolDjABgYUxtGQ=
-----END CERTIFICATE-----
Bag Attributes: <No Attributes>
subject=C = DE, L = Walldorf, O = SAP SE, CN = SAP Cloud Root CA
issuer=C = DE, L = Walldorf, O = SAP SE, CN = SAP Cloud Root CA
-----BEGIN CERTIFICATE-----
MIIFZjCCA06gAwIBAgIQGHcPvmUGa79M6pM42bGdfdsfasdf
...<redacted>...
LvHPhNDM3rMsLu06agF4JTbO8ANYtWQTx0PVrZKJu+8fcIaUp
-----END CERTIFICATE-----
上記のファイルから新しい.pem
ファイルを作成し、communication_user.pem
として保存します。この.pem
ファイルには、秘密鍵なしで証明書のみを含める必要があります。前述の例に基づくと、新しい.pem
ファイルは以下の例のようになります:
-----BEGIN CERTIFICATE-----
MIIDjzCCAnegAwIBAgINY3nCYsU77LIAABBWgj
...<redacted>...
NSo4ezWlQtb/44Swg0NFaLpwmn
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFLzCCAxegAwIBAddfzANBgkqhkiG9w0BAQsF
...<redacted>...
hmZooggAg+fCd5ZE4NgC7bAdwj/QYjPmXsolDjABgYUxtGQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFZjCCA06gAwIBAgIQGHcPvmUGa79M6pM42bGdfdsfasdf
...<redacted>...
LvHPhNDM3rMsLu06agF4JTbO8ANYtWQTx0PVrZKJu+8fcIaUp
-----END CERTIFICATE-----
communication_user.pem
ファイルを作成する際に、証明書セクションにアップロードします。
Certificate upload
SAP S/4HANA Cloudインスタンスで通常通りCommunication SystemおよびCommunication Arrangementの設定を行います。Communication Systemのインバウンド通信の認証方法がSSL Client Certificateに設定されていることを確認してください。
Certificate communication system
Workatoに戻り、以下の接続フィールドに記入します:
- Authentication type -
Client certificate(x509)
- Client certificate - これはステップ4の
.pem
ファイルの最初の証明書です。前述の例に基づくと、以下の出力に似ているはずです:
-----BEGIN CERTIFICATE-----
MIIDjzCCAnegAwIBAgINY3nCYsU77LIAABBWgj
...<redacted>...
NSo4ezWlQtb/44Swg0NFaLpwmn
-----END CERTIFICATE-----
- Private key - これはステップ4の
.pem
ファイル内の秘密鍵です。前述の例に基づくと、以下の出力に似ているはずです:
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w
...<redacted>...
jTG6eYRIAnHR2+4Vto+QxA==
-----END ENCRYPTED PRIVATE KEY-----
- Passphrase - これはステップ3で作成したPEMパスフレーズです。
- CA certificate - これはステップ4の
.pem
ファイル内の残りの2つの証明書を含める必要があります。チェーンなので、各証明書の間に空白行を含める必要があります。
-----BEGIN CERTIFICATE-----
MIIFLzCCAxegAwIBAddfzANBgkqhkiG9w0BAQsF
...<redacted>...
hmZooggAg+fCd5ZE4NgC7bAdwj/QYjPmXsolDjABgYUxtGQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFZjCCA06gAwIBAgIQGHcPvmUGa79M6pM42bGdfdsfasdf
...<redacted>...
LvHPhNDM3rMsLu06agF4JTbO8ANYtWQTx0PVrZKJu+8fcIaUp
-----END CERTIFICATE-----
- Host, Service, SAP Client - 必要なフィールドを入力してください。必要なフィールドはSAPインスタンスの詳細によって異なります。
# 接続フィールド
ODATA VERSIONS
We recommend that you create dedicated connections for V2 and V4 APIs.
フィールド | 説明 |
---|---|
Connection name | この接続を他のレシピで再利用できるように、わかりやすい名前を付けてください。 |
Connection type | SAPインスタンスが直接接続を許可しないネットワークで実行されている場合は、オンプレミスエージェントを選択します。接続を試みる前に、アクティブなオンプレミスエージェントがあることを確認してください。On-premise agentガイドを参照してください。Client certificate(x509) を認証タイプとして使用する場合、オプションCloud を選択する必要があります。Cloud が選択されると、リクエストはWorkatoのサーバーから直接送信されます。 |
Authentication type | Basic またはClient certificate(x509) のいずれかを選択します。 |
OData version | この接続で使用するAPIのODataバージョンを選択します - v2 またはv4 。 |
Username | 認証タイプがBasic の場合に適用されます。 前述の手順で作成したCommunication Userのユーザー名です。 |
Password | 認証タイプがBasic の場合に適用されます。 前述の手順で作成したCommunication Userのパスワードです。 |
Client certificate | 認証タイプがClient certificate(x509) の場合に適用されます。 前述の手順で作成したcommunication_user.pem ファイルの最初の証明書です。 |
Private key | 認証タイプがClient certificate(x509) の場合に適用されます。 Client certificateの秘密鍵です。 |
Passphrase | 認証タイプがClient certificate(x509) の場合に適用されます。 秘密鍵のパスフレーズ(該当する場合)。 |
CA certificate | 認証タイプがClient certificate(x509) の場合に適用されます。 x509証明書の署名にカスタムCAを使用した場合は、ここにCAの証明書を追加する必要があります。チェーン内に複数の証明書がある場合は、各証明書の間に空白行を含めます。 |
Host | SAP ODataサービスへのベースパスです。SAP S/4HANA Cloudの場合、これはCommunication ArrangementのURLで見つけることができます。 例:サービスURLが https://www.myS4HanaSystem.com/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV の場合、ホストはhttps://www.myS4HanaSystem.com/sap/opu/odata/sap/ です。 |
Service | 認証をテストするために使用できるサンプルサービスです。これは設定した最初のサービスでもかまいません。SAP S/4HANA Cloudの場合、サービス名はCommunication Arrangementで見つけることができます。 |
SAP client | 参照するSAPクライアントです。例:https://www.myS4HanaSystem.com/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV?sap-client=800 がサービスURLの場合、SAPクライアントは800です。 |
Last updated: 2025/3/13 9:42:40