サービス
Caché インスタンスにユーザ、アプリケーション、さらには他の Caché インスタンスから接続するには、さまざまな経路があります。これらの経路は Caché の各種サービスで管理され、これらのサービスは Caché への接続の監視役として機能します。Caché のサービスは、ユーザおよびコンピュータが Caché に接続するための主要な手段なので、セキュリティ管理においてはこれらのサービスの管理が不可欠な要素となります。
この章は、以下のトピックで構成されています。
使用可能なサービス
[サービス] ページ ([システム管理] > [セキュリティ] > [サービス]) には、Caché が提供するサービスのリストが表示されます。
サービスは、以下の 2 つのグループに分けて考えることができます。
-
リソース・ベース・サービス — ユーザが Caché にアクセスできるようにするサービスです。この種類のサービスでは、Caché セキュリティが持つ認証および承認のためのインフラストラクチャが必要です。したがって、これらのサービスはリソースに関連付けられ、さまざまな認証メカニズムを利用します。
-
基本サービス — Caché サーバと Caché アプリケーション間の接続を提供するサービスです。これらのサービスには関連付けられたリソースがありません。したがって、これらのサービスが提供するセキュリティ機能は、有効にするか無効にするかのみを設定できる基本的なものにとどまります。これらを有効または無効にすることで、すべての形式のアクセスを制御できます。
以下のリストは、使用可能なサービスとその制御対象、および各サービスの種類をまとめたものです。
-
%Service_Bindings — SQL またはオブジェクト。スタジオの使用 (リソース・ベース)。
-
%Service_CSP — Web アプリケーション・ページ (CSP または Zen) (リソース・ベース)
-
%Service_CacheDirect — (リソース・ベース)
-
%Service_CallIn — コールイン・インタフェース (リソース・ベース)
-
%Service_ComPort — システムに接続する COMM ポート (リソース・ベース)
-
%Service_Console — Windows コンソールからのターミナル。MacOS、UNIX®、および Linux で使用するリソース・ベースの %Service_Terminal に相当します。
-
%Service_DataCheck — DataCheck (基本)
-
%Service_ECP — エンタープライズ・キャッシュ・プロトコル (ECP) (基本)
-
%Service_Login — $SYSTEM.Security.Login の使用 (リソース・ベース)
-
%Service_MSMActivate — MSM アクティベート・プロトコル (基本)
-
%Service_Mirror — Caché のデータベース・ミラーリング (基本)
-
%Service_Monitor — SNMP およびリモートの Monitor コマンド (基本)
-
%Service_Shadow — シャドウの宛先から、このインスタンスへのアクセス (基本)
-
%Service_Telnet — Windows サーバ上の Telnet セッション (リソース・ベース)
-
%Service_Terminal — Mac、UNIX®、および Linux の各コンソールからのターミナル。Windows で使用するリソース・ベースの %Service_Console に相当します。
-
%Service_Weblink — WebLink (基本)
サービスのテーブルには、各サービス・プロパティの列があります。
個々のサービスに関するメモ
%Service_Bindings
%Service_Bindings サービスには、%Service_Object リソースと %Service_SQL リソースという、アクセスを管理する 2 つのリソースがあります。ユーザが認証されると、そのユーザがオブジェクトまたは SQL としてデータにアクセスできるかどうかが、これら 2 つのリソースのうちの該当のリソースで制御されます (ユーザがデータに対するテーブル・レベルの SQL 特権を持っている場合は、接続している間、認証されたユーザに %Service_SQL:Use 特権が自動的に与えられます)。
また、このサービスはスタジオへのアクセスも制御します。スタジオとセキュリティの詳細は、"スタジオの使用法" の “スタジオの概要” の章にある “Caché セキュリティとの統合” のセクションを参照してください。
%Service_CacheDirect
このサービスは、Caché Direct サーバを通じて、Caché への接続を認証します。Caché Direct サーバは、サポートされているプラットフォームであればどれであっても使用できますが、このサービスを使用できるクライアントは Windows のみです。
%Service_CacheDirect は、次の 2 種類のクライアント側アプリケーションに対するアクセスを管理します。
-
Caché Direct クライアント・ソフトウェアを使用するクライアント・アプリケーション。ここではすべての認証メカニズムを使用できます。
-
従来の CacheObject.dll ライブラリを使用するクライアント・アプリケーション。これら従来のアプリケーションで使用できるセキュリティ機能はありません。これらのアプリケーションについては、%Service_CacheDirect サービスで非認証メカニズムのみを有効にする必要があります。
従来のアプリケーションは非認証アクセスのみサポート可能で、上記のどちらのタイプのクライアント・アプリケーションも同じサービスを使用します。したがって、従来のアプリケーションからの接続を受け付けるように Caché が構成されている場合、Caché Direct クライアントは Kerberos 認証を使用できません。同様に、Caché Direct クライアントからの Kerberos 認証接続を受け付けるように Caché インスタンスが構成されている場合、従来のクライアントはこれに接続できません。
CacheObject.dll は従来のアプリケーションのためにのみサポートされています。新たに開発するアプリケーションでは、Caché Direct クライアント、または CacheActiveX.dll と %Service_Bindings サービスを使用する必要があります。
%Service_Console および %Service_Terminal
これら 2 つのサービスは、どちらも Caché に対するコンソール形式またはターミナル形式のアクセスを提供します。これらのサービスにより、Windows システムと非 Windows システムの両方で類似の機能が実現します。Windows に対しては %Service_Console で、UNIX®、Linux、および Mac に対しては %Service_Terminal でこの機能が提供されます。
ターミナルまたはコンソールへのアクセスは、Caché のセキュリティの中でも機密性に最も深くかかわる機能の 1 つです。攻撃者がこれらのいずれかの方法で Caché にアクセスできると、機密性の高いデータが読み取られたり、破壊されたりする恐れがあります。
%Service_CSP
このサービスは、CSP ページを提供する接続を管理します。具体的には、CSP ゲートウェイと Caché サーバの間の接続を管理します。このサービスに対する非認証アクセスが存在しない状態で、CSP ゲートウェイに有効な認証情報がない場合、CSP を経由してサーバにアクセスすることはできません。したがって、このサービスによる非認証アクセスを無効にする場合は、Caché サーバへの認証を受けるために必要な情報が CSP ゲートウェイに必ず存在しているようにする必要があります。この情報とは、Caché ログイン (パスワード) アクセスでは、有効なユーザ名とパスワードのペアであり、Kerberos アクセスでは、有効なサービス・プリンシパル名とキー・テーブルの位置です。これらの値を指定するには、CSP ゲートウェイ Web 管理インタフェースを使用します。標準インストールでは、このインタフェースの URL は http://localhost:57772/csp/bin/systems/module.cxw です。ここで、localhost は、IPv4 では 127.0.0.1、IPv6 では ::1 です。
%Service_CSP はポータルおよびそのサブアプリケーションの使用を規制するため、%Service_CSP を無効化しても、システム・アプリケーション (/csp/broker、/csp/docbook、/csp/documatic、/csp/sys、/csp/sys/exp、/csp/sys/mgr、/csp/sys/op、/csp/sys/sec、/isc/studio/rules、および /isc/studio/templates) は一切無効化されません。システム・アプリケーションの詳細は、"アプリケーション" の章にある "システム・アプリケーション" のセクションを参照してください。
不注意な操作でシステム管理ポータルからロックアウトされた場合は、緊急アクセス・モードを使用してシステム管理ポータルにアクセスし、問題を解決できます。詳細は、"システム管理およびセキュリティ" の章にある "緊急アクセス" を参照してください。
%Service_DataCheck
このサービスは、DataCheck ユーティリティの使用を管理します。このユーティリティは、2 つのシステムにあるデータの状態を比較するメカニズムを提供します。詳細は、"Caché データ整合性ガイド" の “複数のシステムでのデータ整合性” の章を参照してください。セキュリティの問題については特に、“DataCheck サービスの有効化” のセクションを参照してください。
%Service_ECP
リソースは ECP の使用を制御しません。ユーザがサービスを有効化または無効化します (この理由から、ECP は “基本サービス” と呼ばれています)。そのため、ECP 構成のすべてのインスタンスが、Caché の安全な境界の内部に存在する必要があります。
ECP 構成での特権の働きに関する詳細は、"Caché 分散データ管理ガイド" の “分散システムの構成” の章にある “ECP 特権およびロールの指定” のセクションを参照してください。
%Service_Login
このサービスは、%SYSTEM.SecurityOpens in a new tab クラスの Login メソッドを明示的に呼び出す機能を制御します。このメソッドの呼び出し形式は以下のとおりです。
Set Success = $SYSTEM.Security.Login(username, password)
ここで、username にはログインしているユーザ、password にはこのユーザのパスワードが入ります。
%Service_Mirror
このサービスは、2 つのシステム間の自動フェイルオーバーを提供する Caché のデータベース・ミラーリングの使用を規制します。ミラーリング全般の詳細は、"Caché 高可用性ガイド" の “ミラーリング” の章を参照してください。(SSL/TLS の使用による) ミラーリングのセキュリティの詳細は、“ミラーリングで SSL/TLS を使用するための Caché の構成” の章にある “ミラーリングで SSL/TLS を使用するための Caché の構成” のセクションを参照してください。
%Service_Shadow
このサービスは、シャドウ・ソースとしての Caché インスタンスの使用を規制します。詳細は、“Caché データ整合性ガイド” の “シャドウイング” の章にある “ソース・データベース・サーバの構成” を参照してください。
従来のサービス
Caché には、従来のいくつかのサービスに対するサポートが用意されています。これらはすべて基本サービスで、有効にするか無効にするかのみを設定できます。これらのサービスには、%Service_MSMActivate および %Service_Weblink があります。
サービスのプロパティ
サービスにはそれぞれ、その動作を制御する一連のプロパティがあります。これには以下のものがあります。
-
[サービス名] — サービスの識別子を指定します。
-
[説明] — 必要に応じてサービスについての説明を提供します。
-
[サービス有効] — サービスを有効にするか無効にするかを制御します。サービスが有効になっていれば、認証および承認されたユーザは Caché に接続できます。サービスが無効の場合、Caché への接続は許可されません。
システムが起動したときの各サービスは、Caché が終了したときと同じ状態 (有効または無効) になります。サービスの有効化や無効化は単なるセキュリティ設定ではありません。この設定によって、特定の機能が Caché で提供されるかどうかが決まります。例えば、特定のデーモン・プロセスを起動するかどうか、メモリ構造を割り当てるかどうかなどが決まります。
-
[許可された認証方法] — サービスに接続する際に利用できる認証メカニズムを指定します (2 要素認証メカニズムのいずれかなど)。複数の認証メカニズムが選択されている場合、接続しようとするユーザやクライアントは、それらのどの認証メカニズムでも使用できます。使用可能なメカニズムは、[認証/CSPセッションオプション] ページ ([システム管理]、[セキュリティ]、[システム・セキュリティ]、[認証/CSPセッションオプション]) での設定内容によって異なります。複数の認証メカニズムをサポートしているサービスでは、Caché に設定されているカスケード認証の規則に基づいて、これらの認証メカニズムが使用されます。
2 要素認証メカニズムのいずれかが有効になっている場合、それにはチェック・ボックスがあります。表示されている場合には以下の 2 つです。
-
[2 要素のタイムベース・ワンタイム・パスワード] — Caché ユーザの携帯電話または認証デバイスが 2 つ目の認証「要素」として機能します。Caché と電話またはデバイスが秘密鍵を共有します。この鍵はタイムベース・ワンタイム・パスワード (TOTP) の生成に使用されます。ユーザは認証プロセスの一部として、このパスワードを指示に従って入力する必要があります。
-
[2 要素の SMS] — Caché ユーザの携帯電話が 2 つ目の認証 “要素” として使用されます。Caché は携帯電話に 8 桁のセキュリティ・トークンを送信し、ユーザは認証プロセスの一部として、このセキュリティ・トークンを指示に従って入力する必要があります。
詳細は、“認証” の章の “2 要素認証の構成” のセクションを参照してください。
Note:インスタンスに対して 2 要素認証が有効の場合、このチェック・ボックスはそのインスタンスのすべてのサービスの [サービス編集] ページに表示されます。ただし、2 要素認証は、%Service_Bindings、%Service_Console、および %Service_Terminal で (そのインスタンスに対して有効になっている場合) にのみ使用できます。
-
-
[許可済みの接続元] — このサービスに接続できる接続元の IP アドレスまたはマシン名のリストを指定します。IP アドレスやマシン名が関連付けられていないサービスには、どのマシンからでも接続できます。多層構成では、この機能が極めて便利です。例えば、CSP サービスではこの機能を使用して、Caché に接続できる Web サーバを制限できます。ECP の許可された接続が持つその他の機能については、"Caché 分散データ管理ガイド" の "ECP アプリケーション・サーバへのアクセスの制限" のセクションを参照してください。
リソース・ベースのサービスでは、このサービスをパブリックに指定できます。認証されているユーザはすべて、パブリック・サービスを使用できますが、非パブリック・サービスを使用できるのは、そのサービスのリソースに対する Use 許可を持っているユーザのみです。この値は、サービスのメイン・ページ ([システム管理] > [セキュリティ] > [サービス]) に表示され、サービスのリソースについての [リソースの編集] ページで設定できます。可能な値は以下のとおりです。
-
N/A — このサービスに関連付けられたリソースはありません。このサービスには有効化または無効化のみを設定できます。
-
いいえ — このサービスのリソースに対して Use 許可があるロールを持つユーザであれば、アクセスが可能です。許可を持っているかどうかは、ユーザが認証された後に確認されます。
-
はい — あらゆるユーザがアクセスできます。
サービスに対する変更を有効化するには、サービスを再起動する必要があります。
サービスおよび認証
基本サービスでは、Caché セキュリティの認証をサポートしていません。サービスを有効にするか無効にするかのみを設定できます。これらのサービスのいずれかを有効にすると、すべての接続がそのサービスで受け入れられます。これらのサービスでは、そのサービスを使用するすべてのインスタンスまたはマシンが安全な境界の内部に存在し、有効なユーザのみがアクセス可能であることが前提となっています。これらのサービスには、%Service_ECP、%Service_MSMActivate、%Service_Monitor、%Service_Shadow、および %Service_Weblink があります。
リソース・ベース・サービスで認証メカニズムを有効化するには、まず、[認証/CSPセッションオプション] ページ ([システム管理] > [セキュリティ] > [システム・セキュリティ] > [認証/CSPセッションオプション]) の Caché インスタンスでこのメカニズムを有効化する必要があります。リソース・ベース・サービスでは、以下のテーブルにある認証メカニズムをサポートしています。複数の認証メカニズムが有効なサービスの場合、Caché ではカスケード認証をサポートしています。
サービス名 | KRB キャッシュ | KRB ログイン | Del | LDAP | OS | [Caché] | Un |
---|---|---|---|---|---|---|---|
%Service_Bindings | N | Y | Y | Y | N | Y | Y |
%Service_CSP | N | Y | Y | Y | N | Y | Y |
%Service_CacheDirect | N | Y | Y | Y | N | Y | Y |
%Service_CallIn | N | N | Y | Y | Y | N | Y |
%Service_ComPort | N | N | Y | Y | N | Y | Y |
%Service_Console | Y | Y | Y | Y | Y | Y | Y |
%Service_Login | N | N | Y | Y | Y | Y | Y |
%Service_Telnet | N | Y | Y | Y | N | Y | Y |
%Service_Terminal | Y | Y | Y | Y | Y | Y | Y |
キー:
-
KRB キャッシュ — Kerberos キャッシュ
-
KRB ログイン — Kerberos ログイン
-
Del — 代行認証
-
LDAP — LDAP 認証
-
OS — オペレーティング・システム・ベースの認証の構成
-
Caché — Caché ログイン
-
Un — 非認証のアクセス
各リソース・ベース・サービスで、有効な認証メカニズムが複数存在する場合、Caché によるユーザの認証では、有効な認証メカニズムのうち最も厳しい基準のものが最初に適用され、基準が緩くなる順番で順次適用されていきます。非認証のアクセスが有効であれば、最後には非認証のアクセスが許可されます。このプロセスは、“認証” の章の “カスケード認証” のセクションで説明しています。
サービスとそのリソース
リソース・ベース・サービスでは、サービスそのもののプロパティで Caché へのアクセスが制御されます。同時に、サービスのリソースのプロパティで、そのサービスへのアクセスとそのサービスの動作が制御されます。%Service_Bindings を除くすべてのリソース・ベース・サービスでは、サービスに関連付けられたリソースにはそのサービスと同じ名前が付けられています。したがって、%Service_CSP リソースは、%Service_CSP サービスに対するアクセスを管理しています(%Service_SQL リソースおよび %Service_Object リソースは %Service_Bindings に対するアクセスを管理します)。
リソースそのものの関連プロパティは 2 つのみです。1 つはリソースがパブリックかどうかを指定するプロパティで、もう 1 つはリソースがパブリックである場合に許可の種類を指定するプロパティです。サービス・リソースの場合、関連する許可は Use のみです。リソースがパブリックであれば、そのサービスに対してすべてのユーザが Use 許可を持ちます。リソースの詳細は、“リソース” の章を参照してください。
他のリソースに対する特権がないと、サービスの特権から得られるものはほとんどありません。例えば、%Service_CacheDirect:Use 特権を活用しようとするユーザは、更新が発生するデータベースに対する %DB_<データベース名>:Write 特権も持っている必要があります。