Access 2003 ユーザー レベル セキュリティを Access 2007 以降設定または変更

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

バージョンの Access 2007 より前に Access でデータベースを作成したユーザー レベル セキュリティをデータベースに適用した場合は、これらのセキュリティ設定がそのままで以上 Access 2007 では、そのファイルを開くときにします。また、Microsoft Office Access 2003 から提供されたセキュリティ ツールを開始することができます: ユーザー レベル セキュリティ ウィザードとさまざまなユーザーとグループのアクセス許可] ダイアログ ボックス: 以降のバージョンの Access からします。この記事では、Access 2003 のセキュリティ機能の動作について説明しを起動し、それらを Access 2007 以降を使用する方法について説明します。

注: この記事の情報は、Access 2003 またはそれ以前のバージョン (.mdb ファイル) で作成されたデータベースにのみ適用されます。ユーザー レベル セキュリティはデータベースを Access 2007 の高い (.accdb ファイル) を作成します。また、.mdb ファイルを新しい形式 (.accdb ファイル) に変換すると、アクセスは、ユーザー レベル セキュリティ設定を破棄します。

この記事の内容

Access 2007 で以上のユーザー レベル セキュリティの動作方法

Access 2003 ユーザーレベル セキュリティの概要

ユーザーレベル セキュリティを設定する

ユーザーレベル セキュリティを削除する

オブジェクトの権限の一覧

Access 2007 で以上のユーザー レベル セキュリティの動作方法

Access 2007 と以降のバージョンは、ユーザー レベル セキュリティを Access 2003 およびそれ以前のファイル形式 (.mdb ファイルと .mde ファイル) を使用するデータベースに対してのみを提供します。以降のバージョンでは、Access の以前のバージョンで作成されたデータベースを開くし、そのデータベースが適用されると、ユーザー レベル セキュリティ セキュリティ機能が有効にそのデータベースの設計です。たとえば、ユーザーは、データベースを使用するためのパスワードを入力する必要があります。

さらに、開始および Access 2003 およびユーザー レベル セキュリティ ウィザードとさまざまなユーザー、グループのアクセス許可] ダイアログ ボックスなど、以前のバージョンによって提供されるさまざまなセキュリティ ツールを実行できます。続行すると、.mdb ファイルまたは .mde ファイルを開くときにのみこれらのツールをできるようになります注意してください。ファイルを .accdb ファイル形式に変換する場合は、既存のすべてのユーザー レベル セキュリティ機能が削除されます。

Access 2003 ユーザーレベル セキュリティの概要

以下のセクションでは、Access 2003 以前のバージョンで使用されるユーザーレベル セキュリティについての基本的な情報を提供します。以前のセキュリティ モデルとユーザーレベル セキュリティについて既に理解している場合は、後の「ユーザーレベル セキュリティを設定する」または「ユーザーレベル セキュリティを削除する」に進んでもかまいません。

ユーザーレベル セキュリティの基本

Access のユーザーレベル セキュリティは、サーバーベースのシステムのセキュリティ機構に似ています。つまり、パスワードと権限を使用して、データベース内のオブジェクトへのアクセスを個人またはグループに許可したり禁止したりします。Access 2003 またはそれ以前のバージョンでは、Access データベースにユーザーレベル セキュリティを適用する場合、データベース管理者またはオブジェクトの所有者は、個々のユーザーまたはユーザー グループがデータベース内のテーブル、クエリ、フォーム、レポート、マクロに対して実行できるアクションを制御できます。たとえば、あるユーザー グループにはデータベース内のオブジェクトの変更を許可し、別のグループには特定のテーブルへのデータ入力のみを許可し、さらに別のグループには一連のレポートに含まれるデータの表示のみを許可することができます。

