フロント エンドおよびバック エンド アプリケーションのセキュリティを設定する方法
◆概要
この資料は、Microsoft Accessでフロント エンドおよびバック エンド アプリケーションのセキュリティを設定する方法について記載しています。
テーブルのみが含まれるバック エンド データベースと、残りのオブジェクトが含まれるバック エンド データベースのテーブルにリンクされているフロント エンド データベースに分割されたアプリケーションに対してユーザー レベルのセキュリティを設定する場合は、考慮しなければならないことがさらにあります。バック エンド データベースが存在するネットワークの名前を知らない場合や、バック エンド データベースの移動をデータベース管理者に許可する場合があります。いずれの場合にも、ユーザーがバック エンド データベースのテーブルを再びリンクできるようにする必要があります。
◆フロント エンドおよびバック エンド アプリケーションに対するユーザーレベル セキュリティを設定するには
- どちらのデータベースの場合も、セキュリティ ウィザードを使ったセキュリティの設定の手順に従います。
- 適切なグループにバック エンド データベースのデータの読み取り、更新、挿入、または削除の権限を割り当てます。そのためには、バック エンド データベースのテーブルに対する権限を直接割り当てるか、またはそのテーブルに対するすべての権限を無効にして、"RunPermissions/実行権限"プロパティが[所有者]に設定されたバック エンド データベースのテーブルを使うフロントエンドデータベースでクエリーを作成します。
参照 "RunPermissions/実行権限"プロパティの詳細については、「14.2.6 "RunPermissions/実行権限"プロパティをユーザーレベルセキュリティで使用する」を参照してください。 - バック エンド データベースに対する[開く/実行]権限を割り当てます。これは、"RunPermissions/実行権限"プロパティを[所有者]に設定してクエリーを使う場合にも必要です。
- フロント エンド データベースでは、リンクされたテーブルに対する[構造の変更]権限をユーザーに与えます。フロント エンド データベースのリンクされたテーブルに対する[構造の変更]権限をユーザーに与えても、バック エンド データベースのテーブルに対する同じ権限は与えられません。
- 既定では、セキュリティ ウィザードを実行すると、ユーザーにはフロント エンド データベースの新しいテーブルおよびクエリーに対する権限が割り当てられます。データベース アクセス オブジェクト(DAO)コードによってこの権限が無効になっている場合は、DAOコードおよびdbSecCreate定数を使ってこの権限を割り当て直します。
参照 DAOコードを使った権限の割り当ての詳細については、「14.2.7 データ アクセス オブジェクトを使用してユーザーレベル セキュリティを設定する」の「オブジェクトに対する権限の割り当て」を参照してください。 - 最初にアプリケーションをセットアップするときに、ユーザーは、フロント エンド データベースからリンク テーブル マネージャを使用し、新しい場所のバック エンド データベースのテーブルへのリンクを再設定する必要があります。
ヒント テーブルのリンクを起動時に再設定することをユーザーに要求するコードを書くこともできます。これを行うサンプル コードについては、受注管理サンプル アプリケーションのRefreshTableLinksモジュールのRilinkTables関数とRefreshLinks関数を参照してください。
ユーザーにはフロント エンド データベースのリンクされたテーブルに関する[構造の変更]権限があるので、バック エンド データベースの場所が変わった場合にバック エンド テーブルへのリンクを再設定できます。ユーザーは、バック エンド データベースの実際のテーブルを変更できません。
データMDB
構造の変更と管理者をOFF
プログラムMDB
- データベースに対する権限
管理者をOFF、その他はON - リンクテーブル
管理者をOFF、その他はON - 新しいテーブル/クエリーとワークテーブル(リンクテーブル以外のテーブル)
構造の変更、管理者をOFF、その他はON - フォーム、レポート、マクロ
開く/実行のみON - クエリー
構造の変更と管理者をOFF、その他はON - モジュールに対しては、特に権限を与える必要はありません。
▼ページトップに戻る