Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

管理ポータル機能へのアクセスの制御

この付録では、管理ポータルで事前定義済みのセキュリティ・ロールおよびリソースを使用して、Ensemble のページやオプションへのアクセスを制御する方法について説明します。この章は以下の節で構成されています。

Important:

Ensemble のアップグレード手順を実行すると、これらの事前定義のリソースとロールがリセットされるため、セキュリティをカスタマイズするための作業は、自身が作成したリソースとロールを構成することのみに限定する必要があります。

概要

Ensemble には、基本的な Caché ロールに加えて、管理ポータルの機能へのアクセスを制御するために使用できる事前定義ロールが含まれています。これらの組み込みロールはほとんどの環境に適合する可能性がありますが、ページや機能へのアクセスをカスタマイズするための新たなロールを追加することもできます。

以下の各節では、Ensemble で事前構築されているセキュリティ構造について説明します。これらの情報に基づいて、現在の環境でユーザをロールにどのように割り当てるのかを決定できます。

Caché のセキュリティに関する詳細は、“Caché セキュリティ管理ガイド” を参照してください。特に、“Caché セキュリティについて” の章の “認証: ユーザ・アクセスの制御” を参照してください。

事前定義 Ensemble リソース

この節では、%Ens_ というプレフィックスで始まる Ensemble の事前定義リソースについて説明します。

  • 最初の項では、Ensemble で実行可能な特定のアクティビティを保護するリソースを列挙します。

  • 2 つ目の項では、Ensemble のコード・リソースとデータ・リソースを列挙します。

事前定義 Ensemble リソースのリストは、管理ポータルの システム, セキュリティ管理, リソース ページで表示できます。

リソースの詳細は、"Caché セキュリティ管理ガイド" の “アセットおよびリソース” を参照してください。

アクティビティを保護する Ensemble リソース

リソース 説明
%Ens_ConfigItemRun 構成項目の開始と停止を制御します。
%Ens_DTLTest データ変換テスト・ユーティリティへのアクセスを許可します。
%Ens_Dashboard Ensemble プロダクション・モニタへのアクセスを許可します。
%Ens_Deploy 導入アクティビティへのアクセスを許可します。
%Ens_DeploymentPkg 導入パッケージの作成を制御します。
%Ens_EventLog イベント・ログへのアクセスを許可します。
%Ens_MessageContent メッセージの内容へのアクセスを許可します。
%Ens_MessageDiscard キューに入れられたメッセージや中断されたメッセージの破棄を制御します。
%Ens_MessageEditResend メッセージの編集と再送信のためのアクセスを許可します。
%Ens_MessageHeader メッセージ・ヘッダ・データへのアクセスを許可します。
%Ens_MessageResend メッセージの再送信のためのアクセスを許可します。
%Ens_MessageResubmit 一時停止メッセージの再送信を制御します。
%Ens_MessageSuspend メッセージの手動中断を制御します。
%Ens_MessageTrace メッセージ・トレースへのアクセスを許可します。
%Ens_MsgBank_Dashboard Ensemble モニタ・ページへのアクセスを許可します。
%Ens_MsgBank_EventLog メッセージ・バンク・イベント・ログへのアクセスを許可します。
%Ens_MsgBank_MessageContent メッセージ・バンク内のメッセージの内容へのアクセスを許可します。
%Ens_MsgBank_MessageEditResend メッセージ・バンクからのメッセージの編集および再送信を許可します。
%Ens_MsgBank_MessageHeader メッセージ・バンクのヘッダ・データへのアクセスを許可します。
%Ens_MsgBank_MessageResend メッセージ・バンクからのメッセージの再送信を許可します。
%Ens_MsgBank_MessageTrace メッセージ・バンク・ビジュアル・トレースへのアクセスを許可します。
%Ens_Portal* 管理ポータル内の Ensemble メニューへのアクセスを許可します。
%Ens_ProductionDocumentation プロダクション・ドキュメントの作成を制御します。
%Ens_ProductionRun プロダクションの開始と停止を制御します。
%Ens_Purge Ensemble データのパージを制御します。
%Ens_RuleLog ルール・ログへのアクセスを許可します。
%Ens_TestingService ビジネス・ホスト・テスト・サービスへのアクセスを許可します。
%Ens_ViewFileSystem ユーザがファイル・システムを表示できるファインダ・ダイアログへのアクセスを許可します。
Note:

