LoginSignup
2
3

More than 5 years have passed since last update.

Cognos 行・列単位でのデータアクセス権限付与

Posted at

概要

最近質問を受けたので、ついでに投稿します。

以下のようなデータがあったとして、特定のグループに所属するユーザーには「SALES_PERSON=LEE」のデータのみアクセス許可したい、特定のグループに所属するユーザーは、「REGION」列にアクセスして欲しくない、という、行・列単位でのデータアクセス権限付与はどのように実装するのか、という質問でした。
001.PNG

行レベルのアクセス権限付与

基本的にどちらもFramework Managerで行います。

先ほどのデータはSALES表にあるので、SALES表を選択した状態で「操作」メニューから「データ・セキュリティを指定」を選択します。
002.PNG

以下の画面で「グループを追加」で、特定のグループ「Role01」を指定し、フィルターとして「埋め込みを作成/編集」から、以下のようにSALES_PERSON='LEE'を記載します。
003.PNG

このパッケージを実行して、Role01に所属するユーザーで先ほどのレポートを実行するとこうなります。
005.PNG

また、別の方法として、以下のようなイメージで、セキュリティ情報テーブルを作成して、ユーザーのセッション情報からアクセス可能なデータを制限させる事も可能です。
image.png

列レベルのアクセス権限付与

次に特定の列「REGION列にアクセスさせたくない、という場合です。
Framework ManagerでSALES表の「REGION」を選択した状態で、「操作」メニューから「オブジェクト・セキュリティーを指定」を選択します。
006.PNG

対象のグループを追加し、「許可」「拒否」を指定します。
007.PNG

先ほどのレポートを実行すると、以下のようにデータアクセス権限が無く、エラーとなります。
008.PNG

Role01所属ユーザーでレポートを新規作成した場合も、「REGION」列が表示されない事がわかります。
009.PNG

参考

以下のような記事も投稿してますので、ご参照下さい。
Cognosレポートで職位に応じてデータをマスキング
https://qiita.com/shinyama/items/382be21d82e7eef77866

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3