2017-05-16 14 views
0

私は以下を達成しようとしています: APIゲートウェイへのいくつかのメニューと呼び出しに対して異なるユーザー権限が必要なWebアプリケーションがあります。Cognito User Pool Groupsは異なるロールでは機能しません。

私は次のことを行っている: - それらのグループ に割り当てられたユーザ - - 2グループ(グループ1グループ2) で、ユーザのプールを設定2つのポリシー(ポリシー1を設定し、ポリシー1が供給における認証ロールのデフォルトのポリシーです方針2、identites) - 。役割 に正しい信頼ポリシーを設定する - authentica下連合アイデンティティでは、ション・プロバイダー、私は認証ロールに選択を設定しているが、フロントにはトークン

からロールを選択し、私はIDトークンをデコードし、cognitoことを確認した:初期化時にグループなどが正しいですかログイン。

したがって、グループ1はすべてを許可する緩いポリシーであり、ポリシー2はAPIゲートウェイ内の特定のリソースへの呼び出しを許可しないようにするより厳しいポリシーです。

しかし、より厳しいポリシー2を持つグループ2にユーザーを割り当てると、ユーザーは引き続きすべてを許可するポリシー1を使用しているようです。私はここで間違って何をしていますか?

私はthis threadと同じ問題を持っていないと行われ、それが言うまさに、まだ何の進展

+0

ここで同じ問題があります。あなたはそれを解決しましたか? – Philipp

+0

いいえ、私は別の方法でそれを解決してしまった...私は誤って認可者としてコグニートを使用しました。私はオーソライザをまったく使用してはいけませんでしたが、代わりにAWS_IAMをAPIゲートウェイに使用してください。次に、正しいARN(以前のログインから保存された)で正しい役割を引き受けるAPIゲートウェイへの呼び出しの前に、リフレッシュ認証情報とセッションをリフレッシュします。リトルトリッキーしかし、それは動作します。これがあなたを助けることを願って! – Shaho

+0

アンサーに感謝します。私は同じ方法であなたに尋ねた後、昨日も解決しました。他の人が興味を持っている場合は、ここに私のソリューションを掲載しました:https://stackoverflow.com/questions/48540390/aws-restrict-cognito-authorized-user-to-specific-lambda-functions – Philipp

答えて

0

これはばかげた質問かもしれませんが、あなたはCognitoユーザー・プールのグループへのIAMロールが割り当てられていますか?

さらに、私はより制限的なポリシー優先順位を選択します。認証されたロールとして「通常のユーザー」ポリシーを適用し、特定のグループに属するユーザーが引き受けるロールとして、より多くの「管理者ユーザー」ポリシーを適用する必要があります。

同様に:

グループ:管理者(ポリシーAが結合)(優先順位0) グループ:ユーザー(ポリシーBが結合)(優先10)

認証役割:ポリシーB

+0

はい私は役割を割り当てましたユーザーグループに – Shaho