Access 2003 とそれ以前のバージョンのユーザーレベル セキュリティでは、パスワードと権限の組み合わせが使用されます。権限とは、ユーザーがデータベース内のデータまたはオブジェクトに対して実行できるアクセスの種類を指定する一連の属性です。管理者は、パスワードと権限を個人またはグループに設定できます。このようなパスワードと権限の組み合わせがセキュリティ アカウントとなって、データベース内のオブジェクトへのアクセスが許可されるユーザーとユーザー グループが定義されます。ユーザーとグループの組み合わせはワークグループと呼ばれ、この情報はワークグループ情報ファイルに保存されます。Access を起動すると、ワークグループ情報ファイルが読み込まれ、そのファイル内のデータに基づいて権限が適用されます。

Access には、1 つのユーザー ID と 2 つのグループが既定で組み込まれています。既定のユーザー ID は "管理者"で、既定のグループは "ユーザー" と "管理者" です。すべての ID は少なくとも 1 つのグループに属する必要があるため、組み込みのユーザー ID は既定でユーザー グループに追加されます。そのため、ユーザー グループは、データベース内のすべてのオブジェクトに対して完全な権限を持ちます。また、管理者 ID は管理者グループのメンバーでもあります。管理者グループには、少なくとも 1 つのユーザー ID が含まれている必要があります (データベースにはデータベース管理者が必要です)。手動で変更しない限り、管理者 ID が既定のデータベース管理者になります。

Access 2003 またはそれ以前のバージョンを起動すると、起動したユーザーに管理者 ID が割り当てられ、そのユーザーは既定の各グループのメンバーになります。管理者 ID とこれらのグループ (管理者グループとユーザー グループ) によって、データベース内のすべてのオブジェクトに対する完全な権限がすべてのユーザーに与えられます。つまり、ユーザーレベル セキュリティを設定しない限り、どのユーザーもすべての .mdb ファイル内のすべてのオブジェクトを開き、表示し、変更できるようになります。

Access 2003 またはそれ以前のバージョンでユーザーレベル セキュリティを適用する 1 つの方法は、ユーザー グループの権限を変更して、管理者グループに新しい管理者を追加することです。この操作を行うと、新しいユーザーは自動的にユーザー グループに割り当てられるようになります。ユーザーが保護されたデータベースを開くときには、パスワードを使用してログインすることが要求されます。ただし、特定のユーザーのグループにはデータの入力を許可し、それ以外のユーザーにはデータの読み取りだけを許可するなど、より細かいセキュリティ設定が必要な場合は、ユーザーとグループを追加で作成して、データベース内の一部またはすべてのオブジェクトに対する具体的な権限を与える必要があります。このようなユーザーレベル セキュリティの設定は、複雑な作業になる可能性があります。この手順を簡略化するために、Access にはセキュリティ ウィザードが用意されています。このウィザードを使用すると、ユーザーとグループを 1 ステップの手順で簡単に作成できます。

セキュリティ ウィザードでは、権限を割り当てたり、ユーザー アカウントとグループ アカウントを作成したりできます。ユーザー アカウントは、ユーザー名と、Access ワークグループ内のオブジェクトの表示、使用、または変更に関するユーザーの権限を管理するために必要な固有のパーソナル ID (PID) から構成されます。グループ アカウントはユーザー アカウントのコレクションであり、ワークグループに含まれます。グループ名と PID は各ワークグループを識別するために使用され、グループに割り当てられた権限はグループ内のすべてのユーザーに適用されます。ウィザードの使用方法の詳細については、「ユーザーレベル セキュリティを設定する」を参照してください。

ウィザードを完了した後で、データベースおよびデータベース内の既存のテーブル、クエリ、フォーム、レポート、マクロに対して、ワークグループ内のユーザー アカウントとグループ アカウントの権限を手動で割り当てたり変更または削除したりできます。また、ユーザーが新しいテーブル、クエリ、フォーム、レポート、またはマクロをデータベースに追加したときに割り当てられる既定の権限を設定することもできます。

ワークグループとワークグループ情報ファイル

