FILEMAKER

Claris FileMaker のアクセス権セットを知る(1):「事前定義済みアクセス権セット」とは

目次
1. はじめに
2. 「アクセス権セット」とは
3. 「事前定義済みアクセス権セット」について知っておくべきこと
4. [アクセス権セットの編集] ダイアログの構成
5. カスタムのアクセス権セットを作成する ー 2つのシナリオ
1)データの削除を禁止するアクセス権セット
2)データの表示を画面上のみに限定するアクセス権セット
6. 次のステップ

1. はじめに

情報セキュリティの基本原則の 1つに「最小権限の原則」があります。カスタム App を安全に運用するうえで、この原則に対応しておくことは極めて重要な課題です。

Claris FileMaker でこの「最小権限の原則」を実現するために利用できる機能の 1つが、「アクセス権セット」です。本ブログでは、アクセス権セットを適切に活用するためのポイントを複数回に分けて解説します。

今回はまず、カスタム App を新しく作成したときにあらかじめ定義されているアクセス権セット(事前定義済みアクセス権セット)を取り上げ、アクセス権セットを編集するために使用する [アクセス権セットの編集] ダイアログの概要を押さえます。次回以降は、[アクセス権セットの編集] ダイアログの設定項目を詳しく確認し、特に注意が必要な点や、FileMaker Pro に用意されている他のセキュリティ機能との関係性などを解説していきます。

※ 本ブログの記載内容は、FileMaker Pro 2025 (22.0.6) に基づいています。そのほかのバージョンをお使いの場合、設定項目や表示が一部異なることがあります。

2. 「アクセス権セット」とは

「最小権限の原則」は、各ユーザに対して必要最低限の権限のみを付与するというセキュリティの原則です。必要のない権限は付与しないことにより、システムセキュリティ上のリスクを最小限に抑え、被害が生じた場合の影響範囲を限定的なものにとどめることを目的としています。

開発したカスタム App 内のデータを保護するには、まず、アカウント認証の仕組みを使ってカスタム App にアクセスできるユーザを限定する必要がありますが、同時に、上記「最小権限の原則」の観点から対応を求められるのが、各ユーザにどのような操作を許可するかを定義し、アクセスを制御することです。例えば、以下のような点を明確にして、許可された操作以外は実行できないようにする必要があります。

  • レコード、フィールド、スクリプトに対してどのような操作を許可するか
  • メニューやレイアウトへのアクセスをどこまで許可するか
  • 印刷やエクスポートを許可するかどうか

「アクセス権セット」は、Claris FileMaker でこのような制御を行うためのさまざまなアクセス権を定義してまとめた機能です。アクセス権セットに含まれる個々のアクセス権は [アクセス権セットの編集] ダイアログで設定することができます。管理者は、各ユーザに付与する権限レベルに応じて複数のアクセス権セットを定義し、それをアカウントに割り当て、カスタム App へのアクセスを制御します。「アクセス権セット」は、カスタム App のセキュリティを確保するために必ず理解しておきたい機能と言えるでしょう。

3. 「事前定義済みアクセス権セット」について知っておくべきこと

FileMaker Pro には、「事前定義済みアクセス権セット」として以下の 3つが用意されており、カスタム App を新規作成すると自動で追加されます。管理者は、必要に応じて事前定義済みアクセス権セットを複製してカスタマイズするか、または新規にアクセス権セットを作成します。

  • 完全アクセス
  • データ入力のみ
  • 閲覧のみアクセス

この 3つのうち、[完全アクセス] アクセス権セットは、名前のとおり、ファイルへの全面的なアクセスを許可します。対して、[データ入力のみ] アクセス権セットと [閲覧のみアクセス] アクセス権セットは、限定的にアクセスを許可するアクセス権セットです。

ここで皆さんに質問です。[データ入力のみ] アクセス権セットと [閲覧のみアクセス] アクセス権セットは、それぞれ、どんな操作を許可し、どんな操作を禁止しているのでしょう?

その答えは、Claris FileMaker Pro ヘルプの「事前定義済みアクセス権セットについて」の詳細なリストで確認できます。ちょっと不安な方は、リンクをクリックしてあらためて確認してみてください。

このヘルプページを見て、「あれ?」と思った方もいるかもしれません。[データ入力のみ] アクセス権セットと [閲覧のみアクセス] アクセス権セットは、それぞれの呼称(「入力のみ」「閲覧のみ」)から直感的に連想するイメージと実際に許可される操作との間に少々ギャップがあるので、注意が必要です。

下表では、カスタム App での主要な操作について、何が許可され何が許可されないのかを、事前定義済みアクセス権セットごとにまとめてみましたのでご覧ください。赤字部分に注目です。

[データ入力のみ] アクセス権セットでは、データの入力とレコードの作成のほか、編集、削除も許可されます。印刷やエクスポート、インポートも可能です。また、[閲覧のみアクセス] アクセス権セットでは、[データ入力のみ] アクセス権セット同様に、印刷やエクスポートが許可され、入力についても、グローバルフィールドであれば書き込みが可能です。

