Microsoft で SSO を設定する
組織のオーナーと管理者が、メンバーを Microsoft Entra ID の職場アカウントで Actagate にログインさせるための手順です。 サインイン用のアプリは Actagate を動かす配備側に 1 つ登録し、組織の設定画面ではサインインの許可と、許可するテナント ID だけを決めます。
アプリの登録と環境変数の設定 (手順 1 と 2) は、Actagate を動かしている運用担当者が行います。製品の提供元が用意する共有の OAuth アプリはありません。権限の付与に使う実行用の Entra アプリとは、別のアプリとして登録します。
1. Entra ID でアプリを登録する
Section titled “1. Entra ID でアプリを登録する”- Microsoft Entra 管理センターの「アプリの登録」で「新規登録」を押します
- サポートされるアカウントの種類に「任意の組織ディレクトリ内のアカウント」を選んで登録します。個人の Microsoft アカウントは対象外です。アプリの「概要」が開きます
- 「概要」のアプリケーション (クライアント) ID を控えます
- 「証明書とシークレット」でクライアントシークレットを作り、その「値」を控えます。シークレット ID ではありません。有効期限も記録し、期限の前に作り直します
- 「API のアクセス許可」で、委任されたアクセス許可
openid、email、profileを追加します。テナントの同意ポリシーに応じて、管理者の同意を与えます - 利用者のテナントの「概要」にあるディレクトリ (テナント) ID を控えます。手順 3 で使います
公式資料: Microsoft ID プラットフォームの OpenID Connect
2. 環境変数を設定する
Section titled “2. 環境変数を設定する”- Web アプリの環境変数
MICROSOFT_OIDC_CLIENT_IDとMICROSOFT_OIDC_CLIENT_SECRETに、手順 1 の値を設定します - Web アプリを再起動します。「設定」の「セキュリティ」にある「シングルサインオン」の一覧に「Microsoft」が出ます
シークレットは配備先のシークレットストアで管理し、リポジトリには入れません。2 つのどちらかが未設定なら、設定画面にもログイン画面にも Microsoft は出ません。WEB_BASE_URL は、利用者が開く公開 HTTPS のオリジンにしておきます。
3. Actagate で Microsoft の設定を保存する
Section titled “3. Actagate で Microsoft の設定を保存する”- 「設定」の「セキュリティ」(
/ws/settings/security) を開き、「シングルサインオン」の「プロバイダを選んで接続を追加」で「Microsoft」を開きます。Microsoft のフォームが開きます - 「許可する Microsoft テナント ID」にテナント ID (GUID) を入力します。複数あるときは改行かカンマで区切ります
- 「Microsoft でのサインインを許可する」は外したまま「保存」を押します。フォームの下に「Entra ID に登録するリダイレクト URI」が表示されます
Microsoft の接続は組織に 1 つです。OIDC の接続と違い、テストの段階はありません。
4. リダイレクト URI を登録する
Section titled “4. リダイレクト URI を登録する”- 表示された
https://<ホスト>/api/auth/sso/callback/<接続 ID>をコピーします - Entra のアプリの「認証」で、プラットフォーム「Web」のリダイレクト URI として登録します。接続 ID を含め、表示と完全に一致させます
5. Microsoft でのサインインを許可する
Section titled “5. Microsoft でのサインインを許可する”- 「Microsoft でのサインインを許可する」を選んで「保存」を押します。ログイン画面に「Microsoft で続ける」のボタンが出ます
有効にするには、テナント ID が 1 つ以上必要です。許可したテナント以外のアカウントはログインできません。ID トークンの tid (テナント ID) と iss が一致しない場合も拒否します。
6. ログインを確かめる
Section titled “6. ログインを確かめる”- 招待済みの一般メンバーがログイン画面で「Microsoft で続ける」を押し、Microsoft でサインインします。Actagate の画面が開きます
- 許可していないテナントのアカウントでは、「この Microsoft テナントは許可されていません。」と表示されることを確かめます
Actagate は Microsoft の利用者を、テナント ID とオブジェクト ID の組 (tid と oid) で識別します。初回のログインでだけ、許可したテナントの UPN (preferred_username) を招待済みメンバーのメールアドレスと照合します。UPN がメールアドレスの形で、登録済みのメールアドレスと一致している必要があります。2 回目からは UPN が変わっても同じアカウントのままです。オーナーと管理者は、既存の方法でログインしてから「設定」の「ログイン方法」で「Microsoft を追加」を押して紐づけます。
7. 困ったとき
Section titled “7. 困ったとき”- 一覧に Microsoft が出ない:
MICROSOFT_OIDC_CLIENT_IDとMICROSOFT_OIDC_CLIENT_SECRETの両方を設定し、Web アプリを再起動したか確かめます - Microsoft の画面でリダイレクト URI の不一致になる: Entra に登録した URI が、設定画面の表示と完全に一致しているか確かめます
- 「この Microsoft テナントは許可されていません。」(
tenant_forbidden): 「許可する Microsoft テナント ID」にそのテナント ID を足します - Microsoft でサインインしたあと、ログイン画面にエラーが出る: クライアントシークレットの「値」を設定したか、有効期限が切れていないかを確かめます
ほかの理由コードは SSO で困ったとき にまとめています。