MS アクセス データベースがあります。しかし、それは共有ドライブにあります。そして、限られた数の人しか利用できないことが求められます。ユーザーを認証する方法はありますか?
7 に答える
はい、データベースを開き、[ツール] -> [セキュリティ] -> [ユーザー レベル セキュリティ ウィザード] を実行します。新しいワークグループ ファイルの作成、ユーザーとグループの作成、および Access オブジェクトの保護のプロセスを順を追って説明します。
Access はファイル ドリブンであるため、共有ドライブにフォルダーを作成し、適切なユーザーにフォルダーのアクセス許可を割り当ててみませんか。
両方を行います。ディレクトリにアクセス許可を設定し、新しいセキュリティ ファイルを作成します。
ディレクトリは最前線のセキュリティであり、マクロ レベルでアクセスを制限します
セキュリティ ファイルを使用して、さまざまなテーブル、フォーム、レポートなどへのアクセスをセグメント化できます。一部のユーザーに読み取り専用アクセス権を付与し、他のユーザーにはより完全なアクセス権を付与することもできます。
これらはすべて VBA で行います。配電盤の Form_Open サブで、Windows API を使用してユーザー名を文字列変数に読み取り、ユーザー名が有効なユーザーのリストに含まれているかどうかを確認します。OK の場合はウェルカム メッセージを発行し、OK でない場合は Access を終了します。
' check user Dim user As String Dim AuthorizedUser As Boolean user = UCase(CurrentUser())
AuthorizedUser = True
Select Case user
Case "USER_A":
Case "USER_B":
Case "USER_C":
Case Else: AuthorizedUser = False
End Select
If AuthorizedUser = True Then
MsgBox "Welcome authorized user " & user
Else
MsgBox user & "is not Authorized. For access to this database contact User_A"
DoCmd.Quit
End If
ユーザー レベルのセキュリティは、Access 2007 では使用できません。
Access 2007 のセキュリティオファーを使ってみる:
- データベース内の無効化されたコンテンツを信頼 (有効化) する
- パスワードを使用してデータベースを暗号化または復号化する
- Office Access 2007 データベースのパッケージ化、署名、および展開
ドメイン上にいる場合、ファイル レベルのセキュリティを使用して、ユーザーがドメインにアクセスできないようにすることはできませんか?
2 つのソリューション:
アクセス許可が適切に設定されたファイル共有に Access ファイルを配置します。Access ファイル (.mdb) を開くときに作成される一時的な .ldb ファイルを Access が書き出すことができないため、読み取り専用アクセスを提供する必要がある場合、これはうまく機能しません。
Accessファイルの「データ」をSql Serverインスタンスに移動します...ここで、SQLサーバーの権限を許可して、人々ができることを制限できます。このメソッドを使用して、全員に読み取り専用アクセスを提供し、次に特定の人々に読み取り/書き込みアクセスを提供します。データを SQL に移動するには、データを新しい SQL データベースにインポートしてから、テーブルを Access ファイルにリンクします (レポート/クエリ/その他が引き続き機能するように名前を変更します)。