2016-12-13 14 views
1

web apiプロジェクト(.net)があり、認証、キャッシュ、e.t.cを処理するAWS APIゲートウェイを実装する予定です。しかし、ユーザーのアクセスを制限する必要があります。 IDのセットから、ユーザーがIDのサブセットのデータにアクセスすることができます。 AWS側でのみ認証を処理したいと思っていますが、私たちが持っている要件を考慮して、これをどのように達成できるかはわかりません。AWS api gatewayとweb apiでカスタム認証(ロジック)を実装する方法

また、カスタム認証のためにIdentity Server 3とAWS API Gatewayを統合する方法はありますか。

P.S. IISサーバーとバックエンドでホストされているWeb Api 2.2はSQLサーバーなので、AWSとAPIゲートウェイのみを使用しています。インフラをホスティングに使用しています。私たちはIdentity Server 3を持っていますが、現在は別のアプリで認証サーバーとして使用されています。

答えて

0

APIゲートウェイのカスタム認証機能を見たような音がします。アイデンティティ・サーバーに公開されている場合は、ラムダ認可機能を使用して認証できます。

クライアントがヘッダーにいくつかの認証トークンを送信すると仮定すると、ラムダ関数はトークンを取り、Identity Serverを使用して認証できます。その後、発信者のアクセス許可をIAMポリシーに変換することができます。

あなたがAPIリソースは以下のように設定している場合:

{ 
    "principalId": "yyyyyyyy", // The principal user identification associated with the token sent by the client. 
    "policyDocument": { 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
     "Action": "execute-api:Invoke", 
     "Effect": "Allow", 
     "Resource": [ 
      "arn:aws:execute-api:<regionId>:<accountId>:<restApiId>/<stage>/<httpVerb>/user/id-1/data", 
      "arn:aws:execute-api:<regionId>:<accountId>:<restApiId>/<stage>/<httpVerb>/user/id-61/data", 
      "arn:aws:execute-api:<regionId>:<accountId>:<restApiId>/<stage>/<httpVerb>/user/id-4/data" 
     ] 
     } 
    ] 
    }, 
    "context": { 
    "key": "value", 
    "numKey": 1, 
    "boolKey": true 
    } 
} 

/user/{id}/data

あなたは、特定のid値へのアクセスと承認者の結果を構築することができます

関連する問題