memoQ TMSにOIDCベースのシングルサインオンをIISで設定する - パート1 - 会社のシステム管理者向け
memoQ TMSにはさまざまな種類のシングルサインオンがあります:このドキュメントでは、OIDCベースのSSOについて説明します。フレーズ「シングルサインオン」および「SSO」は、OIDCベースのソリューションを指します。「Windows SSO」や「Windows AD SSO」という言葉は、memoQ TMSの旧来のWindows Active DirectoryベースのSSOソリューションを指します。Windows SSOユーザーは、通常のmemoQ TMSユーザーと同様にOIDC SSOに切り替えることができます。
必要なもの
構成を開始する前に、次の情報を収集してください。これらは、プロセスの各段階で必要となります。
-
アイデンティティプロバイダ (IDP) 用のsettings.jsonファイル (%PROGRAMFILES%\Kilgray\MemoQ Server\Oidc\examplesフォルダ内にあります)
-
memoQ TMSのサーバーマシンにインストールされたmemoQweb
-
Authentication Managerが使用する証明書のSubject値。商用 (自己署名ではない) 証明書である必要があります。memoQ TMSが使用しているものでも構いません。サーバーマシンで、コンピューター証明書の管理アプリケーションを開きます (または、certlm.mscコマンドを実行します)。Certificates - Local Computer/Personal/Certificateフォルダの中から証明書を探します。それをダブルクリックし、詳細タブをクリックして、サブジェクトフィールドのホスト名を書き留めます (例:*.mycompany.com)。
-
memoQ TMSデータベースの接続文字列:フォルダ%PROGRAMDATA%\MemoQ Serverを開き、テキストエディタでConfiguration.xmlを開きます。
<SQLConnectionString>タグ間の値をコピーします。 -
IDPの名前 - これは、memoQ TMSデータベース内のIDPの名前であり、memoQのユーザー管理ウィンドウ内のアカウント起源情報の一部です。
セットアップ中に問題が発生した場合は、memoQサポートに連絡してください。
セットアップと構成
この設定では、Authentication ManagerはIISの独自のアプリケーションプールで実行されているウェブアプリです。memoQ TMSと一緒にインストールされますが、動作させるためには構成する必要があります (memoQ TMSをIDPに登録した後)。
memoQ TMSをIDPサービスのクライアントとして登録する場合は、コールバックURLを設定する必要があります。これは、IDPがAuthentication Managerにアクセスできる場所です。コールバックURLは次のようになります:
Authentication ManagerはIDPと通信するIIS下のウェブアプリです。専用ポートは必要ありません。
コールバックURLの最後の部分 (4) は必要に応じて選択できます、しかし:
- 「login」、「logout」、または「auth」であってはなりません。
- 複数のIDPに登録する場合、この部分は各IDPで一意である必要があります。
memoQ TMSをIDPのクライアントとして登録すると、memoQ TMSはClientIDとClientSecretを受信します。これらは、Authentication Managerを設定する際に必要となります。
- Implicit Grantオプション (アクセストークンまたはIDトークン) は必要ありません。
- User.Readタイプの委譲された権限が必要です。
- デフォルトのログアウトURLとして/logoutを設定する必要があります。
ファイアウォールが正しく設定されていることを確認します:IDPによっては、会社のファイアウォールでいくつかのポートを開く必要があります。詳細については、IDPのドキュメンテーションを検索してください。
-
C:\inetpub\wwwroot\の下に、ウェブアプリ用のフォルダを作成してください。この記事では、このフォルダを{oidcbackend}とします。
-
%PROGRAMFILES%\Kilgray\MemoQ Server\Oidc から C:\inetpub\wwwroot\{oidcbackend} へすべてのフォルダとファイルをコピーします。
-
Windowsのスタートメニューから、IIS マネージャーを起動します。
-
IIS マネージャーで、memoQ TMSのサーバー名をダブルクリックします。
-
ツリーで、アプリケーションプールを右クリックし、アプリケーションプールの追加を選択します。
-
アプリケーションプールの追加ウィンドウで:
-
アプリプールの名前を入力します。
-
.NET CLR バージョンドロップダウンから、管理対象コードなしを選択します。
-
統合パイプラインモードドロップダウンから、統合を選択します。
-
-
アプリケーションプールで、サイトをダブルクリックします。
-
デフォルトの Web サイトを右クリックし、アプリケーションの追加を選択します。
-
アプリケーションの追加ウィンドウで:
-
アプリの名前を入力します。
-
選択をクリックし、作成したアプリプールを選択します。
-
物理パスの隣にある3点リーダーのボタンをクリックし、C:\inetpub\wwwroot\{oidcbackend}のフォルダを参照します。
-
サイトフォルダ (%PROGRAMDATA%\MemoQ Server\Oidc Backend) およびログフォルダ (%PROGRAMDATA%\MemoQ Server\Oidc Backend\LogFiles) にアクセス権を付与するには、次のPowershellコマンドを実行してください:
$path = "C:\inetpub\wwwroot\oidcbackend"
$poolName = "oidcpool"
$account = "IIS APPPOOL\$poolName"
icacls $path /grant "${account}:(OI)(CI)(RX,M)"
memoQ TMSデータベースへの権限を付与するには、SQL Server Management Studio(または他のSQLインターフェイス)で次のSQLスクリプトを実行してください:
CREATE LOGIN [IIS APPPOOL\oidcpool] FROM WINDOWS;
USE [MemoQServer];
CREATE USER [IIS APPPOOL\oidcpool] FOR LOGIN [IIS APPPOOL\oidcpool];
ALTER ROLE db_owner ADD MEMBER [IIS APPPOOL\oidcpool];
より権限の低い役割を付与することが可能か検討してください。
データベース接続が機能しているか確認するには、次のSQLスクリプトを実行してください:
EXECUTE AS USER = 'IIS APPPOOL\oidcpool';
SELECT * FROM [dbo].[User];
REVERT;
ユーザーのリストが表示されます。
%PROGRAMDATA%\MemoQ Server\Oidc Backend\appsettings.User.jsonファイルで基本設定を行います。
ログの詳細は別のファイル、C:\inetpub\wwwroot\{oidcbackend}\appsettings.jsonにあります。通常、変更する必要はありません。
データベースとの通信
Authentication ManagerはmemoQ TMSデータベースと通信します。memoQ TMSデータベースの接続文字列をConnectionStrings.OidcLoginDataキーの値として入力します:
単純にコピー&ペーストしないでください:JSONファイルでは、バックスラッシュ文字をエスケープする必要があります。つまり、「\」を「\\」に変更します。
ロギング
C:\inetpub\wwwroot\{oidcbackend}\appsettings.jsonファイルでは、ロギングの詳細を定義しています。
Serilog.WriteToで"Name": "File"キーを見つけます。Argsでのキーは、重要なパラメータを定義しています。
path:デフォルトでは、ログは%PROGRAMDATA%\MemoQ Server\Oidc Backend\LogFiles\log-.txtファイルに保存されます。
rollingInterval、rollOnFileSizeLimit、fileSizeLimitBytes:ログは毎日のファイルに書き込まれますが (これは変更しないでください)、ファイルサイズが制限 (デフォルトでは100 MB) に達すると、その日の2番目のファイルが作成されます。
retainedFileCountLimit:デフォルトでは、最後の31個のログファイルがサーバーに保存されます。
デフォルトでは、ログレベルはInformationです。Serilog.MinimumLevel.Defaultキーの値をDebugまたはVerboseに変更します。
Verboseには、名前やシークレットも含めてすべての情報が一覧表示されます。実際に必要な場合にのみ使用し、組織のデータ保護ポリシーに準拠している場合にのみ使用してください。
これらの設定は永続的なものではありません:memoQ TMSをアップデートすると、%PROGRAMFILES%の下のフォルダ全体が上書きされます。これは、appsettings.jsonのすべての設定がデフォルト値に戻ることを意味します。本当に必要な場合を除き、変更しないことをお勧めします。
IDPのパラメータを設定する
2026年3月現在、
会社のIDPの種類に応じた設定ファイル (AzureAD.settings.json、Google.settings.json、Microsoft.settings.json、OktaCustom.settings.json、OktaOrg.settings.json、またはOneLogin.settings.json) を選択し、そのファイルをC:\inetpub\wwwroot\{oidcbackend}フォルダに入れます。テキストエディタでファイルを開き、値を追加します:
| パラメータ | 説明 |
|---|---|
|
パラメータ値を使用して入力するテンプレートファイル。 変更しないでください! |
|
|
|
以下の各サブキーの説明を参照してください。 |
|
|
memoQ TMSデータベース内のIDPの名前、oidc.IDProviderSettingsテーブル内のキー値。必要に応じて変更してください。 |
|
|
ログインページに表示されるIDPのボタン上のテキスト。必要に応じて変更してください。 |
|
|
ログインページに表示されるIDPのアイコンのURL。デフォルトのアイコンURLがありますが、別のアイコンを設定することもできます。 |
|
|
ログインページに表示されるIDPのボタンの色。デフォルトの色がありますが、別のアイコンを設定することもできます。 |
|
|
ログインページに表示されるIDPのボタンのテキスト色。デフォルトの色がありますが、別のアイコンを設定することもできます。 |
|
|
memoQ TMS用にIDPが生成したクライアントID。 デフォルト値を変更する必要があります。 |
|
|
memoQ TMSをこのIDPに登録するときに受信したクライアントシークレットまたはシークレットキー。 この暗号化されていないjsonファイルにクライアントシークレットを保存することは、絶対に必要な場合を除いて避けてください。この値は空欄のままにしておき、構成ツールでIDPを設定する際にのみ、クライアントシークレットを入力します。 |
|
|
IDPに登録したコールバック URLの最後の部分です。デフォルト値を変更する必要があります。 |
|
|
Authentication ManagerがIDPに送信するOIDCスコープ。デフォルトでは、すべての標準スコープ値が含まれます。必要に応じて値を削除できますが、スコープに |
| パラメータ | 説明 |
|---|---|
|
|
あなたのMicrosoft Azureのテナント。デフォルト値を変更する必要があります。 |
|
|
あなたのMicrosoft AzureB2CまたはOneLoginのテナント。デフォルト値を変更する必要があります。 |
|
|
あなたのMicrosoft Azure B2Cのドメイン。デフォルト値を変更する必要があります。 |
|
|
あなたのMicrosoft Azure B2Cのユーザーフロー。デフォルト値を変更する必要があります。 |
|
|
あなたのOktaドメイン。デフォルト値を変更する必要があります。 |
|
|
Okta Authorization serverのID。デフォルト値を変更する必要があります。 |
|
|
あなたのOkta組織のベースURL ( |
OIDC構成ツールは、次の目的で設計されたコマンドラインアプリケーションです:
- IDP接続を登録する
- 接続の詳細を構成する
%PROGRAMFILES%\Kilgray\MemoQ Server\Oidcフォルダ内にあります。このフォルダで管理者権限を持つコマンドプロンプトまたはPowerShellウィンドウを開きます。
構成ツールのAddIdProviderコマンドを使用して、IDP構成を追加します。
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f [<absolute_or_relative_path>\]<your_settings_file>.json
IDPの新しいアイコンを設定する場合は、-iパラメーターを使用して (コンピュータ上で) そのパスを追加します。
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f AzureAD.settings.json
MemoQ.Security.Oidc.Backend.ConfigTool.exe AddIdProvider -f C:\SSO-Ingredients\OktaOrg.settings.json -i C:\SSO-Ingredients\OktaIcon.png
IDPから受け取ったクライアントシークレットを設定する
クライアントシークレットはパスワードなので、設定ファイルに保存することは安全ではありません。構成ツールを使用して手動で設定します。
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetClientSecret -s <client_secret> -n Okta
| パラメータ | パラメータの名前 | 必須かどうか | 説明 |
|---|---|---|---|
|
|
|
必須 |
設定ファイルの「Name」と同じ値を使用します。 |
|
|
|
必須 |
memoQ TMSをIDPサービスに登録するときに受信したクライアントシークレット値。 |
クライアントシークレットは、ハッシュ形式でデータベースに格納されます。
Authentication ManagerのベースURLの設定
これは、構成ツールのSetBackendBaseUrlコマンドを使用して行います。必須オプション:URL用として-u。
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u https://localhost/oidcbackend
ベースURLは次のように構成されます:
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetBackendBaseUrl -u https://memoqserver.mycompany.com/oidcbackend
memoQwebのベースURLの設定
この情報は、memoQwebからのコールを受け入れるURLからAuthentication Managerに通知するため、重要です。このURLからのログイン試行は、memoQwebログインとして処理されます。
memoQwebへのログインに使用するものと同じURLを設定します。サーバーマネージャ > 構成とログ > Web アドレスタブにあります。
構成ツールのSetMemoQWebBaseUrlsコマンドを使用します。必須オプション:URL用として-u。
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetMemoQWebBaseUrls -u <memoqweb_base_url>
MemoQ.Security.Oidc.Backend.ConfigTool.exe SetMemoQWebBaseUrls -u https://memoqserver.mycompany.com/memoqweb
ソフトウェアコンポーネントの再起動
この時点で、次を再起動する必要があります:
- memoQ TMSサービス
- oidcbackend IIS アプリプール
これでOIDCは、memoQ TMS上のIISで実行されています。サーバーは以下を受け入れます:
- SSOログイン:ユーザーはIDPサービスを選択し、そのIDPにあるユーザー名とパスワードを使用してサインインします。
- 従来のSSOログイン:ユーザーは、会社のWindows Active Directoryにあるユーザー名とパスワードを使ってサインインします。OIDCの観点からすると、これらのユーザーはローカルログインと同様に動作し、OIDCベースのSSOに変更することができます。
- ローカルログイン:IDPクレデンシャルもWindows ADアカウントも持っていないユーザーは、memoQのユーザー名とパスワードを引き続き使用できます。
memoQ管理ユーザーに対して、memoQ TMS上でユーザーの作成または更新を開始するよう指示できるようになりました (この文書のパート2を参照)。
memoQ TMSで複数のIDPを使用する
memoQ TMSは、複数のIDPシステムからユーザー認証を承諾することができます。例えば、企業の2つの部門が異なるAzure ADテナントを使用したり、社内の従業員がOktaを使用したり、外部のベンダー (フリーランス翻訳者) がGoogleまたはMicrosoftの個人アカウントでサインインできるようにすることができます。
さらに、memoQ TMSのクレデンシャルを使用してログインできる「従来」のユーザーを設定できます。
ユーザーごとに複数のIDPシステムが存在しない場合:1人のmemoQユーザーは、1つのIDPシステムにしか接続できません (「従来」のmemoQログインを使用している場合は接続できません)。
バージョンの互換性
OpenID接続ベースのSSOは、バージョン9.5以降でのみ機能します。memoQ TMSの以前のバージョンでは、OIDCオリジンのユーザーを認識および管理することはできません。
以前のバージョンへのロールバックはありません:memoQ TMSにOIDCベースのSSOをインストールする場合、構成ツールはmemoQ TMSデータベースに新しいテーブルを追加します。つまり、ロールバックを使用して以前のバージョンに戻すことはできません。
詳細情報
こちらより、この文書のパート2 (memoQ管理者向け) をご覧ください。
こちらでトラブルシューティングのヒント、一般的なユーザー認証スキーマ、およびテスト環境に関するいくつかのヒントを参照してください。