OAuth Business Technology Platform(BTP)認証
Workatoは、OAuth2SAMLBearerAssertionを使用するSAP BTP Destination認証方式を通じてOAuth 2.0(Open Authorization 2.0)をサポートしています。 OAuth 2.0 SAML Bearer Assertionは、Security Assertion Markup Language(SAML)アサーションをOAuth 2.0の認可付与として使用する方法です。 このフローにより、認証にSAMLを利用するシステムは、OAuthで保護されたリソースへのアクセスにOAuth 2.0を活用でき、両方のプロトコルの利点を組み合わせることができます。 この認証はSAP S/4HANA Cloud, Public Editionに適用できます。
OAuth BTPの設定前提条件
- カタログ
SAP_CORE_BC_EXTおよびSAP_CORE_BC_COMがビジネスユーザーに割り当てられているSAP S/4HANA Cloudへのアクセス権。 - SAP Business Technology Platformへのアクセス権。
- SAP Cloud Identity ServicesなどのSAP Cloud Identityプロバイダーへの管理者アクセス権。
信頼とフェデレーションの確立
SAP Authorization and Trust Management ServiceとIdentity Authenticationの間で信頼とフェデレーションを手動で確立する手順を完了し、次を実行します:
- サブアカウントでSAML 2.0 IDプロバイダーとの信頼を確立する: SAML 2.0 IDプロバイダー(例: SAP Cloud Identity Services - Identity Authentication)を使用する必要があります。 IDプロバイダーはSAP BTPのビジネスユーザーを認証します。
- SAML 2.0 IDプロバイダーにSAP BTPサブアカウントを登録する: IDプロバイダーとサブアカウント間の信頼を確立するには、SAMLメタデータをIDプロバイダーに提供してサブアカウントを登録する必要があります。 IDプロバイダーはSAP Cloud Identity Services - Identity Authenticationです。
SAP BTPから署名証明書を作成する
SAP S/4HANA Cloudに送信されるSAMLアサーションは、ローカルサービスプロバイダーの秘密鍵を使用して署名されます。 SAP S/4HANA Cloudがこの署名を検証できるようにするには、該当する証明書が必要です。
SAP BTP Cockpitにログインします。
Connectivityの下にあるDestinations に移動し、Download Trustをクリックして、SAP BTPアカウントから署名証明書を作成します。 
SAP S/4HANA Cloudシステムでの実装手順
SAP S/4HANAテナントへのインバウンド通信を許可する手順を完了し、次を実行します:
- Communication SystemとUserを作成します。
- Communication Arrangementを作成します。
- SAP S/4HANA CloudシステムでBusiness Userを管理します。
SAP Business Technology Platformでの実装手順
SAP BTPで宛先を作成して設定するには、次の手順を完了します。
次のサンプルテーブルに示すように、プロパティの値を維持します:
| プロパティ | 値 |
|---|---|
| 名前 | 一意の名前識別子を指定します(例: OAuth2Destination)。 |
| タイプ | HTTP |
| 説明 | 目的を説明する宛先の説明を指定します。 |
| URL | サービスURLを指定します(例: https://www.myS4HanaSystem.com/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV)。 |
| プロキシタイプ | インターネット |
| 認証 | OAuth2SAMLBearerAssertion |
| 対象者 | SAP S/4HANA CloudシステムのベースURLを指定します(例: https://myXXXXXX.s4hana.ondemand.com)。 |
| AuthnContextClassRef | urn:oasis:names:tc:SAML:2.0:ac:classes:X509 |
| クライアントキー | 通信ユーザー名を入力します。 |
| トークンサービスURLタイプ | 専用 |
| トークンサービスURL | トークンURLを指定します(例: https://www.myS4HanaSystem.com/sap/bc/sec/oauth2/token)。 |
| トークンサービスユーザー | 通信ユーザー名を入力します。 |
| トークンサービスパスワード | 通信ユーザーのパスワードを入力します。 |
| 追加プロパティ | 値 |
|---|---|
| nameIdFormat | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
| scope | スコープIDを指定します(例: API_PURCHASEORDER_PROCESS_SRV_0001)。 |
| SystemUser | ビジネスユーザーのメールID。 |
クライアントキー、トークンサービスユーザー、およびトークンサービスURLの値
Communication Arrangementsアプリケーションに移動し、作成したアレンジメントを検索します。 Inbound Communicationに移動し、OAuth2.0 Detailsを選択します。 Client KeyとToken Service Userの値はUser Nameと同じです。 このインターフェイスからToken Service URLを取得することもできます。 
Servicesの下にあるInstances and Subscriptionsに移動し、Createをクリックしてサービスインスタンスを作成します。 
ServiceでDestination Service、Planでlite、Runtime EnvironmentでOtherを選択し、Instance Nameに説明的な名前を指定します。 
インスタンスが作成されたら、それをクリックしてService Bindingの作成に進みます。
Createをクリックし、説明的なBinding Nameを指定します。 
Service Bindingを作成した後、ViewまたはDownloadをクリックしてService Credentialsを取得します。
コネクションフィールド
コネクションの確立を完了するには、Workatoで次のフィールドに入力します:
ODATAバージョン
V2 APIとV4 APIには専用のコネクションを作成することをお勧めします。
| フィールド | 説明 |
|---|---|
| コネクション名 | 他のレシピで再利用できるように、コネクションにわかりやすい名前を指定します。 |
| コネクションタイプ | Cloudを選択します。 |
| 認証タイプ | OAuth BTPを選択します。 |
| ODataバージョン | このコネクションで使用するAPIのODataバージョンを選択します: v2またはv4。 |
| Client ID | SAP BTPからダウンロードしたService Bindingのパラメーターclientidに従って値を入力します。 |
| Client Secret | SAP BTPからダウンロードしたService Bindingのパラメーターclientsecretに従って値を入力します。 |
| 認証URL | 認証URLを指定します。 これはService Binding内のurlパラメーターの値です。 例: https://s-4hana-cloud.authentication.eu10.hana.ondemand.com。 |
| 宛先URL | 宛先サービスのURLを指定します。 これはService Binding内のuriパラメーターの値です。 例: https://destination-configuration.cfapps.eu10.hana.ondemand.com。 |
| 宛先名 | SAP BTP cockpitのConnectivity > Destinationsで定義した、宛先の一意の名前識別子を指定します。 |
| ホスト | SAP Application Serverのホスト名を指定します。 例: https://www.myS4HanaSystem.com/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRVがサービスURLの場合、ホストはhttps://www.myS4HanaSystem.com/sap/opu/odata/sap/です。 |
| サービス | SAPシステムで設定されたサービスを指定します。 例: https://www.myS4HanaSystem.com/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRVがサービスURLの場合、サービスはAPI_PURCHASEORDER_PROCESS_SRVです。 |
| SAPクライアント | 空白のままにします。 |
Last updated: