コンテンツにスキップ

Microsoft で SSO を設定する

組織のオーナーと管理者が、メンバーを Microsoft Entra ID の職場アカウントで Actagate にログインさせるための手順です。 サインイン用のアプリは Actagate を動かす配備側に 1 つ登録し、組織の設定画面ではサインインの許可と、許可するテナント ID だけを決めます。

アプリの登録と環境変数の設定 (手順 1 と 2) は、Actagate を動かしている運用担当者が行います。製品の提供元が用意する共有の OAuth アプリはありません。権限の付与に使う実行用の Entra アプリとは、別のアプリとして登録します。

  1. Microsoft Entra 管理センターの「アプリの登録」で「新規登録」を押します
  2. サポートされるアカウントの種類に「任意の組織ディレクトリ内のアカウント」を選んで登録します。個人の Microsoft アカウントは対象外です。アプリの「概要」が開きます
  3. 「概要」のアプリケーション (クライアント) ID を控えます
  4. 「証明書とシークレット」でクライアントシークレットを作り、その「値」を控えます。シークレット ID ではありません。有効期限も記録し、期限の前に作り直します
  5. 「API のアクセス許可」で、委任されたアクセス許可 openid、email、profile を追加します。テナントの同意ポリシーに応じて、管理者の同意を与えます
  6. 利用者のテナントの「概要」にあるディレクトリ (テナント) ID を控えます。手順 3 で使います

公式資料: Microsoft ID プラットフォームの OpenID Connect

  1. Web アプリの環境変数 MICROSOFT_OIDC_CLIENT_ID と MICROSOFT_OIDC_CLIENT_SECRET に、手順 1 の値を設定します
  2. Web アプリを再起動します。「設定」の「セキュリティ」にある「シングルサインオン」の一覧に「Microsoft」が出ます

シークレットは配備先のシークレットストアで管理し、リポジトリには入れません。2 つのどちらかが未設定なら、設定画面にもログイン画面にも Microsoft は出ません。WEB_BASE_URL は、利用者が開く公開 HTTPS のオリジンにしておきます。

3. Actagate で Microsoft の設定を保存する

Section titled “3. Actagate で Microsoft の設定を保存する”
  1. 「設定」の「セキュリティ」(/ws/settings/security) を開き、「シングルサインオン」の「プロバイダを選んで接続を追加」で「Microsoft」を開きます。Microsoft のフォームが開きます
  2. 「許可する Microsoft テナント ID」にテナント ID (GUID) を入力します。複数あるときは改行かカンマで区切ります
  3. 「Microsoft でのサインインを許可する」は外したまま「保存」を押します。フォームの下に「Entra ID に登録するリダイレクト URI」が表示されます

Microsoft の接続は組織に 1 つです。OIDC の接続と違い、テストの段階はありません。

  1. 表示された https://<ホスト>/api/auth/sso/callback/<接続 ID> をコピーします
  2. Entra のアプリの「認証」で、プラットフォーム「Web」のリダイレクト URI として登録します。接続 ID を含め、表示と完全に一致させます

5. Microsoft でのサインインを許可する

Section titled “5. Microsoft でのサインインを許可する”
  1. 「Microsoft でのサインインを許可する」を選んで「保存」を押します。ログイン画面に「Microsoft で続ける」のボタンが出ます

有効にするには、テナント ID が 1 つ以上必要です。許可したテナント以外のアカウントはログインできません。ID トークンの tid (テナント ID) と iss が一致しない場合も拒否します。

  1. 招待済みの一般メンバーがログイン画面で「Microsoft で続ける」を押し、Microsoft でサインインします。Actagate の画面が開きます
  2. 許可していないテナントのアカウントでは、「この Microsoft テナントは許可されていません。」と表示されることを確かめます

Actagate は Microsoft の利用者を、テナント ID とオブジェクト ID の組 (tid と oid) で識別します。初回のログインでだけ、許可したテナントの UPN (preferred_username) を招待済みメンバーのメールアドレスと照合します。UPN がメールアドレスの形で、登録済みのメールアドレスと一致している必要があります。2 回目からは UPN が変わっても同じアカウントのままです。オーナーと管理者は、既存の方法でログインしてから「設定」の「ログイン方法」で「Microsoft を追加」を押して紐づけます。

  • 一覧に Microsoft が出ない: MICROSOFT_OIDC_CLIENT_ID と MICROSOFT_OIDC_CLIENT_SECRET の両方を設定し、Web アプリを再起動したか確かめます
  • Microsoft の画面でリダイレクト URI の不一致になる: Entra に登録した URI が、設定画面の表示と完全に一致しているか確かめます
  • 「この Microsoft テナントは許可されていません。」(tenant_forbidden): 「許可する Microsoft テナント ID」にそのテナント ID を足します
  • Microsoft でサインインしたあと、ログイン画面にエラーが出る: クライアントシークレットの「値」を設定したか、有効期限が切れていないかを確かめます

ほかの理由コードは SSO で困ったとき にまとめています。