Access 2003 およびそれ以前のバージョンでは、ワークグループとは、マルチユーザー環境でデータを共有するユーザーのグループです。ワークグループ情報ファイルには、ユーザー アカウントとグループ アカウント、パスワード、および各ユーザーまたはユーザー グループが持つ権限セットが保存されます。データベースを開くと、ワークグループ情報ファイルからデータが読み込まれ、ファイルに保存されているセキュリティ設定が適用されます。ユーザー アカウントは、ユーザー名と、ユーザーの権限を管理するために Access で作成されたパーソナル ID (PID) の組み合わせです。グループ アカウントはユーザー アカウントのコレクションであり、Access では、グループ アカウントの識別にもグループ名とパーソナル ID (PID) が使用されます。グループに割り当てられた権限は、グループ内のすべてのユーザーに適用されます。これらのセキュリティ アカウントには、データベースおよびデータベース内のテーブル、クエリ、フォーム、レポート、およびマクロに対する権限を割り当てることができます。権限自体は、セキュリティが有効になっているデータベースに格納されます。

あるユーザーが Access 2003 以前のバージョンを最初に実行すると、Access のインストール時に指定した名前と所属名で識別されるワークグループ情報ファイルが自動的に作成されます。Access 2003 では、セットアップ プログラムによって、このワークグループ情報ファイルの相対的な場所が次のレジストリ キーに追加されます。

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB

および

HKEY_USERS\.DEFAULT\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB

これ以降のユーザーでは、既定のワークグループ ファイルのパスが HKEY_USERS レジストリ キーの値から継承されます。この情報は簡単に特定できるため、認証されていないユーザーがワークグループ情報ファイルの別のバージョンを作成できる可能性があります。その結果、ワークグループ情報ファイルに定義されたワークグループに属している管理者アカウント (管理者グループのメンバー) の取り消し不可能な権限が、認証されていないユーザーに奪われるおそれがあります。認証されていないユーザーに管理者権限が奪われるのを防ぐには、新しいワークグループ情報ファイルを作成し、ワークグループ ID (WID) を指定します。ワークグループ ID は、新しいワークグループ情報ファイルの作成時に入力する 4 ~ 20 文字の英数字の文字列で、大文字と小文字が区別されます。新しいワークグループを作成すると、そのワークグループ ファイルに対応する管理者グループが一意に識別されます。このワークグループ情報ファイルのコピーを作成できるのは、WID を知っているユーザーだけです。新しいワークグループ情報ファイルを作成するには、セキュリティ ウィザードを使用します。

重要: 名前、所属名、ワークグループ ID は、大文字と小文字の区別を含めて正確に書き留め、安全な場所に保管してください。ワークグループ情報ファイルを再作成するときは、同じ名前、所属名、ワークグループ ID を正確に指定する必要があります。これらの情報を忘れたり紛失したりすると、データベースにアクセスできなくなる可能性があります。

権限の動作および権限の割り当てができるユーザー

ユーザーレベル セキュリティでは、明示的な権限と暗黙的な権限の 2 種類が認識されます。明示的な権限とは、あるユーザー アカウントに直接与えられた権限で、他のユーザーには影響しません。暗黙的な権限とは、グループ アカウントに与えられた権限です。ユーザーをグループ アカウントに追加すると、そのユーザーにグループの権限が与えられます。ユーザーをグループから削除すると、そのユーザーからグループの権限が削除されます。

セキュリティ機能を利用する操作をデータベース オブジェクトで実行すると、明示的な権限と暗黙的な権限の共通部分に基づいてユーザーの権限が決定されます。ユーザーのセキュリティ レベルは常に、ユーザーの明示的な権限およびユーザーが所属するすべてのグループの権限のうち、最も制約の低いものになります。したがって、ワークグループを管理する最も単純な方法は、権限をユーザーに個別に割り当てるのではなく、新しいグループを作成し、このグループに権限を割り当てることです。その後、ユーザーをグループに追加または削除して、ユーザーの権限を個別に変更できます。また、新しい権限を与える必要がある場合も、1 回の操作でグループのすべてのメンバーに与えることができます。

