メインコンテンツまでスキップ
バージョン: 20 R6 BETA

アクセスコントロールの概要

クライアントサーバーアーキテクチャーや Webインターフェースなど、複数のユーザーがアプリケーションを使用する場合は、アクセスを制御したり、接続ユーザーに応じて異なる機能を提供したりする必要が生じます。 シングルユーザーアプリケーションにおいても、機密性の高いデータを保護することは重要です。

運用環境によって、4D アクセスコントロールの方法は異なります:

  • マルチユーザーアプリケーションでは、4D のユーザー&グループ機能を利用することができます。
  • シングルユーザーアプリケーションでは、Current system user などのコマンドを使用して、システムセッションを通じてユーザーアクセスを制御します。

4Dのセキュリティ機能の概要については、4D Security guide をご覧ください。

マルチユーザーアプリケーションのアクセスコントロール

マルチユーザーアプリケーションは、4D Server を使って運用します。 これにはクライアントサーバー、Web、および RESTアプリケーションが含まれます。

マルチユーザーアプリケーションでは、4D ユーザー&グループ によってアクセスコントロールがおこなわれます。 ユーザーを作成してパスワードを割り当て、アプリケーションにおいて異なるレベルの権限を持つアクセスグループを作成します。

4D Server のパスワードアクセスシステムを起動するには、デザイナー (Designer) ユーザーにパスワードを割り当て ます。 ユーザーとグループを作成 しても、デザイナーにパスワードが指定されるまでは、すべてのアプリケーションアクセスがデザイナーアクセス権でおこなわれます (アプリケーション開始時に ID を求められません)。 つまり、アプリケーションのあらゆる部分を開くことができます。

デザイナーにパスワードが指定されると、すべてのアクセス権が有効になります。 アプリケーションや アクセスが制限されたサーバー に接続するには、リモートユーザーはログイン/パスワードを入力する必要があります。

パスワードアクセスシステムを無効にするには、デザイナーのパスワードを削除します。

シングルユーザーアプリケーションのアクセスコントロール

シングルユーザーアプリケーションとは、4D で運用する、または 4D Volume Desktop が組み込まれたデスクトップアプリケーションのことです。 シングルユーザーアプリケーションでは、アプリケーションを開くユーザーはすべて デザイナー です。つまり、ユーザー名は "Designer" で、すべての権限を持ちます。 アクセスコントロールは、4D のユーザー&グループではなく、ユーザーセッション に基づいておこなわれます。

ユーザー認証

4D のシングルユーザーアプリケーションでカレントユーザーを特定するには、そのシステムセッションを開いたユーザーを返す Current system user コマンドが利用できます。 つまり、ユーザー認証は OSレベルに委ねられています。

この場合、次のようなコードを使用して、アプリケーション内でアクセスを許可または拒否することができます:

If(Current system user = $user) // データベースのテーブルにユーザーを保存することができます
// 特定機能へのアクセス権を付与します
End if

"Designer" ではなく、システムユーザー名を 4D で使用したい場合 (ログファイルなど) は、SET USER ALIAS コマンドを使います。例:

SET USER ALIAS(Current system user)

アクセスの保護

権限

複数のユーザーが共有しているマシンでは、4Dアプリケーションをフォルダーにインストールし、そのフォルダーに対するアクセス権を適切なユーザーに OSレベルで与えることができます。

データの暗号化

アプリケーションのデータへのアクセスを保護したい場合は、データを暗号化 し、適切なユーザーに暗号化キーを提供することが推奨されます。