このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
認証
メモ
認証はスタンドアロンの MATLAB® Web App Server™ 製品ではサポートされており、MATLAB Compiler™ に含まれる開発バージョンではサポートされていません。詳細については、MATLAB Web App Server の違い を参照してください。
認証を使用すると、ユーザーの資格情報を検証し、MATLAB Web App Server にデプロイされた Web アプリにアクセスできるユーザーを制御できます。
前提条件
サーバーで SSL を有効にします。詳細については、MATLAB Web App Server で SSL を有効にするを参照してください。
AWS リファレンスアーキテクチャーで Keycloak を使用する (Linux のみ)
R2025a 以降
Linux® 上の AWS® で R2025a MATLAB Web App Server リファレンス アーキテクチャを使用している場合、ユーザー認証は Keycloak を通じて管理されます。Keycloak は、アプリケーションとサービスに認証、承認、およびユーザー管理を提供するクラウド ネイティブ ソリューションです。Keycloak を使用して ID プロバイダーを使用して認証を構成することも、LDAP または OIDC を直接使用して認証を構成することもできます。詳細については、AWS で MATLAB Web App Server の認証を構成するを参照してください。
webapps_authn.json
ファイルの作成
MATLAB Web App Server は、Lightweight Directory Access Protocol (LDAP) と OpenID Connect (OIDC) を使用した認証をサポートしています。
認証を有効にするには:
SSL が有効になっているかどうかを確認します。詳細については、MATLAB Web App Server で SSL を有効にするを参照してください。
webapps_authn.json
という名前のファイルを作成し、config
フォルダー内にあるwebapps_private
フォルダーに配置します。webapps_authn.json
の形式は、認証に LDAP を使用しているか、OIDC を使用しているかによって異なります。webapps_private
フォルダは次の場所にあります:オペレーティング システム フォルダーの場所 Windows®
%ProgramData%\MathWorks\webapps\R2025a\config\webapps_private
Linux
/local/MathWorks/webapps/R2025a/config/webapps_private
macOS
/Library/Application Support/MathWorks/webapps/R2025a/config/webapps_private
LDAP認証
LDAP ディレクトリ サーバーは、ユーザー、グループ、およびアプリケーションに関する情報を保存します。ディレクトリ内の各エントリは、識別名 (DN)、属性のコレクション、およびオブジェクト クラスのコレクションの 3 つのコンポーネントで構成されます。
LDAP 認証を使用するには、次の JSON スキーマを使用して webapps_authn.json
という名前のファイルを作成し、webapps_private
フォルダーに配置します。
{
"version": "1.2.0",
"type": "ldap",
"authnConfig": {
"host": "<LDAP server host name>",
"port": "<LDAP server port number>",
"searcherDN": "",
"searcherPassword": "",
"baseDN": "<Point in LDAP from where to start search for a user>",
"userFilter": "<Filter syntax>"
},
"appConfig": {
"checkSSLCA": "<Boolean indicating whether to check for trusted SSL certificate>",
"trustedSSLCA": "<Path to trusted SSL certificate>",
"displayName": "<Identifier to display on MATLAB Web App Server home page>",
"tokenExpirationMin": "<Token expiration duration in minutes>",
"userAttributeName": "<Attribute name to identify user objects>",
"groupAttributeName": "<Attribute name to identify group objects>"
"useSSL": "<Optional: Use SSL for connection. Default: true on Windows, false on Linux/macOS>",
"useStartTLS": "<Optional: Use STARTTLS for connection. Default: true on Linux/macOS, false on Windows>"
}
}
バージョン:JSON スキーマのバージョンを指定します。R2025a のデフォルト値は
1.2.0
です。タイプ:使用する認証の種類を指定します。この値を
ldap
に設定します。ホスト:LDAP ディレクトリ サーバーのホスト名を指定します。たとえば、
myldap.example.com
です。ポート:(オプション) LDAP ディレクトリ サーバーのポート番号を指定します。たとえば、
389
です。ポート番号が指定されていない場合は、デフォルトのポートが使用されます。MATLAB Web App Server は SSL/STARTTLS を使用して LDAP サーバーとの通信を保護します。これにより、ユーザー名とパスワードが MATLAB Web App Server と LDAP サーバー間の暗号化されたチャネルを介して送信されるようになります。デフォルトでは、サーバーは Windows 上の SSL に標準ポート636
を使用し、Linux および macOS 上の STARTTLS にポート389
を使用します。LDAP サーバーは、指定された (またはデフォルトの) LDAP ポート経由で SSL/STARTTLS 接続を許可するように構成する必要があります。そうしないと、認証は失敗します。searcherDN:ディレクトリ内の検索者アカウントの DN を指定します。既定値は
""
です。検索者 DN は、LDAP ディレクトリ サーバーを検索できるアカウントを指します。たとえば、"cn=admin,dc=example,dc=com"
です。検索者パスワード:検索者アカウントのパスワード。既定値は
""
です。MATLAB Web App Server は、
searcherDN
とsearcherPassword
の値を使用して、userFilter
を使用するユーザーの DN を検索します。検出された DN はその後、LDAP を通じて入力されたパスワードと照合されます。LDAP サーバーが匿名認証のアクセスを提供する場合、searcherDN
とsearcherPassword
の値は必要ありません。webapps_authn.json
ファイルは、サーバー アカウントのみが読み取り可能なwebapps_private
フォルダー内にあるため、検索者の資格情報は、サーバーにログインするアプリや他のユーザーから保護されます。baseDN:ディレクトリ内のベース DN を指定します。ベース DN は、アプリケーションがユーザーの検索を開始するディレクトリ内の場所です。たとえば、
dc=myldap,dc=example,dc=com
です。userFilter:ユーザーの DN を見つけるためのフィルターを指定します。MATLAB Web App Server は
userFilter
を使用して、フィルターで {username} として表される入力されたユーザー名に一致するユーザーの DN を検索します。一致するものが見つからない場合、または複数の一致が見つかった場合、認証は失敗します。フィルターは標準の LDAP フィルター構文を使用して指定できます。たとえば、(&(objectClass=User)(sAMAccountName={username}))
です。checkSSLCA:LDAP サーバーの SSL 証明書が、公認の証明機関 (CA) によって署名されているかどうかを確認します。このプロパティを
"true"
に設定すると、有効な SSL 証明書がチェックされ、"false"
に設定するとチェックは行われません。"true"
に設定する場合は、trustedSSLCA
の値を指定する必要があります。"false"
に設定すると、ユーザー名とパスワードは暗号化されたチャネルを介して MATLAB Web App Server と LDAP サーバー間で送信されます。ただし、追加のセキュリティのためにこのチェックをお勧めします。trustedSSLCA:Linux および macOS システムでは、サイト証明書に署名した証明機関 (CA) によって発行されたルート証明書へのパスを指定します。Windows システムでは、パスを指定する必要はありません。ルート証明書が 信頼されたルート証明機関の証明書ストア にある限り、MATLAB Web App Server はそれを自動的に見つけます。
displayName:ユーザーの LDAP エントリの属性を指定して、MATLAB Web App Server ホームページにユーザーの ID を表示する方法を設定します。たとえば、このプロパティを
uid
に設定すると、ユーザー ID が表示されます。デフォルトは、認証プロセス中に入力されたユーザー名です。tokenExpirationMin:トークンの有効期限を分単位で指定します。たとえば、
60
です。デフォルト値は""
で、トークンに有効期限がないことを意味します。ユーザー属性名:ユーザー オブジェクトを識別するための属性名を指定します。たとえば、
uid
です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。詳細については、ポリシーベースのアクセスを参照してください。グループ属性名:グループ オブジェクトを識別するための属性名を指定します。たとえば、
member
です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。詳細については、ポリシーベースのアクセスを参照してください。SSL を使用する:(オプション) 値を
"true"
または"false"
に設定して、LDAP サーバーが接続に SSL を必要とするかどうかを指定します。デフォルト値は、Windows では"true"
、Linux および macOS システムでは"false"
です。 (R2025a 以降)useStartTLS:(オプション) 値を
"true"
または"false"
に設定して、LDAP サーバーが接続に STARTTLS を使用する必要があるかどうかを指定します。デフォルト値は、Linux および macOS では"true"
、Windows システムでは"false"
です。 (R2025a 以降)
LDAP の webapps_authn.json
ファイルの例
{
"version": "1.2.0",
"type": "ldap",
"authnConfig": {
"host": "myldap.example.com",
"port": "",
"searcherDN": "",
"searcherPassword": "",
"baseDN": "DC=myldap,DC=example,DC=com",
"userFilter": "(&(objectClass=User)(sAMAccountName={username}))"
},
"appConfig": {
"checkSSLCA": "false",
"trustedSSLCA": "",
"displayName": "uid",
"tokenExpirationMin": "60",
"useSSL": false,
"useStartTLS": true
}
}
ポリシーベースのアクセスを使用する場合の LDAP の webapps_authn.json
ファイルの例
{
"version": "1.2.0",
"type": "ldap",
"authnConfig": {
"host": "myldap.example.com",
"port": "",
"searcherDN": "",
"searcherPassword": "",
"baseDN": "DC=myldap,DC=example,DC=com",
"userFilter": "(&(objectClass=User)(sAMAccountName={username}))"
},
"appConfig": {
"checkSSLCA": "false",
"trustedSSLCA": "",
"displayName": "uid",
"tokenExpirationMin": "60",
"userAttributeName": "uid",
"groupAttributeName": "memberOf"
}
}
OIDC認証
OpenID Connect (OIDC) を使用すると、MATLAB Web App Server はサードパーティの ID プロバイダー (IdP) によって実行される認証に基づいてエンドユーザーの ID を検証できます。サーバー上で OIDC 認証を使用するには、Microsoft® Azure® AD や Google® Identity Platform などの IdP に登録する必要があります。
OIDC 認証を使用するには、次の JSON スキーマを使用して webapps_authn.json
という名前のファイルを作成し、webapps_private
フォルダーに配置します。
{
"version": "1.3.0",
"type": "oidc",
"authnConfig": {
"issuer": "<OIDC IdP issuer URI>",
"clientId": "<Client ID from IdP>",
"clientSecret": "<Client secret from IdP>",
"redirectUrl": "<Redirection URL>",
"scope": ["<scope1> <scope2>"]
},
"appConfig": {
"port": "<OIDC authentication port number used by MATLAB Web App Server>",
"displayName": "<Identity to display on MATLAB Web App Server home page>",
"tokenExpirationMin": "<Token expiration duration in minutes>",
"userAttributeName": "<Attribute name to identify user objects>",
"groupAttributeName": "<Attribute name to identify group objects>",
"prompt": <Boolean indicating whether to re-authenticate user>,
"timeoutInSeconds": "<Default HTTP request timeout in seconds for OIDC authentication>",
"checkSSLCA": "<Boolean indicating whether to validate SSL certificate against a recognized CA>",
"trustedSSLCA": "<Path to the root certificate on Linux/macOS>"
}
}
バージョン:JSON スキーマのバージョンを指定します。R2025a のデフォルト値は
1.3.0
です。 (R2023a 以降)タイプ:使用する認証の種類を指定します。この値を
oidc
に設定します。issuer:OIDC IdP 発行者 URI を指定します。たとえば、Google アイデンティティ プラットフォームを使用している場合:
https://accounts.google.com/.well-known/openid-configuration
。クライアントID:IdP に資格情報を登録する際に取得した クライアント ID を指定します。たとえば、Google アイデンティティ プラットフォームを使用している場合:
1234567890-xxxxxxxxxxxx.apps.googleusercontent.com
。clientSecret:IdP に資格情報を登録する際に取得した クライアント シークレット を指定します。たとえば、Google アイデンティティ プラットフォームを使用している場合:
_xxxxxxxxxxxxx_Xxxxxx_xX
。webapps_authn.json
ファイルは、サーバー アカウントによってのみ読み取り可能なwebapps_private
フォルダー内にあるため、clientId と clientSecret は、サーバーにログインするアプリや他のユーザーから保護されます。redirectUrl:IdP で OIDC 認証を構成するときに使用したリダイレクト URL を指定します。リファレンス アーキテクチャを使用して AWS にデプロイされたサーバーの場合は、スタックの一部として作成された 出力 内の URL を使用します。空のままにすると、MATLAB Web App Server を実行しているコンピューターのホスト名とポート番号がコールバックとして使用されます。URL の形式は
https://<MATLABWebAppServer_hostname>:<port_server_is_running_on>/webapps/extauth/callback
です。たとえば、MATLAB Web App Server がポート9988
で実行されている場合、リダイレクト URL はhttps://example.com:9988/webapps/extauth/callback
になります。R2021a より前のバージョンでは、リダイレクト URL の形式は
https://<MATLABWebAppServer_hostname>:<port>/oidc/callback
でした。たとえば、https://example.com:3000/oidc/callback
です。スコープ:管理者が MATLAB Web App Server にアクセスを許可するリソースの識別子を指定します。たとえば、Google アイデンティティ プラットフォームを使用している場合:
openid profile email
。ポート:(オプション) OIDC 認証のために MATLAB Web App Server プロセスが内部で使用するポート番号を指定します。たとえば、
4000
です。このポート番号は、redirectUrl
ポート番号とは異なる必要があります。ポート番号が指定されていない場合、MATLAB Web App Server プロセスは OIDC 認証用のポートを自動的に選択します。displayName:認証されたユーザー オブジェクトの属性名を指定して、MATLAB Web App Server ホームページにユーザーの ID を表示する方法を構成します。たとえば、Google Identity Platform を使用している場合、
given_name
はユーザーの名前を表示します。デフォルトはsub
属性です。tokenExpirationMin:トークンの有効期限を分単位で指定します。たとえば、
60
です。デフォルト値は""
で、トークンに有効期限がないことを意味します。ユーザー属性名:ユーザー オブジェクトを識別するための属性名を指定します。たとえば、
uid
です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。ポリシーベースのアクセスを使用していないが、このプロパティを JSON ファイルに含めることにした場合は、値を""
に設定します。詳細については、ポリシーベースのアクセスを参照してください。グループ属性名:グループ オブジェクトを識別するための属性名を指定します。たとえば、
member
です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。ポリシーベースのアクセスを使用していないが、このプロパティを JSON ファイルに含めることにした場合は、値を""
に設定します。詳細については、ポリシーベースのアクセスを参照してください。プロンプト:アイデンティティ プロバイダー (IdP) にすでにログインしているユーザーを再認証するかどうかを指定します。 (R2023a 以降)
R2024b 以前:
"prompt"
が"true"
に設定されている場合、ユーザーは IdP にログインしている場合でも再認証する必要があります。"prompt"
が"false"
に設定され、ユーザーが IdP にログインしている場合、IdP ログイン画面は表示されません。ユーザーがログインしていない場合、ユーザーはログインして再認証する必要があります。"prompt"
フィールドと値が指定されていない場合は、"prompt"
フィールドは"true"
として扱われます。これは既定の設定です。
警告
サーバーは、このパラメータの存在や値に関係なく、
prompt
がfalse
に設定されているかのように動作します。したがって、すでに IdP にログインしているユーザーには再認証は求められません。 (R2024b 以降)タイムアウト(秒):(オプション) MATLAB Web App Server がすべての OIDC 認証要求に対して設定するデフォルトの HTTP要求タイムアウトを秒単位で指定します。既定値は
5
秒です。 (R2025a 以降)checkSSLCA:OIDC サーバーの SSL 証明書が、認定された証明機関 (CA) によって署名されているかどうかを確認します。このプロパティを
"true"
に設定すると、有効な SSL 証明書がチェックされ、"false"
に設定するとチェックは行われません。"true"
に設定する場合は、trustedSSLCA
の値を指定する必要があります。"false"
に設定すると、ユーザー名とパスワードは暗号化されたチャネルを介して MATLAB Web App Server と OIDC サーバー間で送信されます。ただし、追加のセキュリティのためにこのチェックをお勧めします。 (R2025a 以降)trustedSSLCA:Linux および macOS システムでは、サイト証明書に署名した証明機関 (CA) によって発行されたルート証明書へのパスを指定します。Windows システムでは、パスを指定する必要はありません。ルート証明書が 信頼されたルート証明機関の証明書ストア にある限り、MATLAB Web App Server はそれを自動的に見つけます。 (R2025a 以降)
メモ
OIDC 認証を使用する場合は、MATLAB Web App Server を アプリケーション として IdP に登録する必要があります。
登録プロセス中に、MATLAB Web App Server のリダイレクト URL が必要になります。URL の形式は
https://<MATLABWebAppServer_hostname>:<port_server_is_running_on>/webapps/extauth/callback
です。たとえば、https://example.com:9988/webapps/extauth/callback
です。
Google アイデンティティ プラットフォームを使用した OIDC の webapps_authn.json
ファイルの例
{
"version": "1.2.0",
"type": "oidc",
"authnConfig": {
"issuer": "https://accounts.google.com/.well-known/openid-configuration",
"clientId": "1234567890-xxxxxxxxxxxx.apps.googleusercontent.com",
"clientSecret": "_xxxxxxxxxxxxx_Xxxxxx_xX",
"redirectUrl": "https://example.com:9988/webapps/extauth/callback",
"scope": ["openid profile email"]
},
"appConfig": {
"port": "4000",
"displayName": "given_name",
"tokenExpirationMin": "60"
}
}
ヒント
認証を設定した後、ブラウザからログインできない場合は、ブラウザのキャッシュと Cookie をクリアするか、別のブラウザを試してください。
注意
webapps_authn.json
の JSON スキーマ構文は厳格に適用されます。スキーマ構文にエラーがあると、サーバーが起動しなかったり、ログインしようとしたときにサーバーへのアクセスが拒否されたりする可能性があります。