 |
Advanced Operations Guide (v11) |
 |
|
トランザクショナル インターフェイスのセキュリティ計画
Pervasive PSQL v11 SP3 をインストールした後も、セキュリティのデフォルトの動作は以前のリリースと変わりません。つまり、データベース エンジンは「クラシック」、すなわち OS ベースの認証および許可を使用します。オペレーティング システムを通して特定データ ファイルへのアクセスが許可されているユーザーは、Btrieve オーナー ネームを使ってデータ ファイルへのアクセスが制限されていない限り、ファイルに対する権限と同レベルの権限をファイルに含まれているデータ レコードに対しても持ちます。
このセクションでは、デフォルト データベースや許可されたユーザー、および Btrieve セキュリティ ポリシーのその他の側面を設定するために必要な手順について説明します。
使用可能なオプション
使用できるセキュリティ オプションは 3 つあります。最適なオプションを選択するための手助けとなるよう、これらのオプションの機能を以下に示します。暗号化はどの設定でも任意です。
表 31 セキュリティ設定の機能比較
機能
|
クラシック
|
混合
|
データベース
|
管理者がユーザーごとにオペレーティング システム(OS)とデータベースのユーザー アカウントを別々に設定する必要があります。
|
|
|
|
データベースのユーザー アカウントは OS のユーザー アカウントから直接派生します。
|
|
|
|
ユーザーのデータ アクセス権は、ユーザーのファイル システムの権利とは関係がありません。管理者はデータベースを介して各ユーザーにデータ アクセス権を割り当てる必要があります。
|
|
|
|
ユーザーのデータ アクセス権は、OS ユーザーのファイル システム権限から直接派生されます。
|
|
|
|
Pervasive ベースの Windows アプリケーションから、データベースのユーザー名とパスワードを入力する自動ログイン ダイアログを表示できます。
|
|
|
|
データベースは OS のログインの成功を有効なデータベース ユーザーとして受け入れます。
|
|
|
|
ユーザーは、コンピューターにログインするのとは別にデータベースにログインする必要があります。
|
|
|
|
1 ログイン ダイアログは、リクエスターがオペレーティング システムを介して ID を決定できない場合に現れます。
|
データベースのセキュリティの下では、データベースのユーザー アカウントは OS のユーザー アカウントとはまったく無関係です。
対照的に、クラシック セキュリティでは、コンピューターへのログインに成功したユーザーは、データを含んでいるファイルに対してユーザーに割り当てられているファイル システム権限のレベルに従った、そのデータベース コンテンツへのアクセス権を持ちます。
最後に、混合セキュリティ ポリシーは、ほかの両方のポリシーの側面を持っています。この方式では、ユーザーは OS のユーザー名とパスワードを使ってログインしますが、データに対するユーザーのアクセス権はデータベースに設定されているユーザー権限によって決定されます。
ポリシーの選択
このセクションでは、複数のセキュリティ ポリシーの中から 1 つを選び出す上での主な判断材料をいくつかを述べます。
クラシックを選択する理由
- ユーザーがデータ ファイルへのファイル システム アクセス権を持っていることを安心して受け入れられる。たとえば、データ ファイルからレコードを削除する権限を持っているユーザーは、オペレーティング システムからそのファイル自体を削除することもできます。
- 管理上の面倒な作業は最小限にしたい。各ユーザーの OS ユーザー アカウントと、少なくとも 1 つのデータベース アカウントの両方を設定することはしたくない。
- 各ユーザーのファイル システム権限によって異なる、さまざまなデータ アクセス権を持つ必要がない。
- ユーザーにデータベースのログインを個別に行わせたくない。
混合を選択する理由
- ユーザーにデータベースのログインを個別に行わせたくない。
- 有効なデータベース ユーザーには、オペレーティング システムにおけるデータ ファイルへのいかなる権限も持たせないようにしたい。たとえば、データベースに対するあらゆる権限を持っているユーザーに、オペレーティング システムからデータ ファイルを削除する権限を持たせないようにすることができます。
- OS のユーザー アカウントと同じユーザー名のデータベース ユーザー アカウントを設定するつもりである。また、データベース ユーザーごとに権限を割り当てるつもりである。選択すれば、特殊グループの PUBLIC から権限を継承することによって、すべてのユーザーが同レベルの権限を持つことができます。
データベースを選択する理由
- ユーザーにデータベースのログインを個別に行わせたい。つまり、オペレーティング システムへのログイン後、ユーザーはもう一度データベースにログインする必要があります。この動作は、権限を与えられたコンピューター ユーザーの一部にはデータベースヘのアクセスが許可されているが、一部には許可されていない場合に有用です。
- 有効なデータベース ユーザーには、オペレーティング システムにおけるデータ ファイルへのいかなる権限も持たせないようにしたい。たとえば、データベースに対するあらゆる権限を持っているユーザーに、オペレーティング システムからデータ ファイルを削除する権限を持たせないようにすることができます。これは、混合セキュリティ ポリシーを使っても実現できます。
- データベースのユーザー アカウントには、オペレーティング システムのアカウントとは異なる名前を使いたい。たとえば、オペレーティング システムのユーザー "jsmith" が "john" としてデータベースにログインすることを要求されるかもしれません。
- ユーザーとその権限は、サーバーやマシンでなくデータベースの下にある。これにより、データベースのユーザーやユーザーの権限を再作成しなくても、データベースをあるマシンから別のマシンへ移動することができます。
セキュリティを設定するための準備
トランザクショナル インターフェイスのセキュリティ設定は 1 つの簡単な処理ですが、この処理には十分な柔軟性があるため、いくつかの準備を必要とします。このセクションでは、Btrieve セキュリティの設定を開始する前に知っておくべき情報について説明します。
データベースの数
混合またはデータベース セキュリティの場合は、すべてのユーザーに同レベルの権限を割り当てるか、もしくはデータベースごとに定義済みユーザーのセットを作成する必要があります。
まったく関連のないデータの本体を含んでいる Btrieve データ ファイルが 2 つ以上ある場合は、別個のデータベースを 2 つ以上設定し、それぞれに固有の許可されたユーザーのセットを持ちたいと思われるかもしれません。しかし、一般的に言えば、定義済みユーザーのセットを複数作成して管理する必要がないよう、別々にするデータベースの数は最小限にしたいでしょう。ほとんどの場合は、1 つのデータベースで十分です。データベースにおけるユーザー権限では、各ユーザーのデータベースへのアクセスを規制できるため、ある特定のユーザーのアクセスを制限するためだけに別のデータベースを作成する必要はありません。
1 つのデータベースのみが必要であると判断した場合は、既存のデータベース DefaultDB を Btrieve ファイルと関連付けられているデータベースとして使用することができます。そうではなく、独自の名前を付けたデータベースを設定することもできます。
データ ファイルの場所
名前付きデータベースのデータ ディレクトリに、データ ファイルが格納されているディレクトリを指定することによって、Btrieve データ ファイルをデータベースと関連付けます。そのため、データベースと関連付けるすべてのデータ ファイルが格納されているディレクトリを知っておく必要があります。データ ファイルがすべて特定のディレクトリ内のサブディレクトリ ツリーに存在する場合は、トップレベルのディレクトリのパス名さえわかっていれば十分です。ハード ディスク ドライブ上のすべてのデータ ファイルを含めたい場合は、"C:¥" を使用することもできます。
ユーザー名とは?
混合セキュリティを使用する予定ならば、すべてのユーザーに同一の権限を割り当てるか、もしくは異なる権限を持つユーザーのユーザー アカウントを設定する必要があります。個々のユーザーを設定するつもりならば、データベース ユーザー名にしたいオペレーティング システム ユーザー名の一覧が必要です。設定するデータベース ユーザー名は、オペレーティング システム ユーザー名と完全に一致している必要があります。後からユーザー名を追加することはいつでもできますが、一度に複数のユーザーを作成した方がより効率的です。
セキュリティ ポリシーとは?
セキュリティを設定する前に、使用する予定のポリシーがどういうものであるかを知っておく必要があります。セットアップ処理はポリシーによって若干異なります。ポリシーを選択する上での考慮点は、ポリシーの選択に記載されています。
処理の概要
このセクションでは、データベースのセキュリティの設定に使用される高レベルな手順の概要を示します。より詳細な作業手順の説明については後述のセクションで提供されています。
- 準備をします。上記のセキュリティを設定するための準備で示されたとおり、必要な情報を収集し、開始するために必要な決定を行います。データベースの数はいくつにしますか?Btrieve ファイルが保存されている場所は?ユーザー名は何ですか?どのセキュリティ ポリシーを使用しますか?
- Btrieve ファイルとともに使用するデータベースを選択し、そのデータベースにデータ ファイルの場所を示すデータ ディレクトリを設定します。この手順は、混合またはデータベース セキュリティでのみ必要となります。
- この手順の詳細については、『Pervasive PSQL User's Guide』の「定義済みの DefaultDB も含め、既存のデータベースを Pervasive PSQL ファイルと使用するには」を参照してください。
- セキュリティをオンにします。
- この手順の詳細については、『Pervasive PSQL User's Guide』の 「Pervasive PSQL エクスプローラーを使ってセキュリティをオンにするには」を参照してください。
- ユーザーおよび権限を作成します。SQL ステートメントまたは PCC を使用して、ユーザー アカウントおよび当該ユーザーの権限を作成します。この手順は、混合またはデータベース セキュリティでのみ必要となります。
- ユーザーのアクセス権を付与する最も簡単な方法については、『Pervasive PSQL User's Guide』の 「Pervasive PSQL エクスプローラーを使用してすべてのユーザーに権限を割り当てるには」を参照してください。
- データベースの Btrieve セキュリティに[混合]または[データベース]を設定します。
- この手順の詳細については、『Pervasive PSQL User's Guide』の 「データベースのセキュリティ ポリシーを設定または変更するには」を参照してください。
- オペレーティング システムでデータ ファイルをセキュリティ保護します。混合またはデータベース セキュリティの場合、これでユーザーは、オペレーティング システムにおけるデータ ファイルへのアクセス権を何も持っていなくても、データにアクセスできるようになります。ファイルへのセキュリティ保護されたアクセスに関する情報は、オペレーティング システムのドキュメントを参照してください。
トランザクショナル インターフェイス セキュリティの作業の概要
次の表は、異なるセキュリティ モデルを使用するために必要となる作業の基本レベルを示しています。セキュリティ モデルを実装するために必要な作業については、セキュリティの作業を参照してください。
表 32 セキュリティのセットアップ作業の概要
セキュリティ モデル
|
認証/許可
|
動作および高レベル セットアップ作業の概要
|
クラシック
|
オペレーティング システム/オペレーティング システム
|
- ユーザーにすべてのデータベース ファイルへのファイル アクセス権限を付与します。
- よりアクセスを制限するために、Btrieve ファイルにオーナー ネームを追加します(任意)。
|
混合
|
オペレーティング システム/データベース
|
- このセキュリティ モデルは、ワークグループ エンジンを使用している場合はクラシック モデルと同様の動作をすることに注意してください。
- オペレーティング システムでユーザーを設定します。ユーザーはこのユーザー名およびパスワードと対照して認証されます。
- 個別でユーザーにセキュリティを設定したい場合は、Pervasive PSQL Control Center を使って、データベース セキュリティで同じ名前付けをしたユーザーを設定します。認証は OS レベルで発生しますが、データベース権限はデータベースに保存されるため、オペレーティング システムのユーザー名とデータベースのユーザー名は一致していなければなりません。
- Pervasive PSQL Control Center または SQL ステートメントを使って、ユーザーのデータベース権限を定義します。もう 1 つの方法として、PUBLIC グループに権限のセットを定義します。グループ PUBLIC から権限を継承する、認証されたすべての OS ユーザーは、PUBLIC と同じ権限を持ちます。どのユーザーも、PUBLIC に与えられた権限より低い権限を持つことはありません。
|
データベース
|
データベース/データベース
|
- オペレーティング システムのユーザー名とパスワードは、Pervasive PSQL データベース セキュリティとは関係ありません。
- Pervasive PSQL Control Center ユーティリティまたは SQL ステートメントを使って、ユーザーを設定します。
- Pervasive PSQL Control Center または SQL ステートメントを使って、データベース権限を定義します。
- Pervasive PSQL Control Center の設定プロパティを使って、認証資格情報の渡し方を指定します。この手順は、新しい設定プロパティの「クライアント資格情報の入力要求」および「クライアント保持の資格情報の容認」を参照します。
|
 セキュリティ モデルと概念 |
 トランザクショナル インターフェイス セキュリティのクイック スタート |
|