データベース オブジェクトに対する権限を変更できるユーザーは次のとおりです。

  • データベースの作成時に使用されたワークグループ情報ファイルの管理者グループのメンバー。

  • オブジェクトの所有者。

  • オブジェクトの管理権限を持つユーザー。

現在は操作を実行できないユーザーでも、操作を実行する権限を自分に与えることができる場合があります。これは、管理者グループのメンバーやオブジェクトの所有者に当てはまります。

テーブル、クエリ、フォーム、レポート、またはマクロを作成したユーザーは、それらのオブジェクトの所有者となります。また、データベースに対する権限を変更できるユーザーのグループは、それらのオブジェクトの所有権を変更することも、オブジェクトを再作成することもできます。どちらもオブジェクトの所有権を変更する方法として有効です。オブジェクトを再作成するには、オブジェクトのコピーを作成するか、データベース間でオブジェクトのインポートまたはエクスポートを行います。これは、データベース本体の所有権とオブジェクトの所有権を移行する最も簡単な方法です。

注: [クエリを実行する権限] プロパティが [所有者] に設定されているクエリをコピー、インポート、エクスポートしても、クエリの所有権は変更されません。所有権を変更できるのは、[クエリを実行する権限] プロパティが [ユーザー] に設定されているクエリの場合のみです。

セキュリティ アカウント

Access 2003 のワークグループ情報ファイルには、以下のアカウントがあらかじめ定義されています。

アカウント

機能

管理者

既定のユーザー アカウント。このアカウントは、Access のすべてのコピーと、Microsoft Jet データベース エンジンを使用できるその他のプログラム (Visual Basic for Applications (VBA)、Microsoft Office Excel 2003 など) でまったく同じです。

管理者

管理者のグループ アカウント。このアカウントは、ワークグループ情報ファイルごとに固有です。既定では、管理者ユーザーは管理者グループのメンバーです。管理者グループには、最低 1 人のユーザーが常に含まれている必要があります。

ユーザー

すべてのユーザー アカウントから構成されるグループ アカウント。管理者グループのメンバーが作成したユーザー アカウントは、自動的にユーザー グループに追加されます。このアカウントはどのワークグループ情報ファイルでも同じですが、それぞれに含まれるのは、そのワークグループの管理者グループのメンバーによって作成されたユーザー アカウントだけです。既定では、このアカウントは新しく作成されるすべてのオブジェクトに対して完全な権限を持ちます。ユーザー グループからユーザー アカウントを削除する唯一の方法は、管理者グループのメンバーがそのユーザーを削除することです。


Access 2003 およびそれ以前のバージョンでは、セキュリティは実質的に常に有効になります。ワークグループのログオンの手続きをアクティブにするまで、Access の起動時には、すべてのユーザーが既定の管理者アカウントと空白のパスワードを使用して暗黙的にログオンされます。内部では、管理者アカウントがワークグループの管理者アカウントとして使用されます。管理者アカウントは、作成されたデータベースやテーブル、クエリ、フォーム、レポート、およびマクロの所有者 (グループまたはユーザー) と併用されます。

管理者と所有者は、取り消しできない次のような権限を持つという点で重要です。

  • 管理者 (管理者グループのメンバー) は、ワークグループで作成されたオブジェクトに対して常に完全な権限を持ちます。

  • テーブル、クエリ、フォーム、レポート、またはマクロを所有するアカウントは、そのオブジェクトに対して常に完全な権限を持ちます。

  • データベースを所有するアカウントは、そのデータベースをいつでも開くことができます。

