Main Content

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

認証

メモ

認証はスタンドアロンのMATLAB® Web App Server™製品でサポートされており、 MATLAB Compiler™に含まれる開発バージョンではサポートされていません。 。詳細については、MATLAB Web App Server の違いを参照してください。

前提条件

  • サーバー上で SSL を有効にします。詳細については、SSLを有効にするを参照してください。

webapps_authn.json ファイルの作成

認証を使用すると、ユーザーの資格情報を検証でき、サーバーにデプロイされた Web アプリにアクセスできるユーザーを制御できます。

MATLAB Web App Server は、 Lightweight Directory Access Protocol (LDAP) および OpenID Connect (OIDC) を使用した認証をサポートします。

認証を有効にするには:

  1. SSLが有効になっているかどうかを確認します。詳細については、SSLを有効にするを参照してください。

  2. webapps_authn.jsonという名前のファイルを作成し、 webapps_privateフォルダー内にあるconfigフォルダーに配置します。webapps_authn.jsonの形式は、認証に LDAP を使用しているか OIDC を使用しているかによって異なります。

    webapps_privateフォルダーは次の場所にあります。

    オペレーティング システムフォルダーの場所

    Windows®

    %ProgramData%\MathWorks\webapps\R2023b\config\webapps_private

    Linux®

    /local/MathWorks/webapps/R2023b/config/webapps_private

    macOS

    /Library/Application Support/MathWorks/webapps/R2023b/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>" } }

  • &quot;バージョン&quot;:JSONスキーマのバージョンを指定します。R2023b のデフォルト値は1.2.0です。

  • &quot;タイプ&quot;:使用する認証のタイプを指定します。この値をldapに設定します。

  • &quot;ホスト&quot;:LDAPディレクトリサーバーのホスト名を指定します。たとえば、myldap.example.com です。

  • port: (オプション) LDAP ディレクトリ サーバーのポート番号を指定します。たとえば、389 です。ポート番号が指定されていない場合は、デフォルトのポートが使用されます。MATLAB Web App Server は、 SSL/STARTTLS を使用して LDAP サーバーとの通信を保護します。これにより、ユーザー名とパスワードがMATLAB Web App Serverと LDAP サーバー間の暗号化されたチャネルを介して送信されることが保証されます。デフォルトでは、サーバーはWindowsの SSL に標準ポート636を使用し、 Linuxの STARTTLS にポート389を使用します。 $と macOS。LDAP サーバーは、指定された (またはデフォルトの) LDAP ポートを介した SSL/STARTTLS 接続を許可するように構成されている必要があります。そうしないと、認証が失敗します。

  • 検索者DN:ディレクトリ内の検索者アカウントの DN を指定します。既定値は "" です。検索者 DN は、LDAP ディレクトリ サーバーの検索を許可されたアカウントを指します。たとえば、"cn=admin,dc=example,dc=com" です。

  • 検索者のパスワード:検索者アカウントのパスワード。既定値は "" です。

    MATLAB Web App Server は、 searcherDNおよびsearcherPasswordの値を使用して、 TGを使用してユーザーの DN を検索します。 userFilter。検出された DN は、その後、LDAP を通じて入力されたパスワードと照合して検証されます。LDAP サーバーが匿名認証へのアクセスを提供する場合、 searcherDNおよびsearcherPasswordの値は必要ありません。

    webapps_authn.jsonファイルはwebapps_privateフォルダー内に存在し、サーバー アカウントによってのみ読み取り可能であるため、検索者の資格情報は、アプリやサーバー アカウントにログインする他のユーザーから保護されます。サーバ。

  • ベースDN:ディレクトリ内のベースDNを指定します。ベース DN は、アプリケーションがユーザーの検索を開始するディレクトリ内の場所です。たとえば、dc=myldap,dc=example,dc=com です。

  • ユーザーフィルター:ユーザーの DN を検索するフィルターを指定します。 MATLAB Web App Serverは、userFilterを使用して、フィルタ内で {username} として表される、入力されたユーザー名に一致するユーザーの DN を検索します。一致するものが見つからないか、複数の一致が見つかった場合、認証は失敗します。フィルタは、標準の LDAP フィルタ構文を使用して指定できます。たとえば、(&(objectClass=User)(sAMAccountName={username})) です。

  • チェックSSLCA:LDAP サーバーの SSL 証明書が認識された認証局 (CA) によって署名されているかどうかを確認します。このプロパティをtrueに設定すると、有効な SSL 証明書がチェックされ、チェックを省略してfalseに設定されます。trueに設定した場合は、trustedSSLCA の値を指定する必要があります。falseに設定した場合でも、ユーザー名とパスワードはMATLAB Web App Serverと LDAP サーバーの間で暗号化されたチャネルを通じて送信されます。ただし、セキュリティを強化するために、このチェックを行うことをお勧めします。

  • 信頼されたSSLCA:Linuxおよび macOS システムでは、サイト証明書に署名した証明機関 (CA) によって発行されたルート証明書へのパスを指定します。Windowsシステムでは、パスを指定する必要はありません。ルート証明書が「信頼されたルート証明機関の証明書ストア」にある限り、 MATLAB Web App Server は自動的にそれを見つけます。

  • &quot;表示名&quot;:ユーザーの LDAP エントリの属性を指定して、MATLAB Web App Serverホーム ページにユーザーの ID を表示する方法を構成します。たとえば、このプロパティをuidに設定すると、ユーザー ID が表示されます。デフォルトは、認証プロセス中に入力されたユーザー名です。

  • tokenExpirationMin:トークンの有効期限を分単位で指定します。たとえば、60 です。デフォルト値は""で、トークンの有効期限が切れないことを意味します。

  • ユーザー属性名:ユーザーオブジェクトを識別するための属性名を指定します。たとえば、uid です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。詳細については、ポリシーベースのアクセスを参照してください。

  • グループ属性名:グループオブジェクトを識別するための属性名を指定します。たとえば、member です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。詳細については、ポリシーベースのアクセスを参照してください。

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" } }

