アセットおよびリソース
ユーザが認証された後、そのユーザが利用できるリソースは、Caché セキュリティの承認機能で決まります。Caché のコンポーネントは、承認によって不適切な使用から保護されます。権限には以下の概念があります。
-
アセットとは、保護の対象になるものです。例えば、Caché データベースはアセットであり、SQL を使用して Caché に接続する機能もアセットです。また、バックアップを実行する機能もアセットです。
-
アセットは、リソースを通じて保護されます。アセットとリソースの中には一対一で対応するものがあり、この場合は 1 つのリソースによって単一のアセット (データベースなど) が保護されています。これ以外の場合は、セキュリティ管理を簡素化するために、単一のリソースで複数のアセットが保護されています。例えば、さまざまなシステム管理機能が単一のリソースで保護されています。
-
特権によって、あるリソースで保護されている 1 つ以上のアセットに対して何らかの処理を実行する許可が付与されます。例えば、注文データベースを読み取ることができるようになります。特権は、リソース名の後にコロンで区切って許可を記す書式で記述します。例えば、以下のようになります。
%DB_Sales:Read
特権の詳細は、“特権および許可” の章を参照してください。
Caché には、アセットを保護するリソースのセットがあります。つまり、ユーザが保持している権限に基づき、このリソースのセットによってユーザにアセットへのアクセスが提供されます。ユーザがユーザ専用のリソースを定義することもできます。
この章では、リソースとリソースが保護するアセットに関する問題を扱います。項目は以下のとおりです。
リソースについて
リソースには、以下のようないくつかのタイプがあります。
-
システム・リソース — Caché インスタンスに対してさまざまなアクションを実行する機能を制御します。これらのリソースの詳細は、この章の “システム・リソース” のセクションを参照してください。
これらのリソースは、%Admin_Journal、%Admin_Manage、%Admin_Operate、%Admin_Secure、%Admin_Task、%Development、および %System_Callout です。
-
データベース・リソース — Caché データベースに対する読み取りと書き込みのアクセスを制御します。これらのリソースの詳細は、この章の “データベース・リソース” のセクションを参照してください。
新しくインストールされた Caché インスタンス用のデータベース・リソースは、%DB_CACHE、%DB_CACHEAUDIT、%DB_CACHELIB、%DB_CACHESYS、%DB_CACHETEMP、%DB_DOCBOOK、%DB_SAMPLES、%DB_USER、および %DB_%DEFAULT です。
-
サービス・リソース — Caché のさまざまな接続テクノロジを使用して Caché に接続する機能を制御します。これらのリソースとそれらが制御する機能の詳細は、“サービス” の章を参照してください。
すべてのサービスが特権に関連付けられているわけではありません。Caché によってユーザ・ベースのアクセスが提供されるサービスのみにこのような関連付けがあります。データベース・シャドウイングなどのこれ以外のサービスはユーザ・ベースではないので、関連付けられたセキュリティ・リソースが存在しません。サービスの管理の詳細は、“サービス” を参照してください。
サービス・リソースは、%Service_CSP、%Service_CacheDirect、%Service_Callin、%Service_ComPort、%Service_Console、%Service_Login、%Service_Object、%Service_SQL、%Service_Telnet、および %Service_Terminal です。
-
DeepSee リソース — DeepSee のさまざまな機能を使用する機能を制御します。これらのリソースの詳細は、"DeepSee II 実装ガイド" の “セキュリティの設定” の章を参照してください。
-
アプリケーション・リソース — ユーザ定義アプリケーションの全体を制御するか、ユーザ・コードの任意の場所において承認を行います。これらのリソースの一般情報は、この章の “アプリケーション・リソース” のセクションを参照してください。これらのリソースの作成に関する詳細は、この章の “リソースの作成または編集” を参照してください。
システム・リソース
Caché には、インストール済みの Caché インスタンスに関するアクションを制御する組み込みリソースのセットが付属しています。これらは以前、まとめて管理リソースおよび開発リソースと呼ばれていました。システム・リソースには以下のものがあります。
システム・リソースには、リソース・ベース・サービスに関連付けられたリソースも含まれます。サービスの詳細は、“サービス” の章を参照してください。
管理リソース
管理リソースにかかわる特権を付与されている場合は、指定された Caché システム管理タスクを実行できます。これらのタスクに関連付けられた許可は Use です。Read および Write の許可は無関係です。
このリソースに対する Use 権限を持つユーザは、ターミナルのプログラマ・モードで、ジャーナリングなしプロセス・フラグを DISABLE^%SYS.NOJRN と ENABLE^%SYS.NOJRN のエントリ・ポイントによって、それぞれ設定およびクリアできます。このリソースにより、Use 許可を %Admin_Manage リソースで付与 (この場合、必要以上の特権が付与される場合があります) しなくても、このアクションを実行可能なユーザを確立できます。
見てわかるとおり、このリソースにより、管理ポータルのさまざまなページへのアクセスが制御されます。特に、以下の機能を制御します。
-
Caché 設定の作成、変更、および削除
-
バックアップ定義の作成、変更、および削除
-
データベースの追加、データベースの特性の変更、およびデータベースの削除
-
ネームスペース・マップの変更
-
データベースとジャーナルのリストア
-
ジャーナリングなしプロセス・フラグの設定およびクリア。このフラグは、ターミナルのプログラマ・モードで、ENABLE^%SYS.NOJRN と DISABLE^%SYS.NOJRN のエントリ・ポイントを使用して設定およびクリアします。他の管理特権なしでユーザがこのタスクを実行できるようにする場合、%Admin_Journal リソースを使用します。
見てわかるとおり、このリソースにより、管理ポータルのさまざまなページへのアクセスが制御されます。特に、以下の機能を制御します。
-
Caché の起動と終了
-
プロセスの検証と終了
-
データベースのマウントとディスマウント
-
整合性の確認
-
ジャーナルの開始、停止、および切り換え
-
データベースのバックアップ
-
ロックの検証と削除
-
ログの検証
-
サービスの開始と停止
データベースをマウントするには、%Admin_Operate:Use 特権が必要です。これは、明示的なマウント (Caché のユーティリティを使用した場合など) でも、暗黙的なマウント (マウントしていないデータベースへのグローバル参照を作成した場合など) でも同様です。
見てわかるとおり、このリソースにより、管理ポータルのさまざまなページへのアクセスが制御されます。特に、以下の機能を制御します。
-
ユーザの作成、変更、削除
-
ロールの作成、変更、削除
-
アプリケーション定義とアプリケーション・リソースの作成、変更、削除
-
監査設定の変更
-
サービスの変更
見てわかるとおり、このリソースにより、管理ポータルのタスク・マネージャ ([システム処理]、[タスクマネージャ]) などでタスクの生成、変更、および実行機能が制御されます。
%Admin_* リソースに対する特権を保持しているユーザは、データベースの特権 (%DB_<database-name>:R/W) をまったく持っていなくても管理機能を実行できます。例えば、%Admin_Operate:Use 特権を保持しているユーザ (普通はシステム・オペレータ) は、データベースに対する特権がなくても、そのデータベースを含むバックアップを実行できます。これは必然的な動作です。それは、Caché のデータベース・バックアップ・システムのようなアプリケーション以外の方法で、オペレータがデータベースの内容にアクセスする必要はないからです。
%Development リソース
%Development リソースは、Caché の開発機能と管理ポータルのさまざまなページへのアクセスを制御します。特に、以下の機能を制御します。
-
ダイレクト・モードへの切り換え
-
スタジオの使用%Development:Use 特権は、スタジオがサーバに接続するたびにチェックされます。
-
Caché システム管理ユーティリティのグローバル、ルーチン、クラス、テーブル、または SQL のいずれかの機能の使用 (この機能にプログラム的にアクセスする API を呼び出す場合も、この特権が必要です)。
-
Caché のデバッグ機能の使用。BREAK コマンドと ZBREAK コマンド、Caché システム管理ユーティリティでのプロセス表示のデバッグ・オプションなどがあります。
%Development:Use 特権は、データベース特権との組み合わせで動作し、以下のように Caché への開発者のアクセスを制御します。
-
スタジオの場合は、スタジオがサーバに接続するたびに %Development:Use 特権があるかどうかがチェックされます。接続するには、そのサーバに対する %Development:Use 特権を持ち、ネームスペースの既定のグローバル・データベースを読み取ることができる (つまり、%DB_<database-name>:R 特権を持つ) 必要があります。ルーチン、クラス、または他の定義を開くには、それが格納されているデータベース (既定のルーチン・データベースであるかどうかは問いません) に対する Read 特権を持っている必要があります。定義をコンパイルまたは保存するには、そのデータベースに対する Write 特権を持っている必要があります。
-
Caché システム・マネージャ・ユーティリティのグローバル、ルーチン、またはクラスの各機能の場合、グローバルにアクセスするユーザまたはグローバルを変更するユーザには、それぞれ該当のデータベースに対する Read 特権または Write 特権が必要です。
-
Caché システム・マネージャ・ユーティリティの SQL 機能の場合、テーブル、ビュー、ストアド・プロシージャ、または他の SQL アセットに対する適切な SQL 特権がユーザに必要です。データベース・テーブルに対する何らかの SQL アクセスがユーザに許可されると、そのデータベースに対する Read アクセスまたは Write アクセスも付与されます。
Caché アプリケーションをデバッグするために、特定のデータベース特権が必要になることはありません。システムに対する %Development:Use 特権があれば、そのシステム上のあらゆるデータベースに格納されているあらゆるルーチンにブレークポイントを設定できます。ただし、以下の操作ではデータベースに対する Read 特権が必要です。
-
デバッガを使用してルーチンのソースを表示する
-
ルーチンを実行する
%System_Callout リソース
%System_Callout リソースは、Caché 外でアクションを実行する様々なツールへのアクセスを制御します。これには、以下のものがあります。
-
ObjectScript での $ZF(-100) 関数の使用。これは、ObjectScript コード内からのオペレーティング・システム・コマンドの実行をサポートしています。"コールアウト・ゲートウェイの使用法" の “オペレーティング・システム・コマンドの発行” も参照してください。ここには、%System_Callout:Use 特権を追加する詳細手順が記載されています。
-
ターミナルのターミナルでの、オペレーティング・システムにアクセスする制御文字としての “!” および “$” の使用。詳細は、$ZF(-100) のドキュメントを参照してください。
-
ObjectScript を使用したローカル・プロセス間通信における、Q モードでのプロセス間通信デバイスのオープン。詳細は、"Caché 入出力デバイス・ガイド" の “ローカル・プロセス間通信” の章にある “プロセス間通信パイプの OPEN のみのコマンド・キーワード” の表を参照してください。
-
MultiValue シェルで、SH コマンドと DOS コマンドを使用します。
%Secure_Break リソース
%Secure_Break リソースは、保護されたデバッグ・シェルの使用に適用されます。これは、<BREAK> プロンプトでのプログラマのアクセスを制限します。保護されたデバッグ・シェルの詳細は、“システム管理およびセキュリティ” の章の “Secure Shell” の節を参照してください。
データベース・リソース
データベース・リソースでは、Caché データベースのコンテンツへのアクセスを制御します。データベースへのアクセスを制御するデータベース・リソースの名前は、そのデータベースのラベル・ブロックに格納されます。
データベース・リソースの名前はすべて、文字列 “%DB_” で始める必要があります。また、カスタム・リソースの場合、アンダースコアの次の文字にパーセント文字を使用することはできません。既定のデータベース・リソース名は、%DB_<データベース名> です。管理ポータルを使用して、データベースに割り当てられたリソース名を変更できます。
データベース・リソースの特権
利用できるデータベースの特権は、以下のとおりです。
許可 | 可能な操作 |
---|---|
Read | データへのアクセスとルーチンの実行 |
Write | データ (実行可能コードも含む) の変更と削除 |
Read 許可および Write 許可では、データベースのすべてのコンテンツへのアクセスが可能です。このコンテンツには、データのほか、ソース・コードと実行可能コードも含まれます。Caché のセキュリティ管理ユーティリティでは、Write アクセスが可能なデータベース・リソースには、自動的に Read 許可が与えられます。
データベースの特権では、ルーチンやグローバルなど、データベースに含まれる項目に対して個別に保護が可能になるわけではありません。データベースにあるリソースのすべての項目に、同一の保護が適用されます。独立したデータベースにグローバルとルーチンを格納することで、高度に細分化した保護を確立できます。Caché ネームスペースのマッピングを使用すれば、アプリケーション・レベルを変更せずに、このような保護を実現できます。
SQL セキュリティではテーブル・レベルのアクセスが与えられ、SELECT や UPDATE など、実行可能な特定のアクションが指定されます。SQL とセキュリティに関する詳細は、“SQL セキュリティ” の章を参照してください。
既定のデータベース・リソース
データベース・リソース名を持たない既存データベースをマウントしたときは、既定リソースの %DB_%DEFAULT がデータベースに割り当てられます。既定では、%DB_%DEFAULT には以下の許可が付与されています。
ロール | 許可 |
---|---|
%Developer | Read、Write |
%Manager | Read、Write |
%DB_%DEFAULT リソースに関連付けられた特権は変更できますが、名前のないデータベースがマウントされた場合に利用できる必要があるため、%DB_%DEFAULT リソース自体は削除できません。
認識されないリソース名、または無効なリソース名
1 つの例外 (以下を参照) を除き、認識されないリソース名または無効なリソース名を設定したデータベースをマウントしようとしても、マウントできません (異なる Caché インスタンス間でデータベースを移動すると、このようなエラーが発生します)。自動的にマウントしようとするとエラーで失敗し、明示的にマウントしようとすると、データベース・ラベルにある名前を持つリソースを作成するか、使用するリソースを有効なものに変更するか選択するように求められます。
この規則の唯一の例外として、%All ロールのメンバであるユーザは、リソースがないデータベースをマウントできます (リソースが削除された場合や、データベースが以前は別のシステム上にあった場合など)。
ネームスペース
ユーザとアプリケーションは、ネームスペースを通じて Caché データベースと対話します。ネームスペースに関連付けられた特権は存在しませんが、その基盤となっているデータベースに関連付けられた特権に基づいて、ネームスペースへのアクセスが付与または拒否されます。具体的には、ネームスペースにアクセスするには、そのネームスペースに関連付けられた既定のグローバル・データベースに対する Read 特権を保持している必要があります。この要件は、以下の場合に確認されます。
-
別のネームスペースに変更しようとする場合 ($NAMESPACE 特殊変数、ZNSPACE コマンド、%CD ユーティリティなどを使用)。
-
SQL 接続やオブジェクト接続など、ネームスペースに接続するサービスを使用して Caché に接続しようとする場合。
ネームスペースに対して暗黙的または明示的に、グローバルまたはルーチンによる参照を作成する場合、この要件は確認されません。
ネームスペースの特権はその基盤となっているデータベースの特権に依存するため、予期しない動作が発生する可能性があります。例えば、ネームスペース NSCust が、DBCust1、DBCust2、および DBCust3 という 3 つのデータベース内のデータを参照するとします。さらにロール AverageUser があり、特権 %DB_DBCust1:R と %DB_DBCust3:R を持つとします。このロールには DBCust2 に関連付けられた特権がないため、そのデータベース内のデータへのアクセスの試行はすべて失敗します (ネームスペースを介したアクセスを含む)。
Caché に付属するデータベース
Caché にはデータベースが多数付属しています。この中には、次のセクションで説明するような特殊な特性を持つものもあります。これには、以下のものがあります。
CACHESYS (マネージャ・データベース)
Caché には、管理ルーチンおよびグローバルのリポジトリを提供するデータベースが付属しています。CACHESYS データベースがそのデータベースで、マネージャ・データベースとも呼ばれます。
このデータベースには、パーセント記号で始まる名前を持つグローバルとルーチンのグループがあります (これらはそれぞれ “パーセント・グローバル” および “グローバル・ルーチン” と呼ばれます)。これらのグローバルとルーチンは、Caché サイトの管理で特別な役目を持っており、これらのグローバルとルーチンに適用する、以下のような特別な規則を備えています。
-
すべてのユーザは、パーセント・ルーチンおよびパーセント・グローバルに対する Read 許可を持っています。
マッピングを使用すれば、これらの項目を格納する場所を変更できますが、これらの表示には影響しません。パーセント・ルーチンおよびパーセント・グローバルはすべてのネームスペースで常に表示されます。
-
すべてのパーセント・ルーチンは、同じデータベースに存在するすべてのグローバル (パーセント・グローバルのほか、非パーセントのグローバルも含む) に対する Write 許可を持っています。例えば、CACHESYS データベースにあるパーセント・ルーチンは、そのデータベースに格納されているグローバルに対して Write アクセス許可を持っていますが、他のデータベースにあるグローバルに対してはこの許可を持っていません。同時に、他のデータベースにあるパーセント・ルーチンは、その同じデータベースに格納されているグローバルに対して暗黙の Write アクセス許可を持ちますが、CACHESYS にあるパーセント・グローバルに対してはこの許可を持っていません。この暗黙の Write 許可は、通常のルーチンを実行しているときにのみ有効です。ルーチンが変更されていて、XECUTE コマンドでも引数による間接指定でもそのルーチンを使用できない場合、この許可は無効になります。
-
[システムワイドセキュリティパラメータ] ページ ([システム管理] > [セキュリティ] > [システム・セキュリティ] > [システムワイドセキュリティパラメータ]) の [パーセントで始まるグローバルへの書き込みを有効に] フィールドを使用して、パーセント・グローバルに対する Write アクセス許可を非パーセント・ルーチンから制御できます。このページについては、“システム管理およびセキュリティ” の章の "システム規模のセキュリティ・パラメータ" のセクションを参照してください。
CACHESYS データベースの移動、置換、削除は行わないでください。
特別な機能
CACHESYS データベースにあるコードで使用できる特別な機能があります。これらの機能を、“制限付きシステム機能” と呼ぶことがあります。この機能の働きは、以下のとおりです。
-
保護された VIEW コマンドおよび $VIEW 関数を呼び出す。
-
保護されたクラス・メソッドを使用する。
-
SET $ROLES = ... 呼び出しを使用してプロセスのロールを変更する。
-
引数を 1 つ使用した形式で $SYSTEM.Security.Login (%SYSTEM.SecurityOpens in a new tab クラスの Login メソッド) 関数を呼び出す。
-
引数を 2 つ使用した形式で $SYSTEM.Security.ChangePassword (%SYSTEM.SecurityOpens in a new tab クラスの ChangePassword メソッド) 関数を呼び出す。(新しいパスワードは、“ユーザ” の章の “ユーザのプロパティ” の節で説明されている一般的なパスワード制約と、“システム管理およびセキュリティ” の章の “パスワードの強固さとパスワードのポリシー” の節で説明されているインスタンス固有のパスワード制約に従う必要があります)。
VIEW コマンドを使用してデータベースのブロックに対する読み取りまたは書き込みを実行するとき、データベース特権は不要です。
以下のコードのみが、上記のアクションを実行できます。
-
CACHESYS データベースに格納されているルーチン ("通常" のルーチンの実行中のみ)。現在のルーチンへの ZINSERT によりこのルーチンが変更されている場合、これらの機能は無効になり、XECUTE コマンドでも引数による間接指定でも利用できなくなります。
-
%DB_CACHESYS リソースに対する Write 許可を持っているプロセス。
SAMPLES データベース
Caché には、SAMPLES データベースという、データ例のデータベースが付属しています。既定では、すべてのユーザにこのデータベースへの SQL アクセスが付与されています。さらに、ネームスペースでの SQL システム特権を持つユーザ、つまりネームスペースにあるテーブル、ビュー、またはプロシージャに対する SQL 特権を持つユーザであれば、%SQL ロールとデータベース・ロールが付与されます。この理由から、すべてのユーザは SAMPLES データベースに接続できます。
アプリケーション・リソース
Caché では、数種類の形式のカスタム承認をサポートしています。それらのすべては、アプリケーション・リソースとして知られるユーザ定義のリソースに依存しています。これには、以下のものがあります。
-
ポータル・ページのための補足的な承認の確認 — 詳細は、“管理ポータルによるカスタム・リソースの使用法” のセクションを参照してください。
-
アプリケーションで特定の時点における承認の確認 — 詳細は、次の “リソースの作成または編集” のセクションを参照してください。
-
アプリケーション全体の承認
アプリケーション全体に対して、Caché はユーザ定義のアプリケーションと関連付けられたアプリケーション定義を作成できます (これ自体は、実行可能なコードで構成される名前付きエンティティとして定義されます)。アプリケーション・リソースによりアプリケーションの承認を確認できます。アプリケーションには、以下の 3 つのタイプがあります。
-
Web アプリケーション定義 — 特定の CSP アプリケーションまたは Zen アプリケーションに関連付けます。
-
特権ルーチン・アプリケーション定義 — 1 つ以上のルーチンに関連付けます。
-
クライアント・アプリケーション定義 — 1 つ以上の Caché Direct 実行可能ファイルに関連付けます。
アプリケーション・リソースは、アプリケーションに対するアクセスを制御する手段を提供します。この機能を使用するには、カスタム・リソースを作成し (詳細は、次のセクションの “リソースの作成または編集” を参照)、アプリケーションに関連付けて使用します (詳細は、“アプリケーション” の章にある “アプリケーションの作成および編集 : [一般] タブ” のセクションを参照)。
例えば Zen アプリケーションに関連付けられたリソースがある場合、ユーザは、そのリソースに対して Use 許可を持つ場合にのみアプリケーションを実行できます。アプリケーションでリソースを規制するその他のエンティティ (データベースなど) が使用されている場合は、ユーザにもこれらのリソースに対する適切な許可を与えて、アプリケーションを効率的に操作する必要があります。アプリケーションの詳細は、“アプリケーション” の章を参照してください。
リソースの作成または編集
新規のリソースを作成するには、[リソース] ページ ([システム管理] > [セキュリティ] > [リソース]) で、[新規リソースの作成] をクリックします。
既存のリソースを編集するには、[リソース] ページ ([システム管理] > [セキュリティ] > [リソース]) で、編集するリソースの右にある [編集] ボタンをクリックします。
[リソースの編集] ページが表示されます。[リソースの編集] ページには、以下のフィールドがあります。
-
リソース名 — リソースを識別するための文字列。リソース名の詳細は、“リソースの名前付け規約” を参照してください。リソースを作成する場合に、このフィールドは編集可能になります。既存のリソースを編集する場合は、編集不可能な文字列が表示されます。
-
説明 — リソースに関連するオプション・テキスト。
-
パブリック許可 —
-
Read — チェックが付いている場合は、すべてのユーザがこのリソースを参照できることを表します。
-
Write — チェックが付いている場合は、すべてのユーザがこのリソースを参照または変更できることを表します。
-
Use — チェックが付いている場合、すべてのユーザがこのリソースを実行または使用できることを表します。
-
リソースを追加すると、これがリソースのテーブルに表示され、アプリケーション・タイプになります。これは、アプリケーション固有の承認の一部として使用できます。詳細は、“特権および許可” の章にある “特権の確認” のセクションを参照してください。
リソースの名前付け規約
Caché リソースの名前はパーセント記号の文字で始まります。アプリケーション定義リソースの名前は、パーセント記号文字で始めないでください。
リソース名では大文字と小文字が区別されません。したがって、以下の点に注意します。
-
大文字と小文字が混在した名前を定義すると、入力したとおりの文字の組み合わせで名前が保持されます。
-
大文字と小文字の違いのみで別の名前とすることはできません。
-
名前の検索では、大文字と小文字の違いは無視されます。
例えば、“Accounting” という名前のリソースがあるとします。“ACCOUNTING” という名前で別のリソースを作成しようとしても失敗します。また、“Accounting”、“accounting”、および “ACCOUNTING” のいずれの名前を使用しても、このリソースを参照できます。
管理ポータルによるカスタム・リソースの使用法
既定では、%Admin_Manage、%Admin_Operate、%Admin_Secure、および %Development のシステム・リソースにより、管理ポータルへのアクセスが制御されます。よりきめ細かくポータルのセキュリティを実現できるようにこれらを補足すると、さらにカスタム・リソースを各ポータル・ページと関連付けることができます。関連付けられるカスタム・リソースがポータル・ページにある場合、そのページを表示するためには、ユーザがそのページのシステム・リソースとカスタム・リソースの両方を保持する必要があります。
例えば、[ロックテーブル] ページにアクセスするには、%Operator ロールが必要です。カスタム・リソース (例えば、MyLockTable) を [ロックテーブル] ページに関連付けることもできます。この関連付けを作成したら、[ロックテーブル] ページを表示するには、ユーザは %Operator ロールのメンバであり、さらに MyLockTable:Use 特権がある必要があります。これにより、%Operator ロールでアクセス権が付与されるページの数が、既定の設定のインスタンスよりも少なくなります。そして、[ロックテーブル] ページや %Operator ロールでアクセス権が付与されるその他のすべてのページを表示できる、新しいロールを定義できます。複数のカスタム・リソースも作成できます。これによって、事前定義済みロールが既定で用意しているもののさまざまなサブセットにさまざまなロールでアクセスできます。
ここでは以下について説明します。
さまざまなページ、リソース、およびロール間における相互作用は複雑な場合があるので、管理ポータルのカスタム・リソースを実装する前に、システム管理者は注意深く計画する必要があります。
カスタム・リソースの定義とページへの適用
カスタム・リソースを定義して適用する手順は以下のとおりです。
-
%Admin_Secure:Use 特権のあるユーザ、または %All ロールのメンバとしてログインします。
-
カスタム・リソースを作成します。このためには、[リソース] ページ ([システム管理] > [セキュリティ]、[リソース]) で、[新規リソース作成] をクリックします。リソースを作成する際、インスタンスのニーズに従ってパブリック許可を適切に設定してあることを確認します。
-
カスタム・リソースを使用する特権をロールに関連付けます。既存のロールの場合、[ロール] ページ ([システム管理] > [セキュリティ] > [ロール]) で、特権をロールに追加するだけです。または、(同じく [ロール] ページで) 新しいロールを作成してからその直後に特権を追加します。どちらの方法でも、特権はカスタム・リソースと Use 許可で構成されます。
-
カスタム・リソースをページに割り当てます。以下はその方法です。
-
ポータルの検索機能を使用して、ページを選択します。ページの名前をクリックすると直接そのページに移動します。ページのアクション・ペインを表示するには (名前自体ではなく) ボックス内をクリックしてください。
-
ページのアクション・ペインの一番下にある [割り当てる] をクリックします。[カスタム・リソースの割り当て] ダイアログが表示されます。
-
そのダイアログで、適切なリソースを [カスタム・リソース名] リストで選択し、[OK] をクリックします。
-
ページからのカスタム・リソースの削除
カスタム・リソースの関連付けをページから削除するには、以下の手順に従います。
-
%Admin_Secure:Use 特権のあるユーザ、または %All ロールのメンバとしてログインします。
-
ポータルの検索機能を使用して、ページを選択します。ページの名前をクリックすると直接そのページに移動します。ページのアクション・ペインを表示するには (名前自体ではなく) ボックス内をクリックしてください。
-
ページのアクション・ペインの一番下にある [割り当てる] をクリックします。[カスタム・リソースの割り当て] ダイアログが表示されます。
-
そのダイアログで、空の項目を [カスタム・リソース名] リストで選択し、[OK] をクリックします。