* 特定のネームスペース内で管理ポータル内の Ensemble 機能にアクセスするには、%Ens_Portal リソースに加えて、そのネームスペースのデフォルトのグローバル・データベース・リソースに対する Read 権限が必要です。この要件チェックは、すべての Ensemble ポータル・ページへのアクセスに対して適用されます。

コードとデータを保護する Ensemble リソース

リソース コード/データ
%Ens._AlertAdministration 管理対象アラートの管理へのアクセスを許可します。
%Ens_Alerts アラートの構成と管理へのアクセスを許可します。
%Ens_ArchiveManager アーカイブ・マネージャへのアクセスを許可します。
%Ens_BPL BPL へのアクセスを許可します。
%Ens_BusinessRules ビジネス・ルールへのアクセスを許可します。
%Ens_Code すべての Ensemble クラスおよびルーチンへのアクセスを許可します。
%Ens_Credentials Ensemble 資格情報へのアクセスを許可します。
%Ens_DTL DTL へのアクセスを許可します。
%Ens_EDISchema EDI スキーマへのアクセスを許可します。
%Ens_EDISchemaAnnotation HL7 アノテーション・クラスへのアクセスを許可します。
%Ens_Jobs ジョブ・データへのアクセスを許可します。
%Ens_LookupTables 検索テーブルへのアクセスを許可します。
%Ens_MsgBank メッセージ・バンクのステータス情報へのアクセスを許可します。
%Ens_MsgBankConfig メッセージ・バンクの構成へのアクセスを許可します。
%Ens_ProductionConfig プロダクション構成アクティビティへのアクセスを許可します。
%Ens_PurgeSchedule Ensemble パージ・タスクのスケジューリングへのアクセスを許可します。
%Ens_Queues キュー・データへのアクセスを許可します。
%Ens_RecordMap Ensemble レコード・マップへのアクセスを許可します。
%Ens_RoutingRules ルーティング・ルールへのアクセスを許可します。
%Ens_Rules すべての Ensemble ルールへのアクセスを許可します。
%Ens_SequenceManager シーケンス・マネージャへのアクセスを許可します。
%Ens_SystemDefaultConfig システムのデフォルト設定へのアクセスを許可します。
%Ens_WorkflowConfig ワークフロー・ロールとワークフロー・ユーザへのアクセスを許可します。
Note:

多くの場合は、Ensemble のデフォルトの動作では、包括的なリソース (%Ens_Code など) が使用されます。包括的なリソースは、限定的なリソース (%Ens_BPL など) によって保護されるデータを含む複数のデータ・ソースを保護します。事前定義された Ensemble ロールおよび特権では、このような包括的なリソースが使用されますが、限られた特権が割り当てられた代替のロールを選択することもできます。

事前定義 Ensemble ロール

Ensemble には一連の事前定義ロールも含まれており、これらの先頭には %EnsRole_ 接頭語が付加されています。これらのロールは、開発環境と実動環境の両方で Ensemble インスタンスを適切にセキュリティで保護することを目的としています。以下の説明では、各ロールのメンバの既知のロールの概要と、これらのロールと他の Ensemble ロールとの関係を示しています。

%EnsRole_Administrator

高いスキルを持つ信頼できる Ensemble 管理者向けのロールです。ライブ・システムやテスト・システムでは、このロールの対象となるのは、プロダクションを停止、開始、および構成できる担当者、個別の構成アイテムを停止および開始できる担当者、すべてのログ、メッセージ、およびキューを参照できる担当者、データをパージできる担当者、Ensemble のデフォルトのシステム設定を追加できる担当者などです。このロールの管理者は、ほぼすべての Ensemble 環境管理タスクを実行できますが、アップデートを導入することを除いて、コード・コンポーネントを変更することはできません。

