Main Content

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

役割ベースのアクセス

メモ

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

前提条件

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

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

webapps_app_roles.json ファイルの作成

サーバー上でロールベースのアクセスを有効にすると、どのユーザーがアプリを作成できるか、どのユーザーがアプリを使用できるかを決定できるようになります。

MATLAB Web App Server は、役割ベースのアクセスの 2 つの役割、作成者ユーザー をサポートします。

  • 作成者 は、 MATLAB Web App Serverから Web アプリを追加、削除、実行できます。作成者 には、サーバーのホームページにManage Appsボタンが表示されます。

  • 「ユーザー」は、MATLAB Web App Serverホーム ページからのみ Web アプリを実行できます。「ユーザー」には、サーバーのホームページに「Diagnostics」ボタンが表示されます。

ロールベースのアクセスとポリシーベースのアクセスを使用して、サーバー上でアプリを実行できるユーザーとアプリを変更できるユーザーを詳細に決定できます。詳細については、ポリシーベースのアクセスを参照してください。

ロールベースのアクセスを有効にするには:

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

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

  3. webapps_app_roles.jsonという名前のファイルを作成し、 webapps_privateフォルダーに配置します。

    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

    webapps_app_roles.jsonの JSON スキーマは次のとおりです。

    { "version": "1.0.0", "appRoles": [ { "id": "User", "description": <Text describing the User role>, "users": { <Attribute name and values to identify end-users assigned to User role> }, "groups": { <Attribute name and values to identify groups assigned to User role> } }, { "id": "Author", "description": <Text describing the Author role>, "users": { <Attribute name and values to identify end-users assigned to Author role> }, "groups": { <Attribute name and values to identify groups assigned to Author role> } } ] }

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

    • ID:ロール名を指定します。UserまたはAuthor のいずれかを指定できます。これら 2 つの役割のみがサポートされています。

    • &quot;説明&quot;:各ロールの説明を指定します。以下に例を示します。

      "description" : "An Author can upload, delete, and execute web apps."

    • ユーザー:「作成者」または「ユーザー」の役割を引き受けることができる一連の認証済みエンド ユーザーを一意に識別する属性を指定します。

      属性名は、使用している認証のタイプによって異なります。

      たとえば、認証に LDAP を使用している場合は、次のように JSON スキーマを入力できます。

      "users":{ "email": ["bishop@example.com", "queen@example.com"] } 
      上記のスキーマでは、エンドユーザーが認証されると、 MATLAB Web App Serverは、認証されたユーザーが属性としてemailを持っているかどうかを確認します。そして、属性値 (この場合は電子メール アドレス) がスキーマにリストされているかどうかを確認します。両方のチェックが成功すると、エンドユーザーにロールが割り当てられます。

    • グループ:「作成者」または「ユーザー」の役割を引き受けることができる認証されたエンド ユーザーのグループを一意に識別する属性名と対応する値を指定します。

      属性名は、使用している認証のタイプによって異なります。グループ を使用すると、エンドユーザーのセット全体に一度にロールを割り当てることができます。

      たとえば、認証に LDAP を使用している場合は、次のように JSON スキーマを入力できます。

      "groups": { "memberOf": [ "CN=Marketing,OU=Mail,DC=ldap,DC=example,DC=com", "CN=Development,OU=Mail,DC=ldap,DC=example,DC=com"] }
      上記のスキーマでは、エンドユーザーが認証されると、 MATLAB Web App Serverは、認証されたユーザーが属性としてmemberOfを持っているかどうかを確認します。そして、属性の値がスキーマにリストされているかどうかを確認します。両方のチェックが成功すると、エンドユーザーにロールが割り当てられます。

      スキーマで指定される属性は、集合属性またはグループ属性である必要があります。

ヒント

  1. 一意のエンド ユーザー セットを取得する唯一の方法でない限り、各ロールのスキーマにusersgroupsの両方を指定する必要はありません。

  2. User ロールのusersusersの属性を使用して一連のユーザーを識別する場合は、ユーザーのセットを識別するための「作成者」ロール。groupsについても同様の条件となります。

MATLAB Web App Server は、 User ロールをチェックする前に、認証されたユーザーが Author のロールを引き受けることができるかどうかをまずチェックします。両方の役割に対するチェックが失敗した場合、エンドユーザーはサーバーへのアクセスを拒否されます。

LDAP 認証用のwebapps_app_roles.jsonファイルの例

{ "version": "1.0.0", "appRoles": [ { "id": "User", "description": "A User can only execute web apps.", "groups": { "memberOf": [ "CN=Marketing,OU=Mail,DC=ldap,DC=example,DC=com", "CN=Development,OU=Mail,DC=ldap,DC=example,DC=com" ] } }, { "id": "Author", "description": "An Author can upload, delete, and execute web apps.", "users": { "email": [ "bishop@example.com", "queen@example.com" ] } } ] }

webapps_app_roles.json Azure AD 認証用ファイルの例

{ "version": "1.0.0", "appRoles": [ { "id": "User", "description": "A User can only execute web apps.", "groups": { "groups": [ "1a23456-ab2c-4444-a123-12345b3a81af", "2b3456cd-e8ed-4fcf-ac55-6b79b0781eed " ] } }, { "id": "Author", "description": "An Author can upload, delete, and execute web apps.", "users": { "email": [ "bishop@example.com", "queen@example.com" ] } } ] }

注意

webapps_app_roles.jsonの JSON スキーマ構文は厳密に適用されます。スキーマ構文にエラーがあると、サーバーが起動しなかったり、ログインしようとするとサーバーへのアクセスが拒否されたりする可能性があります。

関連するトピック