セキュリティの設定
DeepSee には、機能および DeepSee の項目へのアクセスを管理する、正式なメカニズムがあります。このメカニズムは、基礎となる Caché セキュリティ・フレームワークに基づいています。以下の項目について説明します。
この章では、ユーザが "Caché セキュリティ管理ガイド" で説明されている Caché セキュリティを理解していることを前提としています。特に、リソース、ロール、およびユーザ間のリレーションシップを理解しているものとします。
[ビジュアル・レポーティング] オプションのセキュリティの詳細は、"DeepSee ビジュアル・レポーティングの使用法" を参照してください。
Caché を [最小のセキュリティ] オプションを使用してインストールした場合 (また、その後セキュリティを強化しなかった場合)、UnknownUser ユーザは %All ロールに属し、DeepSee のすべての部分にアクセスできます。その場合、この章は無視してください。
また、DeepSee を Web アプリケーション内から使用します。既定では、Web アプリケーションは、インターシステムズ・クラスのサブセットにアクセスできますが、これには %DeepSee クラスは含まれません。Web アプリケーションで DeepSee を使用するには、%DeepSee クラスへのアクセスを明示的に有効化する必要があります。詳細は、"Caché Server Pages (CSP) の使用法" の “CSP アプリケーションの設定” を参照してください。サブセクション “特殊なケース: DeepSee” を参照してください。
これにより、既定で Web アプリケーション /csp/samples および /csp/ensdemo から上記のアクセスが可能になります。
セキュリティの概要
以下のテーブルは、DeepSee 内の要素の保護方法をまとめたものです。
要素 | 保護方法 |
---|---|
DeepSee ユーザ・ポータル | %DeepSee_Portal および %DeepSee_PortalEdit リソース |
DeepSee アナライザ | %DeepSee_Portal、%DeepSee_Analyzer、および %DeepSee_AnalyzerEdit リソース |
DeepSee アーキテクト | %DeepSee_Portal、%DeepSee_Architect、および %DeepSee_ArchitectEdit リソース |
フォルダ・マネージャとキューブ・マネージャ | %DeepSee_Portal および %DeepSee_Admin リソース |
[クエリツール] ページおよび [設定] ページ | %DeepSee_Portal、%DeepSee_Admin、および %Development リソース |
[条件リスト・マネージャ] ページおよび [品質メジャー・マネージャ] ページ | %DeepSee_Portal および %DeepSee_PortalEdit リソース |
@リスト・グループ・マネージャ | %DeepSee_ListingGroup、%DeepSee_ListingGroupEdit、および %DeepSee_ListingGroupSQL リソース |
キューブ、サブジェクト領域、リスト、リスト・フィールド、リスト・グループ、KPI、フォルダ、その他のフォルダ項目 (ダッシュボードやピボット・テーブルなど) | カスタム・リソース (オプション) |
品質メジャー | 品質メジャーのパブリッシュ先であるキューブのユーザのみがアクセス可能 (追加のセキュリティなし) |
条件リスト | セキュリティ・オプションなし |
詳細は、この章で後述する “DeepSee の一般的なタスクに関する要件” を参照してください。
基本要件
ユーザが DeepSee を使用する場合、この章の残りの部分で示す他の要件に加えて、以下の要件に当てはまる必要があります。
-
ユーザは、DeepSee が使用されるデータベースにアクセスできる必要があります。
既定では、データベースを作成すると、Caché によって以下の操作が行われます。
-
データベース名に基づいた名前を持つリソースが作成されます (%DB_database_name)。
-
そのリソースが新しいデータベースへのアクセスを制御するように設定されます。
-
そのリソースと同じ名前のロールが作成されます。そのロールは、リソースに対する読み取り/書き込み特権を持ちます。
読み取り/書き込み特権がパブリックであるかどうかを指定できます。これらの特権は既定でパブリックになっていません。
例えば、DeepSee で使用するために MyApp というデータベースを作成し、ここで説明したように Caché によってリソースとロールが作成されるようにするとします。また、読み取り/書き込み特権がパブリックでないとします。その場合、DeepSee ユーザは、%DB_MyApp リソースに対する読み取り/書き込み特権を持つ %DB_MyApp ロールに属する必要があります。
SAMPLES データベースは特別に扱われます。このデータベースを使用するのに、%DB_SAMPLES ロールに属する必要はありません。
-
-
^DeepSee グローバルが別のデータベースからマップされている場合には、ユーザはそれらのグローバルが含まれているデータベースへもアクセスできる必要があります。
DeepSee の一般的なタスクに関する要件
以下のテーブルでは、前のセクションの項目に加え、一般的なタスクに関するセキュリティ要件を示します。
タスク | このタスクに対してユーザに付与されている必要がある特権* |
---|---|
ユーザ・ポータル (アナライザまたはミニ・アナライザ以外) の表示 (ダッシュボードの作成は不可) | %DeepSee_Portal リソースに対する USE 許可 |
ユーザ・ポータル (アナライザまたはミニ・アナライザ以外) の表示 (ダッシュボードの新規作成が可能) |
|
ダッシュボードの表示 (Excel へのエクスポートおよび PDF への出力を含む) |
|
アナライザまたはミニ・アナライザへの読み取り専用アクセス |
|
アナライザまたはミニ・アナライザへの完全なアクセス |
|
リストの表示 |
|
アナライザでの既存のピボット・テーブルの変更 |
|
ダッシュボードの新規作成 |
|
既存のダッシュボードの変更 |
|
アーキテクトへの読み取り専用アクセス |
|
アーキテクトでのキューブまたはサブジェクト領域の新規作成 |
|
アーキテクトでの既存のキューブまたはサブジェクト領域の変更 |
|
|
|
|
|
リスト・グループ・マネージャ (読み取り専用アクセス) | %DeepSee_ListingGroup リソースに対する USE 許可 |
リスト・グループ・マネージャ (編集アクセス、カスタム SQL クエリ・オプションを除く) | %DeepSee_ListingGroupEdit リソースに対する USE 許可 |
リスト・グループ・マネージャ (編集アクセス、カスタム SQL クエリ・オプションを含む) |
|
*前のセクションも参照してください。リソース定義で、これらの許可の一部をパブリックにできます。例えば、最小セキュリティ・インストールでは、既定で、USE 許可はすべての DeepSee リソースに対してパブリックになります。
**あるキューブに他のキューブへのリレーションシップがある場合、それらのキューブは個別に保護されます。リレーションシップを使用するには、ユーザにそれらのすべてに対する USE 許可が必要です。同様に、複合キューブは複数のキューブで構成され、それぞれ個別に保護されます。
モデル要素に対するセキュリティの追加
キューブ、サブジェクト領域、KPI、ピボット・テーブル、ダッシュボード、リスト、またはリスト・フィールドに対してセキュリティを追加する手順は以下のとおりです。
-
管理ポータルでリソースを作成します。[リソース] ページを使用します ([システム管理] > [セキュリティ] > [リソース] を選択します)。
-
管理ポータルでロールを作成します。[ロール] ページを使用します ([システム管理] > [セキュリティ] > [ロール] を選択します)。このロールは、作成したリソースに対する USE および WRITE 許可を持つ必要があります。
または、USE および WRITE 許可を持つ 1 つのロールと、USE 許可のみを持つもう 1 つのロールを作成することもできます。
-
以下のように、リソースを DeepSee の項目に関連付けます。
-
ダッシュボードまたはピボット・テーブルの場合は、その項目を保存する際に、該当するリソースの名前を [リソースへのアクセス] フィールドに入力します。
“ダッシュボードまたはピボット・テーブルのリソースの指定” も参照してください。
ダッシュボードまたはピボット・テーブルを保存するには、適切な DeepSee ユーザ・インタフェース・コンポーネントに対する USE および WRITE 特権が付与されていることも必要です。詳細は、前の見出しを参照してください。
-
キューブ、サブジェクト領域、またはリスト・フィールドの場合は、アーキテクトを使用してその項目を保護するリソースを指定します。
-
キューブ定義で定義されたリストの場合は、アーキテクトを使用してその項目を保護するリソースを指定します。
-
リスト・グループの場合やリスト・グループで定義されたリストの場合は、リスト・グループ・マネージャを使用してその項目を保護するリソースを指定します。
-
KPI の場合は、スタジオでクラス定義を編集します。適用可能なリソースの名前を、RESOURCE クラス・パラメータの値として使用します。
-
-
必要に応じて、ユーザをロールに割り当てます。
ダッシュボードまたはピボット・テーブルのリソースの指定
ダッシュボードまたはピボット・テーブルのリソースを指定するには、その項目を保存するときに [リソースへのアクセス] フィールドを指定します。以下のいずれかの場合に、これを実行できます。
-
項目に所有者が存在しない (所有者は [所有者] フィールドで指定されています)。
-
ユーザ自身がその項目の所有者である。
-
ユーザが %DeepSee_Admin リソースに対する USE 許可を持っている。
フォルダのリソースの指定
フォルダのリソースを指定する手順は以下のとおりです。
-
[InterSystems ランチャー] をクリックし、[管理ポータル] をクリックします。
セキュリティの設定によっては、Caché ユーザ名とパスワードを使用してログインするように求められます。
-
以下のように、適切なネームスペースに切り替えます。
-
[変更] をクリックします。
-
ネームスペースをクリックします。
-
[OK] をクリックします。
-
-
[DeepSee] > [管理] > [フォルダ・マネージャ] をクリックします。
-
フォルダの横にあるチェック・ボックスにチェックを付けます。
-
左の領域で [詳細] タブをクリックします。
-
リソースの名前を入力します。
-
[フォルダを保存] をクリックします。