これらの点を押さえていないと、事前定義済みアクセス権セットをそのまま利用して、例えば、次のような事態を招いてしまうかもしれません。

  • あるスタッフに [データ入力のみ] アクセス権セットを割り当て、入力作業を依頼したが、操作ミスで既存のデータが削除されてしまっていた。このアクセス権セットでは削除操作はできないと思い込み対策をとっておらず、データを復元できない。
  • プロジェクトへの支援を依頼した他部署の社員に [閲覧のみアクセス] アクセス権セットを割り当て、あるカスタム App を共有した。データを見せるだけのつもりだったが、持ち出し不可のデータをエクスポートされてしまった。

上記のような事態を回避するには、カスタム App を利用するユーザに対して事前定義済みアクセス権セットをそのまま適用するのではなく、許可する操作・許可しない操作を明確にした上で、カスタムアクセス権セットを作成して付与します。

カスタムアクセス権セットは、事前定義済みアクセス権セットを複製してカスタマイズするか、または、新規にアクセス権セットを定義することで作成します。

では、その際に使用する、[アクセス権セットの編集] ダイアログの構成を確認してみましょう。

4. [アクセス権セットの編集] ダイアログの構成

[アクセス権セットの編集] ダイアログを開くには、まず [セキュリティの管理] ダイアログで [詳細設定...] ボタンをクリックして [詳細セキュリティ設定] ダイアログを開きます。新規にアクセス権セットを定義する場合は [新規...] ボタンをクリック、既存のアクセス権セットを編集する場合は [編集...] ボタンをクリックします。既存のアクセス権セットを複製して使用したい場合は、一覧の中にあるアクセス権セットを選択してから、[複製] ボタンをクリックします。

下の図は、[新規...] ボタンをクリックしたときの [アクセス権セットの編集] ダイアログです。 ダイアログは、以下の 4つの領域から構成されています。

チェックのオン / オフを切り替える項目のほか、複数のオプションの中から選択する項目もありますので、それらについては図中の項目の横にオプション値(ポップアップメニュー)も載せています。[データアクセスとデザイン] 領域の [レコード:] [レイアウト:] [値一覧:] [スクリプト:] では、ポップアップメニューの [カスタムアクセス権...] を選択することで別ダイアログを開き、さらにきめ細かく制御を行うことができます。

なお、事前定義済みアクセス権セット([完全アクセス]、[データ入力のみ]、[閲覧のみアクセス] )には、以下のような制約があります。

  • いずれも、カスタム App から削除することはできない([詳細セキュリティ設定] ダイアログの [削除] ボタンが無効で、クリックできない)
  • いずれも、[拡張アクセス権] 領域内の設定項目以外は編集できない([詳細セキュリティ設定] ダイアログの [編集...] ボタンをクリックして [アクセス権セットの編集] ダイアログを開くと、[拡張アクセス権] 以外の領域はグレーアウトしている)
  • [完全アクセス] アクセス権セットは複製できない([詳細セキュリティ設定] ダイアログの [複製] ボタンが無効で、クリックできない)

5. カスタムのアクセス権セットを作成する ー 2つのシナリオ

ここからは、具体的なシナリオに沿って、業務に不要な操作は禁じ、必要な操作のみを許可するアクセス権セットを作成してみましょう。

今回は、「データの削除を禁止する」場合と「データの表示を画面上のみに限定する」場合の 2つのシナリオを考えてみます。上述のとおり、事前定義済みアクセス権セットではこのようなシナリオに対応できないので、事前定義済みアクセス権セットの複製を作成し、設定項目をカスタマイズしていきます。前者では [データ入力のみ] アクセス権セット、後者では [閲覧のみアクセス] アクセス権セットをそれぞれ複製して使用することとします。

1) データの削除を禁止するアクセス権セット

1つ目は、複数のテーブルを含むカスタム App において、特定のテーブルのレコード削除操作を禁止したい、という場合です。ここでは、「商品管理 App において、データ入力担当スタッフが商品マスタテーブルのレコードの削除ができないようにする」ケースを考え、カスタムの「商品マスタ削除不可」アクセス権セットを作成します。

[データ入力のみ] アクセス権セットは、デフォルトではすべてのテーブルのレコードを削除できてしまうため、[データ入力のみ] アクセス権セットを複製し、「商品マスタ」テーブルのみレコード削除ができないように設定を変更します。

手順

  1. [詳細セキュリティ設定] ダイアログで、[データ入力のみ] アクセス権セットを選択し、[複製] をクリックします。
  2. 「データ入力のみ コピー」というアクセス権セットがリストの末尾に表示されたら、ダブルクリックして [アクセス権セットの編集] ダイアログを開きます。
  3. [アクセス権セットの名前] に「商品マスタ削除不可」と入力します。
  4. [データアクセスとデザイン] の [レコード:] で、[カスタムアクセス権...] を選択します。
  5. [カスタムレコードアクセス権] ダイアログのテーブルの一覧の中で「商品マスタ」を選択します。
  6. [アクセス権を設定:] の [削除] で [いいえ] を選択します。
  7. [OK] を何度かクリックし、[セキュリティの管理] ダイアログまで閉じて設定を保存します。

