ALBの認証をOneLoginのOIDCを利用して実現したいです

EC2に構築したWebサーバーにALBを配置して、認証の設定をOneLoginと行うことで、Webサーバーのログイン認証をOneLoginに統合して管理することが可能です。

Untitled.png

前提条件

OneLogin側のアカウントの準備やWebサーバーやALB自体の構築がすでにされていることが前提です

OneLogin側の設定

OneLoginの管理画面に移動し"Applications > Application"を開き"Add App"を開きます。

2020-02-19_17h08_51.png

"Configuration"タブを開き、以下の2つの項目を設定して、"SAVE"を押します。

  • Login Url → ALB に設定しているドメイン
  • Redirect URI's → ALBに設定してるドメイン + /oauth2/idpresponse

2020-02-19_17h17_38.png

"SSO"タブを開き"Token Endpoint"を"POST"に設定します。
そして、"Client ID"と"Client Secret"を控えて"SAVE"を押します。
※"Show client secret"を押すことで、"Client Secret"は確認できます。2020-02-19_17h22_36.png

"Well-known Configuration"を新しいタブで開くと、"JSON"が表示されるので、その内容を控えておきます。

2020-02-19_17h24_32.png

"Access"タブから、利用するユーザーのロールを指定して"SAVE"を押します。

2020-02-19_17h37_57.png

ALBの設定

AWSアカウントにログイン後、"EC2 > ロードバランサー"を開き、該当ALBを選択して、新規でリスナーを追加する場合は"リスナーの追加"、既にあるリスナーを変更する場合は"編集"を押します。
※今回の手順では"リスナーの追加"で行います。

2020-02-19_17h56_07.png

2020-02-19_17h59_27.png

認証を"OIDC"に設定し、該当項目にOneLogin設定時に取得した値を入力して、"✓"を押します。
パラメータは下記の表を参考に入力してください。

2020-02-19_18h00_47.png

OneLogin側の表示名 ALB側の表示名
issuer 発行者
authorization_endpoint 認証エンドポイント
token_endpoint トークンエンドポイント
userinfo_endpoint ユーザー情報エンドポイント
ClientID クライアントID
Secret クライアントのシークレット

次に、認証後に転送する設定を行います。"アクションの追加 > 転送先..."を押します。

2020-02-19_18h13_29.png

該当するターゲットグループを選択して"✓"を押します。

2020-02-19_18h14_26.png

最後に証明書の設定を押して"保存"を押します。

2020-02-19_18h14_47.png

動作確認

ALBのドメインにアクセスすると、以下のようにOneLoginにリダイレクトされ、認証が求められるので、認証を行うことで、該当するWebサイトにアクセスが可能になります。
※OneLogin側で多要素認証の設定をしている場合、多要素認証が求められます。

2020-02-19_18h39_45.png

 

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください