概要
クライアントサーバーアーキテクチャーや Webインターフェースなど、複数のユーザーがアプリケーションを使用する場合は、アクセスを制御したり、接続ユーザーに応じて異なる機能を提供したりする必要が生じます。 機密性の高いデータを保護することは重要です。 ユーザーにパスワードを割り当て、データやアプリケーション操作へのアクセスレベルが異なるアクセスグループを作成することで、これらのデータを保護することができます。
4Dのセキュリティ機能の概要については、4D Security guide をご覧ください。
権限を割り当てる
4D のパスワードアクセスシステムは、ユーザーとグループに基づいています。 ユーザーを作成してパスワードを割り当てたり、ユーザーをグループに入れて、各グループに対しアプリケーションの適切な部分へのアクセス権を割り当てます。
グループには、アクセス可能なメソッドや、HTTPサーバー、SQLサーバーなど、任意の機能へのアクセス権が割り当てられます。
次の図は、デザインおよびランタイムエクスプローラーアクセス権を "Devs" グループに割り当てている様子を表しています (データベース設定の "セキュリティ" タブ):
アクセスシステムを起動する
クライアントサーバーにおいて、4D のパスワードアクセスシステムを起動するには、デザイナー (Designer) にパスワードを割り当て ます。
ユーザー&グループを作成したとしても、デザイナーにパスワードが指定されるまでは、すべてのアプリケーションアクセスがデザイナーアクセス権でおこなわれます (アプリケーションを開く際に ID を求められません)。 つまり、アプリケーションのあらゆる部分を開くことができます。
デザイナーにパスワードが指定されると、すべてのアクセス権が有効になります。 リモートユーザーがアプリケーションを開くには、パスワードを入力しなければなりません。
パスワードアクセスシステムを無効にするには、デザイナーのパスワードを削除します。
プロジェクトアーキテクチャーにおけるユーザー&グループ
プロジェクトアプリケーション (.4DProject および .4dz ファイル) では、シングルユーザーおよびクライアントサーバー環境の両方でユーザーとグループを設定することができます。 ただし、アクセスシステムは 4D Server でのみ有効です。 次の表は、主なユーザーとグループの機能と、それらが利用かどうかを一覧に示します:
4D (シングルユーザー) | 4D Server | |
---|---|---|
ユーザーとグループの追加/編集 | ◯ | ◯ |
ユーザー/グループにサーバーアクセスを割り振る | ◯ | ◯ |
ユーザー認証 | × (すべてのユーザーがデザイナーです) | ◯ |
デザイナーへのパスワード設定によるアクセスシステムの起動 | × (すべてのアクセスがデザイナーです) | ◯ |
ツールボックス
ユーザーとグループのエディターは 4Dのツールボックスにあります。 ユーザーとグループを作成し、ユーザーにパスワードを設定し、ユーザーをグループに所属させるといった操作はこのエディターにて可能です。
ランタイムにおいてユーザーとグループのエディターを表示させるには EDIT ACCESS コマンドを使用します。 ユーザーとグループの設定は、アプリケーション実行中でも Users and Groups テーマの 4Dランゲージコマンドを使って編集することができます。
Directory.json ファイル
ユーザー、グループ、およびそれらのアクセス権は、directory.json という名称の専用のプロジェクトファイルに保存されます。
このフォルダーは次の場所に保存することができます:
- ユーザー設定フォルダー (つまり "Project" フォルダーと同階層にある "Settings" フォルダー) 内。 これらの設定はアプリケーションによりデフォルトで使用されます。
- データ設定フォルダー (つまり "Data" フォルダーの中の "Settings" フォルダー) 内。 directory.json ファイルがこの場所に保存されている場合、ユーザー設定フォルダーのファイルよりも優先されます。 この機能により、カスタム/ローカルなユーザー&グループ設定を定義することができます。 アプリケーションをアップグレードしても、カスタム設定はそのままです。
4Dパスワードとアクセスコントロールが有効化されていない場合、directory.json ファイルは生成されません。