OAuth2.0認証

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Workatoは、ユーザーまたはシステムデータへの安全で標準ベースのサードパーティアクセスを可能にする、広く採用されているプロトコルであるOAuth 2.0(Open Authorization 2.0)をサポートしています。 このプロトコルは、ユーザー認証情報を公開せずに、APIへの制限付きの安全なアクセスを許可するために一般的に使用されます。

Workatoは現在、Authorization Code GrantとClient Credentials Grantの両方のフローをサポートしています:

  • Authorization Code Grantは、アクセスを承認するユーザーが存在し、クライアントがクライアントシークレットを安全に保存できるアプリケーションに最適です。 このフローはインタラクティブなアプリケーションで一般的に使用され、アクセストークンと引き換えるための認可コードが必要なため、高い安全性があると見なされます。
  • Client Credentials Grantは、ユーザーが関与しないサーバー間通信に使用されます。 代わりに、クライアントアプリケーションはクライアントIDとシークレットを使用して直接認証し、アクセストークンを取得します。 この方法は、バックグラウンドプロセスまたはサービスが保護されたリソースへアクセスする必要があるシステム連携に適しています。

これらのグラントタイプはいずれも、オンプレミスSAPアプリケーションおよびSAP S/4HANA Cloud, Private Editionに適用できます。

OAuth2.0を有効化

OData V2サービスに対してOAuth2.0を有効にするには、次の手順を完了します:

ODATA V4 APIに対してOAUTH2.0を有効にする

SAP Note 3304204を参照して、OData V4 API用のOAuthスコープを作成してください。

1

SAP Logonを通じてSAPシステムにログインし、トランザクションコード/n/iwfnd/maint_serviceに移動します サービスカタログトランザクション

2

サービスの追加をクリックし、System AliasでLOCALを維持してEnterキーを押します。 サービスの有効化と維持

3

使用する予定のサービスを選択し、選択したサービスの追加をクリックします。 この例では、標準SAP APIであるAPI_SALES_ORDER_SRVを追加します。 サービスの追加

4

技術サービスのカスタム名を指定します。例:ZAPI_SALES_ORDER_SRV

5

ローカルオブジェクトをクリックしてサービスをローカルパッケージに保存し、OAuth有効化の下にあるサービスのOAuthを有効化チェックボックスを選択します。

oauth2有効化サービスカタログ

6

エイリアスをダブルクリックし、SAP System AliasService Doc. Identifierに対して正しいことを確認します。 サービスエイリアス

7

サービスがサービスカタログにすでに存在する場合は、そのサービスに直接移動し、OAuthをクリックしてOAuth認証を有効にできます。 oauth2有効化

OAuth2.0の前提条件

OAuthを設定するには、次の前提条件の手順を完了します:

1

トランザクションコードSICFに移動します。 サービスブラウザー

2

パスdefault_host/sap/bc/sec/oauth2/の下にあるサービスauthorizeに移動します。 サービスauthorizeのURL取得

3

authorizeサービスを右クリックし、リンクの有効化を選択します。

4

サービスをもう一度右クリックし、テストリンクを選択してサービスのURLを確認します。 URLはhttps://<hostname>:<port>/sap/bc/sec/oauth2/authorize?sap-client=<XXX>である必要があります。

5

パスdefault_host/sap/bc/sec/oauth2/の下にあるサービスtokenに移動します。

サービスtokenのURL取得

6

tokenサービスを右クリックし、サービスの有効化を選択します。

7

サービスを再度右クリックし、テストサービスを選択してサービスURLを確認します:https://<hostname>:<port>/sap/bc/sec/oauth2/token?sap-client=<XXX>

8

トランザクションコードSU01に移動します。

クライアントIDとして使用する連携ユーザー

OAuthコネクションを確立するために必要な最小権限については、SAPの最小権限セクションを参照してください。

ユーザー作成tcode

9

OAuthスコープを割り当てる予定の連携ユーザーを作成し、住所タブおよびログオンデータタブのLast nameNew Passwordが維持されていることを確認します。

