Studio Endeca Server接続へのアクセスを制御するためのロールベースのセキュリティの使用

デフォルトでは、StudioはEndeca Server接続に対してロールベースのセキュリティを提供します。

データを表示できるユーザーをユーザー・ロールに基づいて制御するように、Endeca Server接続を構成できます。

ロールベースのセキュリティに関連するEndeca Server接続の設定は、次のとおりです。
設定 説明
securityEnabled Endeca Server接続への問合せに対してセキュリティ・フィルタを有効化するかどうか。

"true"に設定した場合、Endeca Server接続はsecurityFiltersに構成されているフィルタを使用します。

securityFilters Endeca Server接続で使用するすべてのセキュリティ・フィルタを定義します。
セキュリティ・フィルタに関して、サポートされているフィルタのタイプはDataSourceFiltersのみです。各フィルタに対して、次を指定します。
  • class: DataSourceFilterクラスへのフルパス。
  • filterString: フィルタ情報を含むEQLスニペット。これは基本的にEQL文のWHERE句のコンテンツです。
  • viewKey: EQLを実行するためのデータ・セットのキー名(表示ではなく)です。
rolePermissionsMultiOr 複数のセキュリティ・ロールを持つユーザーの場合に、論理ORを使用して各ロールからのフィルタを1つに結合されたセキュリティ・ロール・フィルタにするかどうか。

trueに設定した場合は、論理ORが使用され、ユーザーはそのセキュリティ・ロールのフィルタの少なくとも1つに一致するデータにアクセスできます。

falseに設定した場合は(デフォルト値)、論理ANDが使用され、ユーザーはそのすべてのセキュリティ・ロールに関連付けられたフィルタすべてに一致するデータにのみアクセスできます。

論理ORが使用される場合、これは各種セキュリティ・ロールのフィルタを結合するためにのみ使用されます。各ロールのフィルタが別のロールのフィルタに結合されるまでは、論理ANDがそれぞれのフィルタで適用されます。

データ・セットのベース・フィルタも論理ANDを使用して適用されます。

rolePermissions ユーザー・ロールをセキュリティ・フィルタにマップします。
それぞれのマッピングについて、形式は次のようになります。
"<role name>" : [<filter list>]
これらの意味は、次のとおりです。
  • <role name>はユーザー・ロールの名前です。
  • <filter list>は、指定のロールに適用するフィルタ名のカンマ区切りリストです。名前はそれぞれ引用符で囲みます。たとえば、["filter1", "filter2", "filter3"]のように指定します。

たとえば、次に示すEndeca Server接続では、ロールFrench Wineを持つユーザーは、Bordeaux地域およびBurgundy地域のデータのみを表示でき、ロールAustrian Wineを持つユーザーは、Austria、BurgenlandおよびSteiermarkの地域のデータのみを表示できます。rolePermissionsMultiOrがtrueに設定されているため、これらの両ロールを持つユーザーは、この5地域のレコードを表示できます。

{
 "server":"server01.lab.acme.com",
 "port":"7002",
 "dataDomainName":"acmeDB",
 "name":"European Wines",
 "description":"Sales transactions for European wines",
 "sslConfig": {
    "caFile":"endecaServerTrustStore.ks",
    "caPassword":"************",
    "certFile":"endecaServerClientCert.ks",
    "certPassword":"************"
 }
 "securityEnabled":"true",
 "securityFilters": {
    "frenchFilter": {
        "class":"com.endeca.portal.data.functions.DataSourceFilter",
        "filterString":"Region='Bordeaux' OR Region='Burgundy'",
        "viewKey":"Wines"
    },
    "austrianFilter": {
        "class":"com.endeca.portal.data.functions.DataSourceFilter",
        "filterString":"Region='Austria' OR Region='Burgenland' OR Region='Steiermark'",
        "viewKey":"Wines"
    }
  },
 "rolePermissionsMultiOr":"true",
 "rolePermissions": {
    "French Wine": ["frenchFilter"],
    "Austrian Wine": ["austrianFilter"]
  }
}

ロールベースのセキュリティ・フィルタ処理など、Studio Endeca Server接続の詳細は、『Studio管理およびカスタマイズ・ガイド』を参照してください。

このデフォルトのロールベースのセキュリティより強力なセキュリティが必要な場合は、カスタムのSecurity Managerを作成して、ユーザーのロールやグループの関連付けなどのユーザー・プロファイルの詳細に基づいてEndeca Serverデータをフィルタ処理することができます。

Security Managerの作成および構成の詳細は、『Studio管理およびカスタマイズ・ガイド』を参照してください。