管理者ユーザー アカウントは Access のすべてのコピーでまったく同じであるため、データベースをセキュリティで保護するための最初の手順は、管理者と所有者のユーザー アカウントをそれぞれ定義し (または 1 つのユーザー アカウントを管理者と所有者の両方のアカウントとして使用し)、管理者ユーザー アカウントを管理者グループから削除することです。そうしない場合、Access のコピーを所有するユーザーであればだれでも、管理者アカウントを使用してワークグループにログオンし、ワークグループのテーブル、クエリ、フォーム、レポート、およびマクロに対する完全な権限を取得できることになります。

ユーザー アカウントは必要なだけいくつでも管理者グループに割り当てることができますが、データベースを所有できるのは 1 つのユーザー アカウントだけです。データベースを所有するアカウントは、データベースの作成時にアクティブだったユーザー アカウントか、新しいデータベースを作成してデータベースのすべてのオブジェクトをインポートする方法で所有権を移行したときにアクティブだったユーザー アカウントです。ただし、データベース内のテーブル、クエリ、フォーム、レポート、マクロは、グループ アカウントでも所有できます。

セキュリティ アカウントを編成するときの考慮事項

  • Access にログオンできるのはユーザー アカウントだけです。グループ アカウントを使用してログオンすることはできません。

  • データベース ユーザー用に作成するアカウントは、そのユーザーがデータベースを使用するときに参加するワークグループ情報ファイルに格納する必要があります。別のファイルを使用してデータベースを作成している場合は、アカウントを作成する前にファイルを変更してください。

  • 管理者アカウントと各ユーザー アカウントには、固有のパスワードを作成してください。管理者アカウントを使用してログオンできるユーザーには、ワークグループで作成されたすべてのテーブル、クエリ、フォーム、レポート、およびマクロに対する完全な権限が常に与えられます。所有者アカウントを使用してログオンできるユーザーには、そのアカウントが所有するオブジェクトに対する完全な権限が常に与えられます。

ユーザー アカウントとグループ アカウントを作成した後で、アカウント間の関係を表示および印刷できます。ワークグループ内のアカウントのレポートを印刷すると、各ユーザーが所属するグループの一覧や各グループに所属するユーザーの一覧が作成されます。

注: Microsoft Access 2.0 で作成されたワークグループ情報ファイルを使用している場合、ユーザーとグループの情報を印刷するには、管理者グループのメンバーとしてログオンする必要があります。Microsoft Access 97 またはそれ以降のバージョンで作成されたワークグループ情報ファイルでは、ワークグループのすべてのユーザーがユーザーとグループの情報を印刷できます。

ユーザーレベル セキュリティを設定する

このセクションの手順を起動し、ユーザー レベル セキュリティ ウィザードを実行する方法について説明します。次の手順を Access 2003 または Access 2007 またはそれ以降のバージョンで開いた、以前のバージョンのファイル形式に設定されているデータベースにのみ適用することにご注意ください。

重要: Access 2007 またはそれ以降のバージョンでは、既定のワークグループ情報ファイルを指定するユーザー レベル セキュリティ ウィザードを使用している場合も使う必要があります/WRKGP コマンド ライン スイッチ Access を起動したときに、ワークグループ情報ファイルを指すようにします。詳細については、アクセス権を持つコマンド ライン スイッチを使用して、「 Microsoft Office 製品のコマンド ライン スイッチ」を参照してください。

セキュリティ ウィザードを起動する

  1. 管理する .mdb ファイルまたは .mde ファイルを開きます。

  2. [データベース ツール] タブの [管理] で [ユーザーと権限] の下にある矢印をクリックし、[セキュリティ ウィザード] をクリックします。

  3. 各ページの手順に従ってウィザードを完了します。

注: 

  • セキュリティ ウィザードは、現在の Access データベースのバックアップ用コピーを作成し、同じ名前に .bak というファイル名拡張子を付けて保存します。次に、現在のデータベースで選択中のオブジェクトにセキュリティ対策を設定します。

  • 現在の Access データベースの VBA コードがパスワードで保護されている場合は、ウィザードからパスワードの入力を求められます。パスワードを入力しないと、ウィザードの処理は正常に完了しません。

  • ウィザードを使用して作成したパスワードは、ウィザードの終了時に出力されるセキュリティ ウィザード レポートに表示されます。このレポートは安全な場所に保管してください。ワークグループ ファイルが紛失または破損した場合は、このレポートを使用してワークグループ ファイルを再作成できます。

