Google で SSO を設定する
組織のオーナーと管理者が、メンバーを Google アカウントで Actagate にログインさせるための手順です。 Google の OAuth クライアントは Actagate を動かす配備側に 1 つ置き、組織の設定画面ではサインインの許可と、許可する Google Workspace ドメインだけを決めます。
OAuth クライアントの作成と環境変数の設定 (手順 1 と 2) は、Actagate を動かしている運用担当者が行います。製品の提供元が用意する共有の OAuth アプリはありません。
1. Google Cloud で OAuth クライアントを作る
Section titled “1. Google Cloud で OAuth クライアントを作る”- Google Cloud コンソールで OAuth 同意画面を設定します。Google Workspace の組織内だけで使う場合は「Internal」を選びます
- スコープに
openid、email、profileを追加します - 「認証情報」で OAuth クライアント ID を作り、アプリケーションの種類に「ウェブ アプリケーション」を選びます。クライアント ID とクライアントシークレットが表示されます
- 承認済みのリダイレクト URI は、手順 3 で表示される値を入れるまで空のままにします
公式資料: Google の OpenID Connect
2. 環境変数を設定する
Section titled “2. 環境変数を設定する”- Web アプリの環境変数
GOOGLE_OIDC_CLIENT_IDとGOOGLE_OIDC_CLIENT_SECRETに、手順 1 の値を設定します - Web アプリを再起動します。「設定」の「セキュリティ」にある「シングルサインオン」の一覧に「Google」が出ます
シークレットは配備先のシークレットストアで管理し、リポジトリには入れません。2 つのどちらかが未設定なら、設定画面にもログイン画面にも Google は出ません。WEB_BASE_URL は、利用者が開く公開 HTTPS のオリジンにしておきます。
3. Actagate で Google の設定を保存する
Section titled “3. Actagate で Google の設定を保存する”- 「設定」の「セキュリティ」(
/ws/settings/security) を開き、「シングルサインオン」の「プロバイダを選んで接続を追加」で「Google」を開きます。Google のフォームが開きます - 「Google でのサインインを許可する」は外したまま、「許可する Google Workspace ドメイン」を入力して「保存」を押します。フォームの下に「Google Cloud に登録するリダイレクト URI」が表示されます
Google の接続は組織に 1 つです。OIDC の接続と違い、テストの段階はありません。
4. リダイレクト URI を登録する
Section titled “4. リダイレクト URI を登録する”- 表示された
https://<ホスト>/api/auth/sso/callback/<接続 ID>をコピーします - Google Cloud の OAuth クライアントの「承認済みのリダイレクト URI」に貼り付けて保存します。接続 ID を含め、表示と完全に一致させます
5. Google でのサインインを許可する
Section titled “5. Google でのサインインを許可する”- 「Google でのサインインを許可する」を選んで「保存」を押します。ログイン画面に「Google で続ける」のボタンが出ます
「許可する Google Workspace ドメイン」は、改行かカンマで区切って入力します。ドメインを入れると、ID トークンの hd (Workspace のドメイン) が一覧にない Google アカウントはログインできません。hd を持たない個人の Gmail アカウントも拒否します。空欄なら、個人アカウントも受け付けます。
6. ログインを確かめる
Section titled “6. ログインを確かめる”- 招待済みの一般メンバーがログイン画面で「Google で続ける」を押し、Google でサインインします。Actagate の画面が開きます
- 許可していないドメインのアカウントでは、「この Google アカウントのドメインは許可されていません。」と表示されることを確かめます
初回のログインでは、Google で確認済みのメールアドレスを、招待済みメンバーのメールアドレスと照合します。2 回目からは Google の sub で同じ人を特定します。メールアドレスが変わっても、同じアカウントです。オーナーと管理者は、既存の方法でログインしてから「設定」の「ログイン方法」で「Google を追加」を押して紐づけます。
7. 困ったとき
Section titled “7. 困ったとき”- 一覧に Google が出ない:
GOOGLE_OIDC_CLIENT_IDとGOOGLE_OIDC_CLIENT_SECRETの両方を設定し、Web アプリを再起動したか確かめます - Google の画面で redirect_uri_mismatch になる: 承認済みのリダイレクト URI が、設定画面の表示と完全に一致しているか確かめます
- 「Google のメールアドレスが確認されていません。」(
email_unverified): Google 側でメールアドレスを確認してから、もう一度ログインします - 「この Google アカウントのドメインは許可されていません。」(
hosted_domain_forbidden): 「許可する Google Workspace ドメイン」にそのドメインを足すか、組織のアカウントでログインします
ほかの理由コードは SSO で困ったとき にまとめています。