スクリプトを「フルアクセス権で実行」にする理由とは?
FileMakerで業務システムを作っていると、「この処理だけは、権限に関係なく確実に実行したい」「一部のユーザーにはレイアウトやフィールドを触らせたくないけれど、スクリプト経由なら処理させたい」といった場面が出てきます。
こうしたときに役立つのが「スクリプトをフルアクセス権で実行」という設定です。ただし、仕組みをよく理解せずに使うと、セキュリティ上の穴を作ってしまうこともあります。
この記事では、「そもそも何のための設定なのか?」という基本から、「どこで、どうやって設定するのか?」まで、できるだけ専門用語を避けながら分かりやすく解説します。
「スクリプトをフルアクセス権で実行」とは?
FileMakerのスクリプトには、通常は「そのユーザーが持っている権限」の範囲でしか実行できない、というルールがあります。たとえば、あるテーブルに書き込み権限がない人は、そのテーブルにレコードを新規作成するスクリプトを動かしてもエラーになってしまいます。
「スクリプトをフルアクセス権で実行」は、この制限を一時的に解除して、そのスクリプトだけは、フルアクセス権を持つアカウントと同じレベルで処理させる機能です。ユーザー本人には権限がなくても、スクリプト経由ならレコードの編集や削除、フィールド定義の変更を伴わない設定の変更(例えば一部のスクリプト設定やグローバルフィールド値の設定など)が可能になります。
イメージとしては、「普段は一般社員だけれど、このスクリプトを実行するときだけ、管理者の代理で作業できる」といった感じです。
どんな場面で使うと便利?
- 一般ユーザーには編集させたくない設定を、スクリプトでだけ変更させたいとき
例:初期設定テーブルの一部項目を、特定の画面操作からだけ変えさせたい。 - 権限では禁止している操作を、スクリプトの中でだけ例外的に許可したいとき
例:通常はレコード削除を禁止だが、「論理削除」や「退会処理」など特定の手順に限って削除したい。 - ファイル全体の権限を緩めたくないが、一部の自動処理には強い権限が必要なとき
例:夜間バッチ処理、集計の自動更新、管理テーブルのメンテナンスなど。
ポイントは、「ユーザーにフルアクセス権を渡すのではなく、必要な処理だけを安全に代理実行させる」ための仕組みだということです。
設定前に押さえておきたい注意点
便利な一方で、使い方を間違えると「実は誰でもなんでもできてしまう」危険な状態になることもあります。以下のポイントは必ず意識しておきましょう。
- ユーザーインターフェースから到達できるスクリプトだけにする
メニューやボタンから直接呼べるスクリプトに、この設定を多用すると、想定外の操作ができてしまう可能性があります。 - 入力チェックや条件分岐を丁寧に行う
例えば、削除処理なら「本当に削除してよいレコードか?」「必要な権限のあるユーザーか?」などをスクリプト内できちんと確認します。 - テストは必ず別アカウントで行う
フルアクセス権アカウントでテストすると、制限が効いているかどうか確認できません。一般ユーザー用のテストアカウントを必ず用意しましょう。
「フルアクセス権で実行」の設定手順
ここからは、実際にどこで設定するのかを手順で見ていきます。画面や名称は、バージョンによって多少異なる場合がありますが、基本的な流れはほぼ同じです。
- スクリプトワークスペースを開く
FileMakerで対象のファイルを開いた状態で、メニューから「スクリプト」→「スクリプトワークスペース…」を選びます。 - 対象のスクリプトを選択する
左側の一覧から、フルアクセス権で動かしたいスクリプトをクリックします。新しく作る場合は「+」ボタンなどで新規作成してください。 - スクリプトオプションを開く
スクリプト名の横の「歯車」アイコン、またはスクリプトメニュー内の「オプション…」などを選び、スクリプトオプションのダイアログを開きます。 - 「フルアクセス権で実行」にチェックを付ける
オプション画面の中にある「フルアクセス権で実行」のチェックボックスをオンにします。 - スクリプト名や説明欄で分かりやすくしておく
後から見ても分かるように、スクリプト名の先頭に「[FA]」などと付ける人もいます。説明欄に「このスクリプトはフルアクセス権で動作します」などと書いておくと管理しやすくなります。
安全に運用するためのコツ
最後に、実務で使う際に意識しておきたい運用のコツをいくつか挙げます。
- フルアクセス権で実行するスクリプトは最小限に絞る
「なんとなく全部にチェック」というのは危険です。本当に必要な処理だけに限定しましょう。 - ボタンやメニューの権限も合わせて見直す
フルアクセス権スクリプトを呼び出すボタンやメニューが、誰でも押せる状態になっていないか確認します。 - ログを残す仕組みを検討する
重要な処理(削除や設定変更など)は、誰がいつ実行したかを記録するテーブルを用意しておくと安心です。 - 定期的にスクリプト一覧を棚卸しする
開発が進むと、「昔作ったフルアクセス権スクリプト」が放置されがちです。半年〜1年に一度くらいは見直して、不要なものは削除・整理しましょう。
まとめ:強力だからこそ、ルールを決めて使おう
「スクリプトをフルアクセス権で実行」は、FileMakerの中でも特に強力な機能のひとつです。うまく使えば、ユーザーに余計な権限を渡さずに済み、システム全体の安全性を保ちながら柔軟な運用ができます。
一方で、設定したスクリプトがどこからでも呼び出せる状態だったり、入力チェックが甘かったりすると、思わぬトラブルの原因にもなります。「どのスクリプトに付けるのか」「誰がどういう手順で実行できるのか」をあらかじめルール化しておくことが大切です。
まずは、小さな管理用スクリプトから「フルアクセス権で実行」を試し、その挙動に慣れてから、徐々に重要な処理へ広げていくと安全です。必ずテスト用アカウントを使って動作確認を行いながら、安心して使える仕組みを整えていきましょう。