FileMakerデータソース使用の制限について
FileMakerにおける設計方法の1つとして、分離モデルがある。
分離モデルは、インターフェース用のファイルとデータ保管用のファイルを切り離し、レイアウトやスクリプトはインターフェース側に、本データはデータベース側に集中させる手法である。
ユーザー向けの窓口はインターフェースファイルのみとなるわけなので、データベース側のファイルは不用意に操作されないように注意する必要がある。
外部データソース指定によるアクセス
メニューバーから、
ファイル → 管理 → セキュリティ
→ (詳細設定 → )ファイルアクセス →「このファイルへの参照の使用に完全アクセス権を要求する」にチェック
とすると、データソースに指定するときに完全アクセス権での認証を必須にできる。(通常は非完全アクセス権でも可能 各ファイルにつき最初の1回だけ認証すればOK)
これをしていない場合、例えば1.ローカルに適当なファイルを作成
2.ターゲットのファイルをデータソースに指定(通常ユーザーのアカウントとパスワードで認証)
3.ターゲットのテーブルのテーブルオカレンスを作成
とすると、任意のレコードの閲覧、編集、削除が可能。(そのユーザーのアクセス権に応じて)
基本的にレコードデータが全て見える状態になってしまう。アクセス権次第では全削除なども可能であり、非常に危険。
「完全アクセス権を要求」設定は、最初の一度だけ認証すればよく、対策コストはほとんどかからないため全てのファイルに設定することが推奨される。FileMaker18からは、「完全アクセス権を要求する」設定がデフォルトになった。それ以前のバージョンを使用している場合には注意が必要。
データベースファイルへの直接アクセス
また、データベース側のファイル名を知っていれば、アドレスでファイル名を指定してデータベースファイルに直接アクセスすることができる。
対策としては、
・通常アカウントのアクセス権は 「レイアウト:すべてアクセスなし」を指定しておく
が最も強固だと考えられる。実装の都合上それが使えない場合、
1.ファイルを開いたときには「何もないレイアウト」を表示する
2.OnFirstWindowOpenスクリプトトリガで、フルアクセスでない場合はツールバーをロック
などで対応する。
投稿者プロフィール
-
スモールの未来探究部 所属
FileMaker開発エンジニア
最新の投稿
- FileMaker研究室2024年2月8日FileMaker WebDirectでアクセス時に発生する502エラーの解決方法
- FileMaker研究室2023年12月19日Webビューアで特定の座標のGoogleMapを表示
- FileMaker研究室2023年8月19日FelicaのIDmを取得する方法の模索
- FileMaker研究室2022年11月25日AWSでの環境構築録