ablog

不器用で落着きのない技術者のメモ

Google 認証を使ってALBで認証する

Google Identity Platformで OAuthクライアントID発行

  • Google Cloud Platform にアクセスし Google アカウントでログインする。
  • 任意の名前でプロジェクトを作成する。

  • [認証情報を作成]-[OAuth クライアント ID]をクリックする。

  • [同意画面を設定]をクリックする。

  • OAuthクライアントIDの作成

  • クライアントIDとクライアントシークレットをコピーしておく。

  • Google OpenID Providerの各エンドポイントを確認
$ curl https://accounts.google.com/.well-known/openid-configuration
{
 "issuer": "https://accounts.google.com", ★
 "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",★
 "token_endpoint": "https://oauth2.googleapis.com/token",★
 "userinfo_endpoint": "https://openidconnect.googleapis.com/v1/userinfo",★
 "revocation_endpoint": "https://oauth2.googleapis.com/revoke",
 "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
 "response_types_supported": [
  "code",
  "token",
  "id_token",
  "code token",
  "code id_token",
  "token id_token",
  "code token id_token",
  "none"
 ],

AWS

EC2
$ sudo yum -y install httpd
$ sudo service httpd start
  • 証明書を作成する。
$ openssl genrsa -out server.key 2048
$ openssl req -new -key server.key -out server.csr #いろいろ聞かれるのですべて入力せずに Enter 押下
$ openssl x509 -in server.csr -days 365000 -req -signkey server.key > server.crt
  • EC2インスタンスにアタッチしているセキュリティグループを設定してHTTPでアクセスできるようにする。
  • http://EC2のパブリック DNS」にアクセスしてページが表示されることを確認する。


ターゲットグループ
  • [EC2]-[ターゲットグループ]-[ターゲットグループの作成]をクリックし、ターゲットグループを作成する。

  • 作成したターゲットグループを選択して、[ターゲット]タブを選択して、[編集]をクリックする。
    • 作成したEC2インスタンスを選択して、[登録済みに追加]をクリック


ロードバランサー

  • セキュリティ設定の構成
    • 証明書タイプ: IAM に証明書をアップロードする
    • 証明書の名前: 任意
    • プライベートキー: EC2で作成した server.key の内容をコピー&ペースト
    • 証明書本文: EC2で作成した server.crt の内容をコピー&ペースト

  • [アクションの追加]-[認証]を選択する。

  • Google OpenID Providerの各エンドポイントとクライアントID、クライアントシークレットをコピー&ペーストする。

  • ルーティングの設定
    • ターゲットグループ: 既存のターゲットグループ
    • 名前: 作成したターゲットグループを選択

  • ウイザードに従って作成を完了する。

テスト