2016-10-21 4 views
3

WSO2ESBを使用しています。セキュリティを追加し、WSO2DSSで実行されているセキュリティ保護されていないREST APIを公開しようとしています。 基本的には、ESBのユーザーストアにユーザー名/パスワードをロールで格納し、そのロールに基づいてAPIにアクセスする必要があります。私は、クライアントが認証トークンを 'Authorization' httpヘッダーで送信する必要があることを理解しています。では、このトークンとユーザーストアを比較し、特定のサービスにのみアクセスできるようにESBを構成するにはどうすればよいですか? 私はESBを使用しています。なぜなら、クライアントに送信する前にレスポンスにいくつかの変換が行われるからです。どんな幅広いアイデアも役立ちます。 WSO2ESBでRESTプロキシサービスをセキュリティで保護する

あなたは

答えて

1

私はHTTPを使用することができていますhttp://suhan-opensource.blogspot.co.uk/2016/08/wso2-dss-secure-data-service-using.htmlの助けを借りて基本認証。

WSO2ESBまたはDSSの最新バージョンでは、管理コンソールからセキュリティを直接追加することはできません。 Developerスタジオを使用するか、XMLソースを直接編集してください。

+0

偉大な、以前のバージョンは、ポリシーファイルからロールをマップするのに問題があった:)私たちは両方新しい何かを学んだ:D – gusto2

1

あなたがプロキシにごbeckendのREST APIをESBでAPIを作成することができますありがとうございました。 APIコールを承認するハンドラを記述することができます。 this blog bostを参照してください。

ところで、あなたはWSO2 APIマネージャーを見ていませんか? APIを管理するには、ESBよりも適しています。複雑な変換がある場合は、ESB(APIMの前にあります)を使用できます。メディエーション・ロジックが複雑でない場合は、APIM自体の内部で行うことができます。詳細については、this docを参照してください。

詳細な承認機能が必要な場合は、XACMLポリシーにentitlement mediatorを使用できます。詳細については、this articleを参照してください。

+1

ありがとうBhathiya。私はあなたが言及したブログに似た何かをしました。 ESBにはメディエーターがほとんどいませんが、XMLメッセージとHTTP戻りコードを操作する必要があります。だから、ESBは唯一の選択肢だと思います。 – pskumar

0

いくつかのアプローチがあります。

直接承認:最も簡単な方法は、(管理コンソールで)サービスセキュリティを有効にし、「ユーザー名トークン」を選択し、許可された役割を選択することです。この方法で、クライアントのいずれかに送信する必要があります。

  1. 使用基本認証(認証の基本

はそれをシンプルに保つのUsernameTokenとタイムスタンプとWS-Securityヘッダーを送信するユースケースのほとんど。このアプローチは十分です

委任承認:サードパーティ製PDP(ユーザーがサービスにアクセスすることが可能と言うサービス)を有する

  1. 詳細な承認(例:特定の時間帯における特定のロールのみ)、(WSO2ISまたはAMからの)XACML EntitlementServiceを使用してコールを承認することができます。他のシステムからの認証済みユーザーの場合

  2. 、最も簡単な方法は、あなたが(すでに他の回答で述べたようにマネージAPIを使用してなど)を検証することができますトークンベアラを使用することです

+0

ありがとうございます。私はHTTP基本認証を使用することができました。私はhttp://suhan-opensource.blogspot.co.uk/2016/08/wso2-dss-secure-data-service-using.htmlで述べたように、XML設定を直接編集しなければならなかった。 – pskumar

関連する問題