メインコンテンツまでスキップ

Azure SSO認証設定

Azure(MS Entra ID)アカウントを通じて、exemONEにSSO(Single Sign-On)ログインを行うことができます。

連携フロー:

段階説明
1exemONEアプリドメインへのアクセス
2Azureログイン画面への移動
3Azureアカウントでログイン
4exemONEへのリダイレクトおよび自動ログイン

前提条件: 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-IdAzureアプリクライアントID
Tenant-IdAzureアプリテナントID
Vault-NameAzure Key Vault名
App-DomainexemONEアプリドメイン

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-modetrue に設定して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アカウントで自動的にログインされます。

clipboard

4-2. ユーザー自動登録の確認​

Azureログイン成功時、exemONEに以下の情報でユーザーが自動登録されます。

項目自動入力値
グループDefault
ID / SSO IDAzureアカウント認証ID値
メールAzureアカウントのメールアドレス
名前Azureユーザー名

clipboard

SSO ID管理パス: Setting > Account > User > User List

  • SSO ID項目は外部連携IDであり、使用には別途サーバー設定が必要です。