このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
ロールベースのアクセス
メモ
ロールベースのアクセスはスタンドアロンの MATLAB® Web App Server™ 製品ではサポートされており、MATLAB Compiler™ に含まれる開発バージョンではサポートされていません。詳細については、MATLAB Web App Server の違いを参照してください。
前提条件
webapps_app_roles.json
ファイルの作成
サーバー上でロールベースのアクセスを有効にすると、どのユーザーがアプリを作成できるか、どのユーザーがアプリを使用できるかを決定できます。
MATLAB Web App Server は、ロールベースのアクセスに対して 2 つのロールをサポートしています。著者とユーザー。
著者は、MATLAB Web App Server から Web アプリを追加、削除、実行できます。著者には、サーバーのホームページに Manage Apps ボタンが表示されます。
ユーザーは、MATLAB Web App Server ホームページからのみ Web アプリを実行できます。ユーザーには、サーバーのホームページに Diagnostics ボタンが表示されます。
ロールベースのアクセスとポリシーベースのアクセスを併用することで、サーバー上でアプリを実行できるユーザーとアプリを変更できるユーザーを細かく決定できます。詳細については、ポリシーベースのアクセスを参照してください。
ロールベースのアクセスを有効にするには:
SSL が有効になっているかどうかを確認します。詳細については、SSLを有効にするを参照してください。
認証が有効になっているかどうかを確認します。詳細については、認証を参照してください。
webapps_app_roles.json
という名前のファイルを作成し、webapps_private
フォルダーに配置します。webapps_private
フォルダは次の場所にあります:オペレーティング システム フォルダーの場所 Windows®
%ProgramData%\MathWorks\webapps\R2024a\config\webapps_private
Linux®
/local/MathWorks/webapps/R2024a/config/webapps_private
macOS
/Library/Application Support/MathWorks/webapps/R2024a/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> } } ] }
バージョン:JSON スキーマのバージョンを指定します。R2024a のデフォルト値は
1.0.0
です。id:ロール名を指定します。
User
またはAuthor
のいずれかを指定できます。これら 2 つのロールのみがサポートされます。説明:各ロールの説明を指定します。次に例を示します。
"description" : "An Author can upload, delete, and execute web apps."
ユーザー:作成者 または ユーザー の役割を担うことができる認証済みエンドユーザーのセットを一意に識別する属性を指定します。
属性名は、使用している認証の種類によって異なります。
たとえば、認証に LDAP を使用している場合は、次のように JSON スキーマを入力できます。
上記のスキーマでは、エンドユーザーが認証されると、MATLAB Web App Server は認証されたユーザーに属性として"users":{ "email": ["bishop@example.com", "queen@example.com"] }
email
があるかどうかを確認し、属性値 (この場合は電子メール アドレス) がスキーマにリストされているかどうかを確認します。両方のチェックが成功すると、エンドユーザーにロールが割り当てられます。グループ:作成者 または ユーザー の役割を担うことができる認証済みエンドユーザーのグループを一意に識別する属性名と対応する値を指定します。
属性名は、使用している認証の種類によって異なります。グループを使用すると、エンドユーザーのセット全体に一度でロールを割り当てることができます。
たとえば、認証に LDAP を使用している場合は、次のように JSON スキーマを入力できます。
上記のスキーマでは、エンドユーザーが認証されると、MATLAB Web App Server は認証されたユーザーに属性として"groups": { "memberOf": [ "CN=Marketing,OU=Mail,DC=ldap,DC=example,DC=com", "CN=Development,OU=Mail,DC=ldap,DC=example,DC=com"] }
memberOf
があるかどうかを確認し、その属性の値がスキーマにリストされているかどうかを確認します。両方のチェックが成功すると、エンドユーザーにロールが割り当てられます。スキーマで指定される属性は、集合属性またはグループ属性である必要があります。
ヒント
エンド ユーザーの一意のセットを取得する唯一の方法でない限り、各ロールのスキーマで
users
とgroups
の両方を指定する必要はありません。ユーザー ロールの
users
フィールドの属性を使用してユーザーのセットを識別する場合は、作成者 ロールのusers
フィールドで同じ属性を使用してユーザーのセットを識別する必要があります。groups
にも同じ条件が適用されます。
MATLAB Web App Server は、まず、認証されたユーザーが Author の役割を引き受けることができるかどうかを確認してから、User の役割を確認します。両方のロールに対するチェックが失敗した場合、エンドユーザーはサーバーへのアクセスを拒否されます。
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"
]
}
}
]
}
Azure AD 認証用の webapps_app_roles.json
ファイルの例
{
"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 スキーマ構文は厳格に適用されます。スキーマ構文にエラーがあると、サーバーが起動しなかったり、ログインしようとしたときにサーバーへのアクセスが拒否されたりする可能性があります。