以上で設定完了です!商品マスタテーブルのみで削除を禁止するアクセス権セットを作成できました。

このシナリオでは、[アクセス権セットの編集] ダイアログから [カスタムレコードアクセス権] ダイアログを表示し、テーブルを指定してアクセス権(削除)を制限しました。

なお、[カスタムレコードアクセス権] ダイアログの [フィールドへのアクセス] 項目を使用すると、フィールド単位でさらに細かい設定をすることが可能です。詳細は、Claris FileMaker Pro ヘルプを参照してください。本ブログの続編でも取り上げる予定です。

2) データの表示を画面上のみに限定するアクセス権セット

2つ目は、データの表示を画面上のみに限定したい、という場合です。ここでは、[閲覧のみアクセス] アクセス権セットを複製して使用します。このアクセス権セットでは、印刷やエクスポート等でデータを取り出すことも可能になっているため、複製した設定をカスタマイズし「画面上で見るだけ」に限定した「参照のみ可」アクセス権セットを作成します。

手順
1. [詳細セキュリティ設定] ダイアログで、[閲覧のみアクセス] を選択し、[複製] をクリックします。
2.「閲覧のみアクセス コピー」というアクセス権セットがリストの未尾に表示されたら、ダブルクリックして
[アクセス権セットの編集] ダイアログを開き、[アクセス権セットの名前] に「参照のみ可」と入力します。
3. [データアクセスとデザイン] で、[レコード:] を [すべてのテーブルでの表示のみ] に変更します。(※)
4. [その他のアクセス権] で、以下のオプションを変更します。
- [印刷を許可]と [エクスポートを許可] のチェックボックスをオフ
- [利用できるメニューコマンド] を [最小] に変更
5. [OK] を何度かクリックし、[セキュリティの管理]ダイアログまで閉じて設定を保存します。

(※)なお、[スクリプト:] は[すべて実行のみ可能] のままにしています。詳細は、後続の「設定項目に関する考慮事項」を参照してください。

以上で設定完了です!「画面上で見る」ことのみ許可し、入力やエクスポートは禁止するアクセス権セットを作成できました。

設定項目に関する考慮事項

2 つ目のシナリオでは「見るだけ」という観点でのカスタマイズ例を示しましたが、皆さんの組織で実際にそのようなアクセス権セットを定義する場合は、カスタム App の仕様、実行環境、ポリシー等に応じて各項目をどう設定するのか慎重に判断する必要があります。以下に主な考慮事項を示しましたのでご参考ください。

  • [スクリプト:]:通常、カスタム App では、レイアウトを切り替えたり、データを表示したりする等の機能をスクリプトを使って実装します。[閲覧のみアクセス] アクセス権セットでは、[スクリプト:] 項目が [すべて実行のみ可能] となっており、そうした機能へのアクセスを制限していません。今回のシナリオでもすべてのスクリプトが実行可能な設定となっていますが、データの書き換えやエクスポートを行うスクリプトが含まれる場合、セキュリティ上の不備等から意図せず実行されてしまう恐れが生じます。実際の運用ではこうした事態を防ぐため、カスタム App 内の全スクリプトを把握し、権限のないユーザによる誤実行が起きないよう、アクセス権を含めたカスタム App 全体の設計を行う必要があります。なお、[スクリプト:] 項目の設定と注意点については、続編で取り上げます。

  • [利用できるメニューコマンド:]:ここを [すべて] または [編集のみ] に設定すると、[エクスポートを許可] を無効に設定していても、メニューバーの [編集] > [フィールド内容のエクスポート...] などからエクスポート操作ができてしまうため、今回は [最小] に変更しています。なお、[最小] を選択した場合はショートカットキーが無効になるなどユーザの操作が大幅に制限されます。必要に応じて、[最小] ではなく [すべて] か [編集のみ] を選択し、カスタムメニューやスクリプトを使って必要な制限を加えるアプローチについても検討します。

  • [アイドル状態の時、サーバーからユーザの接続を解除する] と [ユーザによるパスワードの変更を許可]:この 2 つは、他の項目と異なり、カスタム App 内の操作に関するアクセス権ではありません。実際の運用では、組織のポリシーに応じた設定を適用します。

6. 次のステップ

FileMaker Pro においてカスタム App のセキュリティを確保するには、[アクセス権セットの編集] ダイアログを使ってアクセス権セットを適切に設定し、運用することが不可欠です。今回のブログでは、その概要を説明し、よくあるシナリオを 2つ使って設定内容を変更してみました。

この [アクセス権セットの編集] ダイアログには実に多くの設定項目があり、使い方を知らないと「変更したのに、意図したように動作しない」となりかねません。ブログの続編では、設定時に特に注意したい項目を取り上げて詳細を解説しますので、ぜひご覧ください。

テストアプリを作成して「ここを変更するとこうなる」を試してみるのもよいでしょう。実際のカスタム App でアクセス権セットを編集する場合は、必ず実装前に動作テストを行い、当該編集によって意図せぬ領域に影響が及ぶことがないかを確認するようにしてください。

それでは、続編でまたお会いしましょう!