このロールは、Caché 管理ロールとは意図的に区別されており、ユーザに対してどのような Caché レベル特権も付与しません。

%EnsRole_Administrator ロールは %EnsRole_Operator ロールのメンバであるため、このロールのすべての特権も保有しています。

%EnsRole_Developer

ビジネス・ロジック、データ構造、または中核的な Ensemble コードの開発者向けのロールです。これには、スタジオでのコード記述、スタジオまたは Web インタフェースを使用した DTL と BPL の記述、ルーティング・ルールの開発、およびカスタム・メッセージ・スキーマ (HL7、レコード・マッピング、XML など) の作成が含まれます。さらに、このロールに割り当てられたユーザは多くの管理タスクを実行できます。開発者は、開発インスタンス上でさまざまなオプションを積極的にデバッグおよびテストできる必要があるからです。

デフォルトでは、Ensemble 開発者ロールのメンバはすべてのプログラミング・タスクを実行できるため、DTL、BPL、およびレコード・マップを変更できます。Ensemble では、コードのタイプごとに別個のリソースが用意されているため、カスタム・ロールを作成することで開発領域を区別できます。

%EnsRole_Developer ロールは、%Developer ロールと %EnsRole_WebDeveloper ロールの両方のメンバです。したがって、このロールに割り当てられたユーザは、すべての Caché 開発タスクを実行できると共に、Ensemble Web 開発者タスクも実行できます。

%EnsRole_WebDeveloper

限られた開発能力を持つ担当者向けのロールです。具体的には、このロールに割り当てられたユーザは、管理ポータルの Ensemble メニュー内の開発タスク (BPL、DTL、ルールの定義、レコード・マップの作成など) しか実行できません。このロールは、スタジオやターミナルへのアクセスを許可しません

このロールは、%EnsRole_RulesDeveloper ロールと %EnsRole_Operator ロールのメンバであるため、このロールのメンバであるユーザは、管理ポータルでデバッグ・タスクを実行できます。

%EnsRole_RulesDeveloper

ビジネス・ルールを動的に変更することを許可されたビジネス・アナリスト向けのロールです。このようなロールを必要とするビジネス・プロセスを開発した場合は、少数のユーザに対してそのルールの変更を許可できます。これは管理ロールや開発ロールではありません。

%EnsRole_WebDeveloper は、このロールのメンバです。

%EnsRole_Monitor

Ensemble システム・モニタとプロダクション・モニタを表示するための一般ユーザ向けのロールです。%EnsRole_Operator ロールのユーザによって実行された場合に監査証跡が残るアクションが、この一般ユーザ名を使用して実行された場合は、有効な監査証跡は得られないため、アクセス可能対象は、機密データが参照されるリスクを伴わない一部の情報に制限される必要があります。

%EnsRole_Operator

特定のプロダクションの日々のステータスを管理する運用スタッフ向けのロールです。このロールに割り当てられたユーザは、現在の構成に対する Read 権限が付与されて、適用されている設定やコードの内容を確認できますが、構成を変更する権限は付与されません。運用スタッフは、インタフェースや該当プロダクションを開始および停止できます。運用スタッフは、メッセージの内容にはアクセスできませんが、問題が生じているメッセージを再送信できます。オペレータは、キューやジョブの情報を表示できると共に、パージ、アラート、資格情報、および検索テーブルの設定を調べることができます。

%EnsRole_Administrator%EnsRole_WebDeveloper は両方ともこのロールのメンバです。

%EnsRole_AlertAdministrator

未割り当てまたは任意のユーザに割り当て済みの管理対象アラートを処理するためのロール。管理対象アラートの処理の詳細は、“マイ管理対象アラートの参照によるアラートでのアクション” を参照してください。

%EnsRole_AlertOperator

未割り当てまたは現在のユーザに割り当て済みの管理対象アラートを処理するためのロール。 管理対象アラートの処理の詳細は、“マイ管理対象アラートの参照によるアラートでのアクション” を参照してください。

%EnsRole_PubSubDeveloper

このロールを持つユーザは、メッセージを選択するためおよびメッセージを受信するユーザを指定するために使用されるサブスクリプション条件を制御できます。このロールは、発行と購読のルーティングを制御する管理ポータル・ページへのアクセスを可能にします。発行と購読のメッセージの詳細は、“発行および購読メッセージ・ルーティングの定義” を参照してください。

デフォルトの Ensemble セキュリティ・フレームワークでは、事前定義リソースに対する権限が割り当られて、その結果としてこれらの各ロールの特権が作成されます。お使いのアプリケーションのユーザをこれらの Ensemble ロールに割り当てることも、独自のロールを作成して、Ensemble リソースに対する権限をこれらのロールに割り当てることもできます。Ensemble インスタンスをアップグレードする場合は、アップグレード手順によってデフォルトの Ensemble ロールがリセットされるため、構成変更の対象はユーザが作成したロールのみに限定してください。

次の節で、ロールごとにデフォルトで割り当てられる特権を示します。

事前定義 Ensemble ロールのリストは、管理ポータルの システム, セキュリティ管理, ロール ページで表示できます。

これらのロールは、管理ポータルの Ensemble メニュー内の機能しかカバーしません。各自の環境内のユーザは、追加の Caché ロールを必要とする可能性があります。詳細は、"Caché セキュリティ管理ガイド" の “ロール” を参照してください。

事前定義 Ensemble ロールのデフォルト特権

この節では、Ensemble リソースごとに Ensemble ロールに割り当てられるデフォルト特権を列挙します。

  • 最初の項では、アクティビティ・リソースのロール特権を列挙します。

  • 2 つ目の項では、コード・リソースとデータ・リソースのロール特権を列挙します。

ロール特権を介してリソースへのアクセスを許可する方法は、"Caché セキュリティ管理ガイド" の “特権および許可” を参照してください。

アクティビティ・リソースのロール特権

下の表に、アクティビティ・リソースのロール特権を列挙します。アクセスには使用許可のみが必要です。基礎となるリソースに対するこの許可を使用して、データへのアクセスも決定します。

リソース %EnsRole _Administrator %EnsRole _Developer* %EnsRole _Monitor %EnsRole _Operator
%Ens_ConfigItemRun Use Use   Use
%Ens_DTLTest Use Use    
%Ens_Dashboard Use Use Use Use
%Ens_Deploy Use      
%Ens_DeploymentPkg Use Use    
%Ens_EventLog Use Use   Use
%Ens_MessageContent Use Use    
%Ens_MessageDiscard Use Use    
%Ens_MessageEditResend Use Use    
%Ens_MessageHeader Use Use   Use
%Ens_MessageResend Use Use   Use
%Ens_MessageResubmit Use Use    
%Ens_MessageSuspend Use Use    
%Ens_MessageTrace Use Use   Use
%Ens_MsgBank_Dashboard Use Use Use Use
%Ens_MsgBank_EventLog Use Use   Use
%Ens_MsgBank_MessageContent Use Use    
%Ens_MsgBank_MessageEditResend Use Use    
%Ens_MsgBank_MessageHeader Use Use   Use
%Ens_MsgBank_MessageResend Use Use   Use
%Ens_MsgBank_MessageTrace Use Use   Use
%Ens_Portal* Use Use Use Use
%Ens_ProductionDocumentation Use Use    
%Ens_ProductionRun Use Use   Use
%Ens_Purge Use Use    
%Ens_RuleLog* Use Use   Use
%Ens_TestingService Use Use    
%Ens_ViewFileSystem Use Use    

コード・リソースとデータ・リソースのロール特権

下の表に、コード・リソースとデータ・リソースのロール特権を列挙します。Read 権限と Write 権限は、リソースに対して別々のものです。したがって、お使いのアプリケーション・コードではこれら 2 つの権限を使用して、基盤のデータへのアクセス権を決定する必要があります。

スペースの関係で、この表にはすべてのロールに関する情報が含まれていません。その他のロールについては後述します。

リソース %EnsRole _Administrator %EnsRole _Developer %EnsRole _Monitor %EnsRole _Operator
%Ens_Alerts Read、Write Read、Write   Read
%Ens_ArchiveManager Read、Write      
%Ens_BPL        
%Ens_BusinessRules        
%Ens_Code Read Read、Write    
%Ens_Credentials Read、Write Read   Read
%Ens_DTL        
%Ens_EDISchema Read Read、Write    
%Ens_Jobs Read、Write Read、Write   Read
%Ens_LookupTables Read、Write Read、Write   Read
%Ens_MsgBank Read、Write Read   Read
%Ens_MsgBankConfig Read、Write Read、Write    
%Ens_ProductionConfig Read、Write Read、Write   Read
%Ens_PurgeSchedule Read、Write Read   Read
%Ens_Queues Read、Write Read、Write   Read
%Ens_RecordMap        
%Ens_RoutingRules        
%Ens_Rules*   Read、Write    
%Ens_SequenceManager Read、Write Read、Write    
%Ens_SystemDefaultConfig Read、Write Read   Read
%Ens_WorkflowConfig Write Read、Write   Read

その他のロールには以下の特権が付与されます。

  • %EnsRole_WebDeveloper ロールには %EnsRole_Developer と同じ特権が付与されます。

  • %EnsRole_RulesDeveloper ロールには以下の特権のみが付与されます。

    • %Ens_Portal:U

    • %Ens_RuleLog:U

    • %Ens_Rules:RW

ポータル・ページの特権要件

それぞれの管理ポータル・ページには、Ensemble に含まれているセキュリティ・フレームワーク内のデフォルトの特権要件があります。この要件は、目的のページに移動するために [進む] をクリックする場所のすぐ下にあるポータル・メニューの列ビューで表示できます。この要件情報を表示するだけであれば、メニュー項目のラベルではなくメニュー項目名の横をクリックします。

例えば、管理ポータルのEnsemble の [構成する] メニューで [プロダクション] の右横をクリックすると、[システム・リソース] ラベルの下に %Ens_ProductionConfig:READ と表示されます。この情報から、Ensemble, プロダクション構成 ページを表示するには、%Ens_ProductionConfig リソースに対する Read 権限を持つロールのメンバである必要があることがわかります。

generated description: security required resource

カスタム・リソースをポータル・ページに割り当てることもできます。"Caché セキュリティ管理ガイド" の “アセットおよびリソース” の章で “管理ポータルによるカスタム・リソースの使用” を参照してください。

事前定義 Ensemble ロールのデフォルト SQL 特権

管理ポータルの複数の Ensemble ページでは SQL クエリを使用して情報を取得するため、Ensemble ユーザは該当するテーブルに対して この情報を表示する特権を持っている必要があります。この節では、Ensemble で事前定義ロールに SELECT 特権を割り当てて適切なセキュリティを提供する方法を示します。

%EnsRole_Administrator%EnsRole_Developer、および %EnsRole_WebDeveloper の各ロールは、以下のすべての Ensemble SQL テーブルに対して SELECT 特権を保有しています。

  • Ens.BusinessProcess

  • Ens.BusinessProcessBPL

  • Ens.MessageBody

  • Ens.MessageHeader

  • Ens.StreamContainer

  • Ens.StringContainer

  • EnsLib_DICOM.Document

  • EnsLib_EDI_ASTM.Document

  • EnsLib_EDI_ASTM.SearchTable

  • EnsLib_EDI_EDIFACT.Document

  • EnsLib_EDI_EDIFACT.SearchTable

  • EnsLib_EDI_X12.Document

  • EnsLib_EDI_X12.SearchTable

  • EnsLib_EDI_XML.Document

  • EnsLib_EDI.XML.SearchTable

  • EnsLib_HL7.Message

  • EnsLib_HL7.SearchTable

  • EnsLib_Printing.PrintJob

  • EnsLib_Printing.PrintRequest

  • EnsLib_SQL.Snapshot

  • EnsLib_XML.SearchTable

  • EnsLib_ebXML.Message

  • EnsLib_ebXML.MessageTracking

  • EnsLib_ebXML.MessageWithPayload

  • Ens_Config.Credentials

  • Ens_Enterprise_MsgBank.Log

  • Ens_Enterprise_MsgBank.MessageHeader

  • Ens_Enterprise_MsgBank.Node

  • Ens_Rule.Log

  • Ens_Rule.RuleLog

  • Ens_Util.Calendar

  • Ens_Util.IOLog

  • Ens_Util.Log

  • Ens_Util.Schedule

その他の Ensemble ロールは、以下のテーブルに示すように、Ensemble SQL テーブルのサブセットに対して SELECT 特権を保有しています。

SQL テーブル名 %EnsRole _RulesDeveloper %EnsRole _Monitor %EnsRole _Operator
Ens.BusinessProcess     SELECT
Ens.BusinessProcessBPL     SELECT
Ens.MessageHeader     SELECT
Ens_Config.Credentials     SELECT
Ens_Enterprise_MsgBank.Log     SELECT
Ens_Enterprise_MsgBank.MessageHeader     SELECT
Ens_Enterprise_MsgBank.Node     SELECT
Ens_Rule.Log SELECT   SELECT
Ens_Rule.RuleLog SELECT   SELECT
Ens_Util.Calendar     SELECT
Ens_Util.Log   SELECT SELECT
Ens_Util.Schedule     SELECT

Ensemble では、Ens.IsASub ストアド・プロシージャ (メッセージ・ビューワの一部の検索で使用) に対する EXECUTE 特権を %EnsRole_Administrator%EnsRole_Developer、および %EnsRole_WebDeveloper にも与えています。カスタム・ロールを定義し、ユーザがこのロールを使用してメッセージで検索を実行できるようにするには、この権限をロールまたはユーザに付与する必要があります。特定のロールが Ensemble ネームスペース内でこの権限を持っているかどうかを確認するには、以下の手順を実行します。

  1. [システム管理][セキュリティ][ロール] の順に選択します。

  2. ロールを選択します。

  3. [SQLプロシージャ] タブを選択します。

  4. ドロップダウン・メニューからネームスペースを選択します。

このロールが Ens.IsASub 権限を持っている場合は、Ens.IsASub が EXECUTE 権限を持っているものとして示された状態でリストに表示されます。このロールがこのネームスペース内でこの権限を持っていない場合は、[SQLプロシージャ] タブで次の手順を実行して、このロールにこの権限を付与できます。

  1. [プロシージャ追加...] ボタンをクリックします。

  2. ドロップダウン・メニューから Ens スキーマを選択します。

  3. [利用可能] 列から [IsASub] を選択します。

  4. 右矢印をクリックして、[IsASub][選択済み] 列に追加します。

  5. [適用] をクリックし、[閉じる] をクリックします。

この SQL プロシージャ権限をユーザに直接付与することもできます。

Note:

Ensemble は、指定されたロールが前述のテーブルに記述されている SELECT 文を実行できるように自動的に権限を付与します。これらの権限は、組み込みのメッセージ・タイプに対して生成されたテーブルについて付与されます。カスタム・メッセージ・タイプを定義する場合は、これらのカスタム・メッセージ・タイプに対して生成されたテーブルについて、同じ権限をこれらのロールに付与する必要があります。

Ensemble セキュリティのカスタマイズ

Ensemble セキュリティのカスタマイズ方法は、"Caché セキュリティ管理ガイド" 内の以下の節を参照してください。

FeedbackOpens in a new tab