フロント エンドおよびバック エンド アプリケーションのセキュリティを設定する方法

◆概要
 この資料は、Microsoft Accessでフロント エンドおよびバック エンド アプリケーションのセキュリティを設定する方法について記載しています。


テーブルのみが含まれるバック エンド データベースと、残りのオブジェクトが含まれるバック エンド データベースのテーブルにリンクされているフロント エンド データベースに分割されたアプリケーションに対してユーザー レベルのセキュリティを設定する場合は、考慮しなければならないことがさらにあります。バック エンド データベースが存在するネットワークの名前を知らない場合や、バック エンド データベースの移動をデータベース管理者に許可する場合があります。いずれの場合にも、ユーザーがバック エンド データベースのテーブルを再びリンクできるようにする必要があります。

▼ページトップに戻る

◆フロント エンドおよびバック エンド アプリケーションに対するユーザーレベル セキュリティを設定するには

  1. どちらのデータベースの場合も、セキュリティ ウィザードを使ったセキュリティの設定の手順に従います。
  2. 適切なグループにバック エンド データベースのデータの読み取り、更新、挿入、または削除の権限を割り当てます。そのためには、バック エンド データベースのテーブルに対する権限を直接割り当てるか、またはそのテーブルに対するすべての権限を無効にして、"RunPermissions/実行権限"プロパティが[所有者]に設定されたバック エンド データベースのテーブルを使うフロントエンドデータベースでクエリーを作成します。


    参照 "RunPermissions/実行権限"プロパティの詳細については、「14.2.6 "RunPermissions/実行権限"プロパティをユーザーレベルセキュリティで使用する」を参照してください。
  3. バック エンド データベースに対する[開く/実行]権限を割り当てます。これは、"RunPermissions/実行権限"プロパティを[所有者]に設定してクエリーを使う場合にも必要です。
  4. フロント エンド データベースでは、リンクされたテーブルに対する[構造の変更]権限をユーザーに与えます。フロント エンド データベースのリンクされたテーブルに対する[構造の変更]権限をユーザーに与えても、バック エンド データベースのテーブルに対する同じ権限は与えられません。
  5. 既定では、セキュリティ ウィザードを実行すると、ユーザーにはフロント エンド データベースの新しいテーブルおよびクエリーに対する権限が割り当てられます。データベース アクセス オブジェクト(DAO)コードによってこの権限が無効になっている場合は、DAOコードおよびdbSecCreate定数を使ってこの権限を割り当て直します。


    参照 DAOコードを使った権限の割り当ての詳細については、「14.2.7 データ アクセス オブジェクトを使用してユーザーレベル セキュリティを設定する」の「オブジェクトに対する権限の割り当て」を参照してください。
  6. 最初にアプリケーションをセットアップするときに、ユーザーは、フロント エンド データベースからリンク テーブル マネージャを使用し、新しい場所のバック エンド データベースのテーブルへのリンクを再設定する必要があります。


    ヒント テーブルのリンクを起動時に再設定することをユーザーに要求するコードを書くこともできます。これを行うサンプル コードについては、受注管理サンプル アプリケーションのRefreshTableLinksモジュールのRilinkTables関数とRefreshLinks関数を参照してください。

ユーザーにはフロント エンド データベースのリンクされたテーブルに関する[構造の変更]権限があるので、バック エンド データベースの場所が変わった場合にバック エンド テーブルへのリンクを再設定できます。ユーザーは、バック エンド データベースの実際のテーブルを変更できません。

データMDB

構造の変更と管理者をOFF


プログラムMDB

  1. データベースに対する権限
    管理者をOFF、その他はON
  2. リンクテーブル
    管理者をOFF、その他はON
  3. 新しいテーブル/クエリーとワークテーブル(リンクテーブル以外のテーブル)
    構造の変更、管理者をOFF、その他はON
  4. フォーム、レポート、マクロ
    開く/実行のみON
  5. クエリー
    構造の変更と管理者をOFF、その他はON
  6. モジュールに対しては、特に権限を与える必要はありません。



▼ページトップに戻る