ユーザーセキュリティレベルにより、高度なデータレベルのアクセス定義を作成できます。定義は、選択したデータセットに適用される指定されたフィルターに基づいています。
ユーザーセキュリティレベルは、特定のユーザーのみに属するデータへのアクセスを可能にするため、脆弱性リスクを軽減する最適な方法です。
ドメイン管理者の役割が割り当てられているユーザーのみが、ユーザーのセキュリティレベルを作成および管理できます。
ユーザーのセキュリティはドメイン外でも作成できます。
ユーザーセキュリティレベルの作成
画面上部のメインメニューから[データセット]ページを開きます。
- 左側のサブメニューの[ユーザーセキュリティレベル]をクリックします。
- [新しいレベルを追加]オプションを選択します。
[ユーザーセキュリティレベルの追加] ダイアログウィンドウでは、ユーザーは選択したデータセットに割り当てることができるセキュリティレベルを定義できます。次のパラメーターを使用できます:
- セキュリティレベルの名前
- クエリで使用される区切り文字
- データフィルタリングのクエリーコード
- セキュリティレベルが適用される適用列 (複数の列を追加可能)
クエリ―コードの定義
クエリーは、選択した列にフィルターとして適用されるSQLのような形式を使用しています。クエリーは次の手順を適用する必要があります:
- SELECTで開始
- メインデータセットは、変数 $mainDataset(ID) を介して参照されます。IDはデータセットIDです。
- メインデータセットの別名はPT
- メインデータセットは、結合の最初の部分で定義する必要があります。
- 他のデータセットは、変数 $dataset(ID) を介して参照されます。IDはデータセットIDです。
- 定義にはデータセット属性のみが許可されます。
- 変数を適用できます。
クエリ―コード 例
SELECT PT.L_COMPANY, PT.L_LEDGER, PT.L_FIELD from $mainDataset(210) PT JOIN $dataset(208) JD1 ON (PT.L_COMPANY= JD1.L_COMPANY AND PT.L_LEDGER=JD1.L_LEDGER AND PT.L_FIELD=JD1.L_FIELD) JOIN $dataset(209) JD2 ON (PT.L_CODE = JD2.L_CODE AND JD1.L_SHARED_CD = JD2.L_SHARED_CD) where ((JD1.L_USER = '$user(username)') AND (PT.L_COMPANY like '$@reportVariable1'))
変数
次の変数を使用できます:
- $user(XXX) - ユーザープロファイル情報を返します。
- XXX = ユーザ名, 名, 姓, 電話番号, 電話番号2, メールアドレス, 住所, オフィス, 役職, 活動, ロケール, タイムゾーン, chartType
- $user.parameters - ユーザーのパラメータに指定した値が含まれているかどうかをチェックします。
WHERE '${user.parameters}' LIKE '%department=ACCOUNTING;%'.
- $date(now) - 現在の日付を返します。
- ${@reportVariable} - レポート変数の値を適用します。
user variables | report variables |
---|---|
ワイルドカード
BellaDatiではワイルドカードを使用できます。これにより、任意の数の文字を置き換えることができます。
名称 | 説明 |
---|---|
% | ゼロまたは任意の数の文字を置き換えます。 |
_ | 一文字を置き換えます。 |
UNION
複数の選択が必要な場合は、UNIONキーを使用してそれらを結合します。
JOIN
JOINが必要な場合は、クエリーでも使用できます。 JOINはLEFT JOINを表します。
セキュリティレベルの適用
ユーザーのセキュリティレベルを指定すると、データセットに割り当てることができます。これを行うには、データセットの詳細を開き、次の手順に従います:
- サブメニューの [ユーザーセキュリティレベル] オプションを選択します。
- [ユーザーセキュリティレベルを有効にする] オプションを選択して、ユーザーセキュリティレベルに基づくデータセットフィルタリングを有効にします。
- [既存のレベルを追加] オプションを選択して、既存のユーザーセキュリティレベルをデータセットに適用します。
- 必要なセキュリティレベルを選択し、[追加] をクリックします。
適用されたユーザーセキュリティレベルは、ユーザーセキュリティレベル画面に表示されます:
[既存のレベルを追加] オプションを使用して、新しいレベルを追加できます。選択したユーザーのセキュリティレベルは、Xボタンを使用して割り当てを解除できます。
脆弱性リスクの低減
ここでは、特定のユーザーIDにのみデータを限定する簡単な例を示します。データセット26には、L_CONN_COLが含まれていなければなりません。このセキュリティは、L_CONN_COLを持つ他のデータセットにも適用でき、特定の行へのアクセスを可能にします。