ユーザー作成住所

パスワードおよびユーザーの推奨事項

セキュリティを強化するため、生成オプションを使用して複雑な文字列を取得することをお勧めします。 この文字列はクライアントシークレットとして使用されます。 さらに、このユーザーについて、ユーザータイプをGUIアクセスを制限するSystemユーザーとして維持します。

ユーザー作成ログオンデータ

OAuth2.0クライアントIDの設定

OAuthクライアントIDを設定するには、次の手順を完了します:

1

トランザクションコードSOAUTH2に移動します。 soauth2設定

2

作成をクリックし、必要なユーザー詳細と値を入力します。

クライアントIDの利用状況に関する推奨事項

Workatoで同じSAPシステムを指す複数のコネクションを作成する予定がある場合、コネクション喪失を避けるために、個別のコネクションごとに複数のクライアントIDを作成することをお勧めします。

soauth2設定

soauth2クライアント設定

3

選択したグラントタイプに基づいて、Grant Type Authorization Code ActiveまたはGrant Type Client Credentials ActiveRefresh Allowedチェックボックスを選択します。 データセンターのコールバックURIを使用して、Redirect URIを維持します。 soauth2グラントタイプ設定

4

追加をクリックし、使用する予定のスコープをリストから選択します。 例:選択したスコープZAPI_SALES_ORDER_SRV_0001は、API_SALES_ORDER_SRVサービスへのアクセスを提供します。 スコープ割り当て

5

次へをクリックし、概要を確認してから、完了をクリックします。

6

OAuth2.0クライアントIDの設定が完了しました。 スコープ割り当て

コネクションフィールド

コネクションの確立を完了するには、Workatoで次のフィールドに入力します:

ODATAバージョン

V2 APIとV4 APIには専用のコネクションを作成することをお勧めします。

フィールド説明
コネクション名他のレシピで再利用できるように、コネクションにわかりやすい名前を指定します。
コネクションタイプオンプレミスSAPシステムと同じドメインで実行されているオンプレミスエージェントを選択します。 接続を試みる前に、有効なオンプレミスエージェントがあることを確認してください。
認証タイプOAuth2.0 Authorization codeまたはOAuth2.0 Client credentialsを選択します。
ODataバージョンこのコネクションで使用する予定のAPIのODataバージョンを選択します: v2またはv4
Client IDOAuthコネクション設定中に作成したuserIDを入力します。
Client Secretパスワードを入力します。 これは、OAuthコネクション設定中に生成または追加したパスワードです。
スコープSAP ODataシステムへのアクセスに使用する予定のスコープを指定します。 例:ZAPI_SALES_ORDER_SRV_0001。 複数のスコープはカンマで区切る必要があります。
ホストSAP ODataサービスのベースパス。
例えば、サービスURLがhttps://www.myS4HanaSystem.com/sap/opu/odata/sap/API_SALES_ORDER_SRVの場合、ホストはhttps://www.myS4HanaSystem.com/sap/opu/odata/sap/です。
サービス認証のテストに使用できるサンプルサービスを指定します。 これは最初に設定したサービスにできます。
例えば、サービスURLがhttps://www.myS4HanaSystem.com/sap/opu/odata/sap/API_SALES_ORDER_SRVの場合、ServiceはAPI_SALES_ORDER_SRVです。
SAPクライアントこのODataサービスが存在するSAPクライアントを指定します。
例えば、サービスURLがhttps://www.myS4HanaSystem.com/sap/opu/odata/sap/API_SALES_ORDER_SRV?sap-client=100の場合、sap clientは100です。
クライアントを指定しない場合、SAPで設定されたデフォルトクライアントが使用されます。
SSO/SAML2をバイパスOAuth2.0 Authorization codeでのみ有効です。 非フェデレーションユーザーでSAML 2.0設定をバイパスしてSAPシステムへのコネクションを確立するには、Yesを選択します。

Last updated: