Find

InterSystems Official
· Jun 24

Implementación e integración de soluciones FHIR

Curso avanzado donde aprenderás a construir soluciones e integraciones con el protocolo HL7-FHIR en InterSystems IRIS for Health™ y HealthShare® Health Connect.

Ahondarás en los fundamentos del estándar FHIR, su arquitectura de instalación, configuración y las diversas opciones de personalización y extensión de servidores FHIR, para almacenar datos en un repositorio FHIR o presentar una fachada FHIR como interfaz para las aplicaciones ya existentes.

Más información e inscripción a través de este enlace: Implementación e integración de soluciones FHIR | InterSystems

Discussion (0)1
Log in or sign up to continue
InterSystems Official
· Jun 24

Fundamentos de InterSystems IRIS para desarrolladores

Curso online de formación combinada, con parte autoguiada y parte con instructor. Este curso está orientado principalmente para aquellos desarrolladores que deseen iniciarse en los fundamentos del desarrollo en InterSystems IRIS y Health Connect. Los alumnos aprenderán lo necesario para aprovechar el potencial de la plataforma, desde la programación orientada a objetos, acceso y gestión de base de datos mediante SQL y publicación de endpoints basados en API REST.

Más información e inscripciones en el siguiente enlace: Fundamentos de InterSystems IRIS para desarrolladores | InterSystems
 

Discussion (0)1
Log in or sign up to continue
Article
· Jun 24 11m read

管理ポータルメニューにアクセスできるユーザを制限する方法

これは InterSystems FAQ サイトの記事です。

InterSystems 製品インストール時に用意されている事前定義ロールを利用して、ログインユーザ毎に管理ポータルメニュー(システム管理/システムエクスプローラー/システムオペレーション など)のアクセスを制限することができます。

管理ポータルメニューに対するアクセス制限を行うためには、管理ポータルへの「認証なし(UnknownUser)」アクセス(※1)を使用しない環境が必要です。

管理ポータル上部の「ログアウト」をクリックしてログイン画面が表示されない場合は、関連記事「管理ポータル/スタジオ/ターミナルにパスワード認証を設定するにはどうしたらいいですか?」をご覧いただき必要な設定を行ってください。

 

以下、インストールデフォルトで管理ポータルへのフルアクセスが許可されている事前定義ユーザ(※2): SuperUser や _SYSTEM アカウントを使用して管理ポータルにログインした状態の設定例でご説明します。

これらユーザのパスワードはインストール時に設定しています(インストール時の「初期セキュリティ」を「最小」でインストールした環境では、パスワードは大文字の SYS が設定されています)。

InterSystems 製品はロールベースのセキュリティを使用しています。ログインユーザ毎にアクセスできるメニューを制限したい場合は、付与するロールを変えることで実現できます。

InterSystems 製品内でロールとは「特権の集まり」に名前を付けたもので、「特権」は「リソース(=保護対象全般)に対する許可(READ/WRITE/USE)」を組み合わせた定義です。
必要な特権を定義したロールを作成しユーザに付与することで細かなアクセス制御をユーザに対して定義できます。

言葉の定義や内容詳細については関連記事:「InterSystems 製品のセキュリティの基本:ユーザとロール」でご説明しています。ぜひご参照ください。

 

※1 InterSystems IRIS をインストールする際の指定で「初期セキュリティ」を「最小」とした場合に設定されるアクセスです。
InterSystems IRIS for Healthでは、「初期セキュリティ」オプションは「通常」以上の設定となるため、デフォルトで「認証なし」アクセスを使用しないように設定されます。

※2 %All ロールを持つユーザです。


 

ここでは、以下の事前定義ロールを付与したユーザを作成し、管理ポータルログイン後の表示の違いを確認してみます。

1) %Manager ロール

 システム管理に関連付けられた特権を持つロールです。管理ポータルの「システム管理」「システムエクスプローラ」「システムオペレーション」にアクセスできます。

 例では、TestA ユーザにこのロールを付与します。

2) %Developer ロール

 アプリケーション開発に関連付けられる特権を持つロールです。このロールでは開発者に必要なターミナルアクセスと、管理ポータルの「システムエクスプローラ」にアクセスできます。

 例では、TestB ユーザにこのロールを付与します。

3) %Operator ロール

 システム運用メニューに関連付けられた特権を持つロールです。管理ポータルの「システムオペレーション」にアクセスできます。

 例では、TestC ユーザにこのロールを付与します。

 

管理ポータルの「Interoperability」メニュー については、Interoperability メニュー以下を操作する方の役割に合わせた事前定義ロールが細かく分かれています。

詳細はドキュメント「プロダクション関連の事前定義ロール」をご参照ください。

また、Interoperabilityメニューを利用する場合は、管理ポータル用ロールの他に、アクセス対象のデータベース用ロール(%DB_XXXX)も必要となります。

IRIS for Health をインストールすると表示される「Health」メニューについては、%HS_Administrator ロール と 操作対象のデーベース用ロール(%DB_XXXX)が必要です。

それでは早速、異なるロールを付与されたユーザ別の管理ポータルログイン後の表示の違いを確認します。

1) %Manager ロールを付与した TestA での表示

2) %Developer ロールを付与した TestB での表示

3) %Operator ロールを付与した TestC での表示

 

 

1) %Managerロールを付与した TestA での表示

以下の手順でTestAユーザを作成し、確認します。

 手順1:TestA ユーザを作成し、%Managerロールを付与

 手順2:管理ポータルにログインしてテスト

 

手順1:TestA ユーザを作成し、%Managerロールを付与

TestA を作成します。パスワード(3文字以上の大小文字を区別する英数字)を設定し、保存します。保存後、ロールタブで%Manager ロールを付与します。

 

 

 

手順2:管理ポータルにログインしてテスト

では、テストしてみます。

管理ポータルをログアウトした後で、TestA でログインします。ログイン後の見栄えは以下の通りです。

 

2) %Developer ロールを付与した TestB での表示

以下の手順でTestBユーザを作成し、確認します。開発者用ロールであるため、テストでは管理ポータルの他にターミナルからのアクセスも試します。また、管理ポータルからの SQL の実行も試してみます。

 手順0:現在の管理ポータルをログアウトとし管理者ユーザでログイン

 手順1:TestB ユーザを作成し、%Developer ロールとデータベース用ロールを付与

 手順2:管理ポータルにログインして表示を確認

 手順3:ターミナル(またはIRIS)へのログインテスト

 手順4:管理ポータルのSQLメニューでSQLの実行テスト

 

手順0:現在の管理ポータルをログアウトとし管理者ユーザでログイン

TestB を作成するため、管理者ユーザ(SuperUserや_SYSTEM) でログインし直します。

 

手順1:TestB ユーザを作成し、%Developer ロールとデータベース用ロールを付与

作成するTestB ユーザには %Developer ロールを付与するため、管理ポータルの「システムエクスプローラ」を利用できます。

「システムエクスプローラ」はグローバル変数の参照や、クラス定義・ルーチンのインポートエクスポート、さらに SQL の実行などが行える開発者向けメニューとなるため、%Developer ロールの他にデータベース用ロールが必要となります。

データベース作成時のセキュリティ設定次第となりますが、デフォルトを選択している場合は、%DB_%DEFAULT ロールを付与します。

データベースリソースを作成している場合は、データベース用ロールを付与します。例では、USER データベース用ロール:%DB_USER を付与しています。

 

 

手順2:管理ポータルにログインして表示を確認

TestB ユーザでログインを行うと、システムエクスプローラーが選択できるように見えます。

ですが、「システムエクスプローラー」を選択してもほとんどのメニューが利用できません。

これは、管理ポータルにログインしたときのネームスペースが %SYS になっているからです。

TestB ユーザの設定にある「開始ネームスペース」に USER を指定するか、管理ポータルを開いた後ネームスペースを USER に切り替えることでサブメニューを操作できるようになります。

まずは、ネームスペースを切り替えてみます。

以下の画面は、TestB の「開始ネームスペース」に USER を設定したときの図です。

 

手順3:ターミナル(またはIRIS)へのログインテスト

%Developer ロールは開発者用ロールでターミナルや IRIS にログインすることができます。
試しに、IRIS にログインしグローバル変数を作成してみます。

irisowner@1fed473da3f3:/opt/src$ iris session iris

ノード: 1fed473da3f3 インスタンス: IRIS

ユーザ名:TestB
パスワード:*****
USER>

USER>

USER>set ^ABC=1
USER>write ^ABC
1

 

ログインも、グローバルの更新も参照もできました。管理ポータルからも参照できるか確認します。

無事参照できています。

 

手順4:管理ポータルのSQLメニューでSQLの実行テスト

続いて、SQL画面にアクセスし、テーブルを作成してみます。

エラーが出てしまいました。

SQL 画面については、テーブルの操作に対する権限も含めてユーザに付与する必要があります。

TestB ユーザにテーブルに対する権限を追加します。これには、SuperUser でログインし直してから USER ネームスペースに対して CREATE TABLE が利用できる権限を追加します。

 

では、TestB ユーザにログインしなおして試してみます。

テーブルの作成とデータ登録を行ってみます。

 

無事、テーブル作成も INSERT 文も実行できました。

ここで、SuperUser でログインしなおし管理ポータルで TestB ユーザの情報を参照すると TestB はテーブル所有者であるため、作成したテーブルに対する SQL テーブル権限が付与されています。

所有者ではないテーブルに対しては、テーブル毎にテーブル権限を付与する必要がありますのでご注意ください。

また例では、SQL の特権を TestB ユーザに直接付与しましたが、専用ロールを作成しロールをユーザに付与する方法でも定義できます。

他のユーザに同じ SQL 特権を付与する場合は、ロールを作成したほうが便利です。

ご参考:ロールに SQL 特権を設定する例

 

2) %Operator ロールを付与した TestC での表示

最後に、%Operator ロールを持つ TestC を作成します。運用管理に使用するツールはターミナル(またはIRIS)へログインして実行するルーチンなどもあるため、ターミナル(またはIRIS)へのログインも試してみます。

 手順0:現在の管理ポータルをログアウトとし管理者ユーザでログイン

 手順1:TestC ユーザを作成し、%Operator ロールとデータベース用ロールを付与

 手順2:管理ポータルにログインしてテスト

 手順3:ターミナル(またはIRIS)へのログインテスト

 手順4:ターミナルへのログイン失敗の原因を探る

 

手順0:現在の管理ポータルをログアウトとし管理者ユーザでログイン

TestC を作成するため、管理者ユーザ(SuperUserや_SYSTEM) でログインし直します。

 

手順1:TestC ユーザを作成し、%Operator ロールを付与

SuperUser でログインしなおして TestCを作成し、%Operatorロールを付与します。

手順2:管理ポータルにログインしてテスト

以下、TestC でログインした状態です。システムオペレーションメニューが操作できます。

 

手順3:ターミナル(またはIRIS)へのログインテスト

IRISに TestC ユーザでログインしてみます。

irisowner@1fed473da3f3:/opt/src$ iris session iris

ノード: 1fed473da3f3 インスタンス: IRIS

ユーザ名:TestC
パスワード:*****
アクセスが拒否されました。

TestC はアクセスが拒否されています。

これは、IRIS にログイン(Windows ならターミナルにアクセス)の許可が足りないためです。

 

手順4:ターミナルへのログイン失敗の原因を探る

手順3でログイン失敗の原因を探るため、一旦管理ポータルをログアウトしSuperUser でログインしなおした後、監査イベントを確認します。

システム管理 > セキュリティ > 監査 > 監査データベースの閲覧 >(検索ボタン押下後) 対象のイベントの「詳細」をクリック

エラーメッセージ: エラー #836: プログラマーアクセスの権限が不十分です
サービス名: %Service_Terminal

上記エラーが出ています。

IRIS にログイン(またはターミナルを起動)するためには、%Service_Terminal(Linux用) または %Service_Console(Windows用) サービスに対する USE 許可、アクセス対象データベースリソース(例では%DB_USER)の READ 許可、そしてプログラマーアクセスの権限として、%Development リソースのUSE許可が必要となります。

TestB ユーザに付与した %Deleveloper ロールはこれらの許可が含まれているため IRIS にログインできていました。

TestC ユーザがどの許可を持っているか?については、プロファイル画面を見ると分かりやすいです。

SuperUserでログインし、システム管理 > セキュリティ > TestCユーザの「プロファイル」をクリックします。

参照しているユーザが利用できるリソースとその許可が一覧されます。

それぞれの許可を確認します(以下の例は Linux 上 IRIS で確認しているため、%Service_Console は表示されていません)。

%DB_USER リソースと、%Development リソースに対する適切な許可が足りていません。

TestC ユーザに %DB_USER リソースの READ/WRITE 許可を持つ %DB_USER ロールと、%Development リソースの USE 許可が含まれる %Developer ロールを付与することで IRIS にログインできます。

irisowner@1fed473da3f3:/opt/src$ iris session iris

ノード: 1fed473da3f3 インスタンス: IRIS

ユーザ名:testC
パスワード:*****
USER>write $roles   //このユーザがログインしたときに持っているロールを確認
%Developer,%DB_USER,%Operator

 

なお、例のようなロール付与以外にもリソースに対してパブリックに許可を設定することでユーザに許可を与えることもできます。プロファイル画面では「パブリックリソースにより付与」の列に情報が記載されています。

ここまでの流れで、事前定義ロールを利用した管理ポータルのアクセス制御が確認できました。

別の記事では、事前定義ロールだけでは対応できない、サブメニューに対するアクセス制御の例をご紹介しています。ぜひご参照ください。

Discussion (0)1
Log in or sign up to continue
Question
· Jun 24

The Mylar Bags

The Mylar Bags offers customized, high-quality packaging solutions designed to elevate your brand’s presence. We work with businesses of all sizes, delivering protective packaging that not only safeguards your products but also leaves a lasting impression through eye-catching, tailor-made box designs.

 

Visit: https://themylarbags.com/

Discussion (0)1
Log in or sign up to continue
Announcement
· Jun 23

CCR User Group Breakfast at READY (Wed, 7:30am)

All,

At READY 2025 we will have a CCR User Group Breakfast for HealthShare and TrakCare customers on Wednesday at 7:30am (presentation starts at 7:45am).  Topics will include:

  • Review of Self Service Best Practice Dashboard
  • Recent CCR New Features and Enhancements
  • Active CCR Feature Beta Programs
  • Summer and Fall Roadmap
  • Q&A 

We will meet in the Jackson meeting room.  Visit the Meeting Counter to have it added to your schedule or comment below to request an invite.

We will also be attempting to livestream the event for those not at READY who would like to listen in.  Please use the following link to listen in:

https://riverside.fm/webinar/directlink/eyJzbHVnIjoiZGV2ZWxvcGVyLXJlbGF0aW9ucy1zdHVkaW8iLCJldmVudElkIjoiNjg1OWNkNGJmYzI1YmFkN2Y4MzliMzdmIiwicHJvamVjdElkIjoiNjg1OWNkNGJmYzI1YmEyOWM2MzliMzdjIn0=

Feel free to ask questions below, or leave a comment if there is something specific you'd like us to cover!

Discussion (0)1
Log in or sign up to continue