Caché セキュリティ
この章では、Caché のセキュリティの概要について説明し、特に Caché アプリケーションの記述やメンテナンスを行うプログラマに最も関係するトピックを詳しく説明します。以下のトピックについて説明します。
セキュリティの詳細は、"Caché セキュリティ管理ガイド" を参照してください。
概要
このセクションでは、Caché 内でのセキュリティについて紹介し、Caché と外部システム間の通信について説明します。
Caché 内のセキュリティ要素
Caché のセキュリティでは、以下の要素を基にしてシンプルで統合化されたアーキテクチャが提供されています。
-
認証。認証とは、自分が自身で主張するとおりの人物であることを Caché に対して証明する手段です。信頼できる認証がないと、あるユーザが他人になりすまして不正に入手した特権を利用できるため、承認機能の重要性が損なわれることになります。
利用できる認証メカニズムは、Caché にアクセスする方法によって異なります。Caché には、使用可能な認証メカニズムがいくつかあります。プログラミングが必要なものもあります。
-
承認。ユーザが認証された後、セキュリティに関連する次の手順は、そのユーザに使用、閲覧、または変更が認められているリソースが何であるかを確認することです。この判断とそれに基づくアクセスの制御を、承認といいます。
プログラマの場合は、特定のユーザに特定のタスクを実行する許可があるかを確認するように、コードに適切なセキュリティ・チェックを実装する必要があります。認証モデルは、この章でさらに詳細に後述します。
-
監査。監査は、認証および承認システムのアクションなど、システムに関係する検証可能で信頼性の高い追跡のアクションを提供します。この情報は、セキュリティ関連の問題の後に発生する一連のイベントを再構成する基準となります。システムが監査されている事実を示すことが、攻撃者に対する抑止力として機能します (これは、攻撃を加えている間に自身の身元を知られてしまうことを、攻撃者が知っているからです)。
Caché では、監査可能な一連のイベントが提供されており、他のコードに追加できます。プログラマは、カスタム・イベントのコードに監査ログを含める必要があります。
-
データベースの暗号化。Caché データベースを暗号化することで、データを安全な状態で保護できます。暗号化により、承認されないユーザがデータベースの情報を見ることができないようにして、格納されている情報のセキュリティを確保します。Caché で実装している暗号化では AES (Advanced Encryption Standard) アルゴリズムを採用しています。ディスクヘの書き込みまたはディスクからの読み取りで、暗号化と解読が実行されます。暗号化と解読は最適化されていて、どのような Caché プラットフォームでも、暗号化と解読による影響は少なく、また判断可能です。実際、暗号化データベースへの書き込み時間が長くなることはまったくありません。
一般にデータベース暗号化のタスクで、コードの記述が必要になることはありません。
Caché との安全な接続
Caché と外部システム間で通信するとき、以下の追加の Caché ツールを使用できます。
-
SSL/TLS 構成。Caché では、SSL/TLS 構成を格納して、関連する名前を指定する機能がサポートされています。SSL/TLS 接続が必要な場合 (例えば HTTP 通信用)、プログラムによって該当する構成名を指定すると、Caché によって自動的に SSL/TLS 接続が処理されます。
-
X.509 証明書ストレージ。Caché では、X.509 証明書および公開鍵をロードして、関連する構成名を指定する機能がサポートされています。X.509 証明書が必要な場合 (例えば SOAP をデジタル署名するため)、プログラムによって該当する構成名を指定すると、Caché によって自動的に証明書情報が抽出され使用されます。
オプションで、関連する秘密鍵ファイルにパスワードを入力したり、これを実行時に指定することができます。
-
認証機関 (CA) へのアクセス。適切な形式の CA 証明書を所定の場所に配置している場合、Caché がこれを使用してデジタル署名などを検証します。
Caché は、CA 証明書を自動的に使用します。プログラミング作業は必要ありません。
Caché アプリケーション
ほぼすべてのユーザが、アプリケーションを使用して Caché と対話します。例えば、管理ポータル自体も一連のアプリケーションです。アプリケーションごとに、専用のセキュリティ機能があります。Caché には、以下の 3 種類のアプリケーションがあります。
-
Web アプリケーション — インターシステムズのフロントエンド開発用ツールの CSP および Zen と共に構築されたアプリケーションです。これを作成するには、Web ページを作成し、管理ポータルを使用して (特定のルート・パスで始まる) ページをアプリケーションとして正式に登録します。
-
特権ルーチンアプリケーション — サポートされているサーバ側言語で記述されたルーチンです。ルーチンを記述する他に、管理ポータルを使用して、アプリケーションを正式に登録します。
-
クライアント・アプリケーション — Caché に接続するために Caché Direct を使用するアプリケーションです。(Caché Direct の詳細は、"Caché Direct の使用法" を参照してください。)プログラムを作成する他に、管理ポータルを使用して、アプリケーションを正式に登録します。
管理ポータルで、定義、変更および登録を行うことができます (十分な権限を持つユーザとしてログインした場合)。ただし、アプリケーションを導入するときには、インストールの一環でプログラムによってアプリケーションを定義する方が一般的です。Caché ではこれを実現する方法が提供されています。