12
5

More than 3 years have passed since last update.

ALBにCognitoの認証をかける

Last updated at Posted at 2020-12-27

はじめに

ベーシック認証のようなものを、ALBとCognitoを使って実現する話です。
こんなやつ。

スクリーンショット 2020-12-27 21.28.29.png

やり方

userpoolの作成

AWSコンソールからcognitoを開き、右上の「ユーザープールを作成する」ボタンをクリックします。
スクリーンショット 2020-12-27 21.05.25.png

プール名を入力し、「デフォルトを確認する」をクリックし、「プールの作成を」クリックします。
設定を変更したい方は、お好みで変更してから作成してください。
スクリーンショット 2020-12-27 21.05.48.png

続いて、アプリクライアントを作成します。左側のメニューのアプリクライアントから作成します。設定内容はデフォルトのままで大丈夫です。
スクリーンショット 2020-12-27 21.13.23.png

続いて、ALB認証時に使うドメインの登録をします。同じく左メニューの「ドメイン名」から好きなドメインを登録してください。

最後に、左メニューから「アプリクライアントの設定」をクリックし、以下のようにします。は実際に認証をかけるALBの物に書き換えてください。

  • 有効なIDプロバイダの「Cognito User Pool」にチェック
  • 認証されているOAuthフローの「Authorization code grant」にチェック
  • 許可されている OAuth スコープの「openid」にチェック
  • コールバックURLに「https:///oauth2/idpresponse」を入力

スクリーンショット 2020-12-27 21.27.05.png

ALBの設定

httpsで接続できるALBが必要です。作成の仕方はこちらを参考にしてください。https://qiita.com/ggg-mzkr/items/9924f729df15762dda28

AWSのALB一覧から、認証をかけるALBを選択し、したのメニューから「リスナー」タブを開きます。そして、認証をかけたいリスナーに対して「ルールの表示/編集」をクリックします。

詳細画面が出てくるので、上にある鉛筆マークをクリックすると、リスナーの横に鉛筆マークが現れるので、そちらをクリックします。

スクリーンショット 2020-12-27 21.39.39.png

スクリーンショット 2020-12-27 21.40.02.png

「アクションを追加」 → 「認証」 を選択し、先ほど作ったuserpoolとアプリクライアントを選択して、右上の「更新」ボタンを押します。

画面表示

この時点で、ALBへアクセスを行うと、冒頭のような画面にリダイレクトされます。
ログインするためのユーザーは、cognitoの「ユーザーとグループ」から作成することができます。

以上。

12
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
5