ユーザーレベル セキュリティを削除する

Access 2007 以降での作業中のユーザー レベル セキュリティを削除するには、.accdb ファイルとして、.mdb ファイルを保存します。

ファイルのコピーを保存します。ACCDB 形式

  1. [ファイル] タブをクリックします。Backstage ビューが開きます。

  2. 左側にある [共有] をクリックします。

  3. 右側にある [データベースに名前を付けて保存] をクリックし、[Access データベース (*.accdb)] をクリックします。

    [名前を付けて保存] ダイアログ ボックスが表示されます。

  4. [保存先] ボックスの一覧で、変換したデータベースの保存場所を選択します。

  5. ファイルの種類] ボックスの一覧では、 Access 2007-2016 データベース (読み取り)を選択します。

  6. [上書き保存] をクリックします。

注: Access 2007 を使っている場合は、 Microsoft Office ボタンをクリックし、[変換するデータベースを保存するで保存] ダイアログ ボックスを開く] をクリックします。ACCDB ファイル形式です。

オブジェクトの権限の一覧

次の表は、データベースおよびデータベース内のオブジェクトに設定できる権限の一覧です。各権限の設定を使用した場合の効果や結果についても説明します。

権限

適用できるオブジェクト

結果

開く/実行

データベース全体、フォーム、レポート、マクロ

コード モジュールのプロシージャも含めて、オブジェクトを開いたり実行したりできます。

排他で開く

データベース全体

データベースを開き、他のユーザーによる使用を禁止できます。

構造の読み取り

テーブル、クエリ、フォーム、マクロ、コード モジュール

ここに挙げたオブジェクトをデザイン ビューで開くことができます。

注: [データの読み取り] や [データの変更] など、別の権限を割り当ててテーブルまたはクエリのデータへのアクセスを許可すると、常に [構造の読み取り] 権限も許可されます。これは、データを正しく表示するには構造が表示可能になっている必要があるためです。

構造の変更

テーブル、クエリ、フォーム、マクロ、コード モジュール

ここに挙げたオブジェクトの構造を変更できます。

管理

データベース全体、テーブル、クエリ、フォーム、マクロ、コード モジュール

ここに挙げたオブジェクトに対して、そのオブジェクトを所有していなくても権限を与えることができます。

データの読み取り

テーブル、クエリ

テーブルまたはクエリのデータを読み取ることができます。クエリの読み取り権限をユーザーに与えるには、親テーブルまたは親クエリの読み取り権限も与える必要があります。この設定を使用すると、[構造の読み取り] 権限も暗黙的に設定されます。つまり、ユーザーは、データだけでなくテーブルやクエリの構造も読み取ることができます。

データの変更

テーブル、クエリ

テーブルまたはクエリのデータを変更できます。親テーブルまたは親クエリを変更する権限も持っている必要があります。この設定を使用すると、[構造の読み取り] 権限と [データの読み取り] 権限も暗黙的に許可されます。

データの挿入

テーブル、クエリ

テーブルまたはクエリにデータを挿入できます。クエリの場合、親テーブルまたは親クエリにデータを挿入する権限も持っている必要があります。この設定を使用すると、[データの読み取り] 権限と [構造の読み取り] 権限も暗黙的に許可されます。

データの削除

テーブル、クエリ

テーブルまたはクエリからデータを削除できます。クエリの場合、親テーブルまたは親クエリからデータを削除する権限も持っている必要があります。この設定を使用すると、[データの読み取り] 権限と [構造の読み取り] 権限も暗黙的に許可されます。

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×