Azure SSO認証設定
Azure(MS Entra ID)アカウントを通じて、exemONEにSSO(Single Sign-On)ログインを行うことができます。
連携フロー:
| 段階 | 説明 |
|---|---|
| 1 | exemONEアプリドメインへのアクセス |
| 2 | Azureログイン画面への移動 |
| 3 | Azureアカウントでログイン |
| 4 | exemONEへのリダイレクトおよび自動ログイン |

前提条件: Azure > Key Vault(キーコンテナー)が作成済みであり、ユーザー/アプリに権限が付与された状態である必要があります。
2. 連携準備(Azure管理者の事前作業)
2-1. 共通準備事項
Azure SSO認証後にリダイレクトするURL形式は以下の通りです。
{APP_DOMAIN}/{CALLBACK_URL}
{APP_DOMAIN} = https://customer.exemone.com # gateway.sso.app-domain の値と同一
{CALLBACK_URL} = /azure/ad/callback # gateway.sso.azure.redirection-url の値と同一
-> https://customer.exemone.com/azure/ad/callback
2-2. Azure管理者への作成依頼項目
| 項目 | 説明 |
|---|---|
| App-Domain | 状況に応じて割り当てられます。 |
| リダイレクションURL | 割り当てられたapp-domainの後ろに /azure/ad/callback を付けて使用します。 |
| Vault-Name | 担当者が指定しない場合は exemone-vault 名を使用します。 |
管理者がドメイン割り当て → アプリケーション作成 → ボルト作成 → 権限処理を完了した後、以下の情報を受け取ります。
| 受け取り項目 | 説明 |
|---|---|
| Client-Id | AzureアプリクライアントID |
| Tenant-Id | AzureアプリテナントID |
| Vault-Name | Azure Key Vault名 |
| App-Domain | exemONEアプリドメイン |
3. 設定方法
exemone-gateway および exemone-api の設定ファイルを修正して、Azure外部ログイン機能を連携します。
3-1. exemone-gateway設定ファイルにSSOオプションを追加
設定ファイルパス:
{EXEMONE_HOME}/containers/exemone-gateway/configs/gateway.yaml
設定フォーマット:
gateway:
port: 8080
access-token-duration-minute: 100
keep-logged-in: true
session-timeout-mode: false
sso:
sso-path: "/" # Exemoneエントリーポイント(固定値)
authorization-path: "/sso/azure/kt" # APIサーバー認証URL(固定値)
redirection-url: "{app-domain}/sso" # SSO認証失敗時のRedirect URL
redirection-error-url: "https://{app-domain}/CUSTOM/ssoErrorPage.html" # SSO認証失敗時のエラーRedirect URL
app-domain: "{app-domain}" # アプリドメイン
azure:
redirection-url: "{callback-url}" # Azure ADアプリコールバックURL
client-id: "{client-id}" # AzureアプリクライアントID
tenant-id: "{tenant-id}" # AzureアプリテナントID
client-secret: "{client-secret}" # Azureアプリシークレット(開発用)
vault-name: "{vault-name}" # Azure Vault名
設定例:
gateway:
port: 8080
access-token-duration-minute: 100
keep-logged-in: true
session-timeout-mode: false
sso:
sso-path: "/"
authorization-path: "/sso/azure/kt"
redirection-url: "https://customer.exemone.com/sso"
redirection-error-url: "https://customer.exemone.com/CUSTOM/ssoErrorPage.html"
app-domain: "https://customer.exemone.com"
azure:
redirection-url: "/azure/ad/callback"
client-id: "91855555-test-test-test-5c9999999998"
tenant-id: "3fc55555-test-test-test-f27777778788"
vault-name: "exemone-vault"
3-2. exemone-api設定ファイルの修正
設定ファイルパス:
{EXEMONE_HOME}/containers/exemone-api/configs/api.yaml
SSOオプションの有効化とログアウトページの設定:
xm:
...
sso:
sso-mode: true
redirection-logout-url: https://{app-domain}/manager
...
| 項目 | 説明 |
|---|---|
| sso-mode | true に設定してSSOモードを有効化します。 |
| redirection-logout-url | ログアウト時にリダイレクトするページのURLを設定します。 |
3-3. サービスの再起動
[Docker導入環境]
# gatewayを再起動
${EXEMONE_HOME}/scripts/restart.sh gateway
# apiを再起動
${EXEMONE_HOME}/scripts/restart.sh api
[バイナリ導入環境]
# gatewayを再起動
${EXEMONE_HOME}/onctl restart gateway
# apiを再起動
${EXEMONE_HOME}/onctl restart api
4. ログインおよびユーザー自動登録の確認
4-1. アプリドメインでログイン
設定完了後、アプリドメインに接続するとAzureアカウントで自動的にログインされます。

4-2. ユーザー自動登録の確認
Azureログイン成功時、exemONEに以下の情報でユーザーが自動登録されます。
| 項目 | 自動入力値 |
|---|---|
| グループ | Default |
| ID / SSO ID | Azureアカウント認証ID値 |
| メール | Azureアカウントのメールアドレス |
| 名前 | Azureユーザー名 |

SSO ID管理パス:
Setting > Account > User > User List
- SSO ID項目は外部連携IDであり、使用には別途サーバー設定が必要です。