ポリシーベースのアクセスを使用する場合の 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> } }
  • &quot;バージョン&quot;:JSONスキーマのバージョンを指定します。R2023b のデフォルト値は1.3.0です。 (R2023a 以降)

  • &quot;タイプ&quot;:使用する認証のタイプを指定します。この値をoidcに設定します。

  • 発行者:OIDC IdP 発行者 URI を指定します。たとえば、 Google Identity Platform を使用する場合: https://accounts.google.com/.well-known/openid-configuration

  • &quot;クライアントID&quot;:IdP に資格情報を登録するときに取得した「クライアント ID」を指定します。たとえば、 Google Identity Platform を使用する場合: 1234567890-xxxxxxxxxxxx.apps.googleusercontent.com

  • クライアントシークレット:IdP に資格情報を登録するときに取得した「クライアント シークレット」を指定します。たとえば、 Google Identity Platform を使用する場合: _xxxxxxxxxxxxx_Xxxxxx_xX

    webapps_authn.jsonファイルはwebapps_privateフォルダー内にあり、サーバー アカウントによってのみ読み取り可能であるため、clientIdclientSecret はアプリや他のユーザーから保護されています。サーバーにログインします。

  • redirectUrl: (オプション) IdP で OIDC 認証を構成するときに使用したリダイレクト 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 です。

  • &quot;範囲&quot;:管理者がMATLAB Web App Serverにアクセスさせたいリソースの識別子を指定します。たとえば、 Google Identity Platform を使用する場合: openid profile email

  • port: (オプション) MATLAB Web App Serverプロセスが OIDC 認証のために内部的に使用するポート番号を指定します。たとえば、4000 です。このポート番号は、redirectUrlポート番号とは異なる必要があります。ポート番号が指定されていない場合、 MATLAB Web App Serverプロセスは、OIDC 認証用のポートを自動的に選択します。

  • &quot;表示名&quot;:認証されたユーザー オブジェクトの属性名を指定して、 MATLAB Web App Serverホーム ページにユーザーの ID を表示する方法を構成します。たとえば、 Google Identity Platform を使用している場合、 given_name にはユーザーの名前が表示されます。デフォルトはsub属性です。

  • tokenExpirationMin:トークンの有効期限を分単位で指定します。たとえば、60 です。デフォルト値は""で、トークンの有効期限が切れないことを意味します。

  • ユーザー属性名:ユーザーオブジェクトを識別するための属性名を指定します。たとえば、uid です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。ポリシーベースのアクセスを使用していないが、このプロパティを JSON ファイルに含めることに決めた場合は、値を""に設定します。詳細については、ポリシーベースのアクセスを参照してください。

  • グループ属性名:グループオブジェクトを識別するための属性名を指定します。たとえば、member です。ポリシーベースのアクセスを使用する場合は、このプロパティの値を設定する必要があります。それ以外の場合は、このプロパティを JSON ファイルに含めないでください。ポリシーベースのアクセスを使用していないが、このプロパティを JSON ファイルに含めることに決めた場合は、値を""に設定します。詳細については、ポリシーベースのアクセスを参照してください。

  • &quot;プロンプト&quot;:すでにアイデンティティ プロバイダー (IdP) にログインしているユーザーを再認証するかどうかを指定します。 (R2023a 以降)

    • "prompt""true"に設定されている場合、ユーザーは IdP にログインしている場合でも再認証する必要があります。

    • "prompt""false"に設定されており、ユーザーが IdP にログインしている場合、IdP ログイン画面は回避されます。ユーザーがログインしていない場合は、ログインして再認証する必要があります。

    • "prompt"フィールドと値が指定されていない場合、 "prompt"フィールドは"true"とみなされます。これは既定値です。

メモ

  1. OIDC 認証を使用する場合は、 MATLAB Web App Serverを アプリケーション として IdP に登録する必要があります。

  2. 登録プロセス中に、 MATLAB Web App Serverのリダイレクト URL が必要です。URL の形式はhttps://<MATLABWebAppServer_hostname>:<port_server_is_running_on>/webapps/extauth/callbackです。たとえば、https://example.com:9988/webapps/extauth/callback です。

webapps_authn.json Google ファイルの例

{ "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 スキーマ構文は厳密に適用されます。スキーマ構文にエラーがあると、サーバーが起動しなかったり、ログインしようとするとサーバーへのアクセスが拒否されたりする可能性があります。

関連するトピック

外部の Web サイト