2009-01-26

FileMaker Pro 9 のアクセス権設定方法(1)

FileMaker Pro 9 で開発したデータベースにアクセス権を設定することによって、データベースアクセスのセキュリティを向上させることができます。また、FileMaker Server 9 との併用によって、さらにセキュリティを向上させることができます。

基本的なアクセス権の設定方法
1. データベースを開いてから、FileMaker Pro のメニューより、「ファイル」→「管理」→「アカウントとアクセス権」の順に選択すると、「アカウントとアクセス権の管理」ダイアログが開きます。

 この図は、以前当ブログで紹介させていただいたFileMaker API for PHP を使ったアンケートフォーム作成で使用した Comment.fp7 のアクセス権を表示したものです。
 [ゲスト]、Admin、webuser という 3 つのアカウントが表示されています。そのうち、[ゲスト]および Admin は FileMaker Pro データベース作成時にデフォルトで用意されているアカウントです。
 ここでは新しいアカウント「input」を作成して、アクセス権を設定してみることにします。
 “作成”ボタンを押して、[アカウント名]の欄に input と入力し、[パスワード]に適当なパスワードを入力します。運用にあたっては、パスワードは長めで特定されにくい文字列と数値を混ぜたものを指定します。[アクセス権セット]に「データ入力のみ」を指定します。
 ここまで指定すると、ダイアログは以下の図のようになります。
 
 [アカウントの認証方法]には、次の 2 種類があります。
 「FileMaker」--- FileMaker Pro のデータベースに設定したアカウントを使って認証を行う。
 「外部サーバー」--- Active Directory(Windows ドメイン)や Apple OpenDirectory などのアカウントグループを使って認証を行う。
 外部サーバーによる認証方法については後ほど説明しますが、今はデフォルトの「FileMaker」を指定しておいてください。

“OK” ボタンを押してダイアログを閉じます。

2. 一度ファイルを閉じ、input アカウントでログインします。フィールド内容の編集やレコード作成、削除はできますが、レイアウトの編集やスクリプトの編集などはできません。

独自のアクセス権セットを作成してみる

ここまでが基礎的なアクセス権の設定方法ですが、今度はデフォルトで用意されている 3 つのアクセス権セット([完全アクセス]、[データ入力のみ]、[閲覧のみアクセス])とは別に、独自のアクセス権セットを作成して割り当てる方法について説明します。

1. 先ほどのように、「アカウントとアクセス権の管理」ダイアログを開き、input アカウントをダブルクリックして「アカウントの編集」ダイアログを開きます。ここの[アクセス権セット]の一覧の一番下に表示されている「新規アクセス権セット」を選択します。
 すると、次のようなダイアログが表示されますので、ここにデータベースへのアクセス条件を設定していきます。


2. 「アクセス権セット」には適当な名前を付けます(ここでは「編集用」という名前にします)。
仮にこのような入力条件を考えてみます。

1) レイアウトは照会することができるがデザインの編集はできない。
2) レコードへの入力はできるが、作成と削除はできない。
3) 値一覧は表示できるが、編集はできない。
4) スクリプトは実行できるが、編集はできない。
5) ファイルメーカー側のメニューコマンドは、編集絡みのものだけに限定する。
6) データの持ち出しを許可しない(データのエクスポートを禁止する)。
7) データの印刷を禁止する。
8) FileMaker Server 9 でこのデータベースを公開したときにはアクセスできるようにする。
9) そのほか、input ユーザにとって相応しくないアクセスはすべて禁止する。

これをざっと盛り込むと、設定は次のようになります。上記の条件が盛り込まれていることを画面を見ながら確認してみてください。
 注意: 2) のレコード条件については、作成と削除を禁じるための設定をさらに行う必要があるので追って説明します。とりあえずこの図では「すべてアクセスなし」という表示になっています。


3. さて、ここでレコードの扱いをさらに細かく設定します。2) ではレコード入力は許可するが、作成と削除は禁止するということですので、今「すべてアクセスなし」となっている設定を、条件一覧より「カスタムアクセス権」を選択します。すると「カスタムレコードアクセス権」というダイアログが表示されます。


 Comment というテーブルを選択すると、そのテーブルに対するアクセス条件を設定できるようになります。ここで上記の条件に沿った設定を行うと次の図のようになります。レコードの作成と削除に「なし」が設定されていることに注目してください。


4. “OK”ボタンをクリックしてダイアログを閉じ、この「編集用」アクセス権セットを input アカウントに割り当てて動作を確認してみてください。

0 件のコメント: