ファイルメーカーの使い方を覚えたいあなたの為のブログ【セキュリティに関する機能】

2019年03月29日 12:02 PM

FileMaker 17


FileMaker Pro(ファイルメーカー)の使い方12回目。長かったこのシリーズも今回で一区切りとなります。(この記事はFileMaker 17 時に作成しています。)

今回は、「セキュリティに関する機能」ということで

・アカウント

・アクセス権、アクセス権セット

についてご紹介していきます。

これはシリーズで連載しています。

①データを入力する器を作成する機能 V15V17V18V192024

②データを登録する機能 V15V17V18V19

③データを消去する機能 V15V17V18V19

④データを変更する機能 V15V17V18V19(入力を補助する機能をプラス)

⑤データをインポートする機能 V15V17V18V19

⑥データをエクスポートする機能 V16V17,18V19

⑦データを表示する機能 V16V17,18V19

⑧データを表示する画面を作成する機能 V16V17,18続編(V19)

⑨画面を印刷する機能 V17,18続編(V19)

⑩データを共有する機能 V17,18V19

⑪処理を自動化する機能 V17,18スクリプトトリガ編(V19)

⑫セキュリティに関する機能 V17,18FileMakerファイルの暗号化/通信の暗号化(V19)←今回はここです

セキュリティに関してはファイルメーカー社からセキュリティガイドがでている通り、大きくマニュアルにできるほど奥が深い内容になっています。

ここではその第一歩ともいえる、アカウントとアクセス権でセキュリティについて考えてみようと思います。

◇アカウント、アクセス権とは?

まずはアカウントとアクセス権とは一体なんでしょうか?

アカウントは普段使ったりすることもあるのでイメージしやすいのではないでしょうか。

アクセスするためのユーザー名とパスワードのセットのことで、使っているユーザーを特定させるためのものだったりもしますね。

ファイルメーカーでもそれと同じです。

ではアクセス権とはどういうものかというと、このユーザーにはこの動作は許可していますよ、これは許可していませんよという制限のことです。

ファイルメーカーではレコードやレイアウト、スクリプトなど様々な機能にアクセス権を設定できます。このアクセス権を組み合わせて登録したものをアクセス権セットと呼んでいます。

1つのアカウントには必ず1つのアクセス権セットを割り当てて使用します。

  • どこで設定するの?

アカウント、アクセス権は

「ファイル」メニュー⇒「管理」⇒セキュリティ

で開く、セキュリティの管理画面にて設定ができます。

  • 初期状態で設定されているもの

新規ファイルを作成したときに自動で作成・登録されているものがあります。

アカウントについては

・[ゲスト]

・Admin

という2つのアカウントが自動で作成されます。

アカウント「Admin」には[完全アクセス]というアクセス権セットが割り当てられていて、すでにアクティブになっています。

(アクティブ:このアカウントでログインができますよ、という状態)

アクセス権セットについては

・[完全アクセス]

・[データ入力のみ]

・[閲覧のみアクセス]

という3つのアクセス権セットが自動で作成されます。

(上の画像の「詳細設定の使用」ボタンを押してアクセス権セットタブを選択すると確認できます)

[完全アクセス]は、レイアウトのデザイン変更や、データベースの管理等、ファイルメーカーでのあらゆる操作が許可されているアクセス権セットです。

[データ入力のみ]は、レコードの作成/変更/削除が許可されているアクセス権セットです。レイアウトデザインの変更やデータベースの管理等はできません。

[閲覧のみアクセス]は、レコードの表示が許可されているアクセス権セットです。レイアウトデザインの変更、データベースの管理、レコードの作成/変更/削除等はできません。

※拡張アクセス権、ファイルアクセスについてはここでは説明を省きます。

○アカウントの設定

アカウントの設定をしてみましょう。

セキュリティの管理画面で「アカウント」タブを開きます。

まずは「Admin」のアカウントの編集をしましょう。

(※Adminには[完全アクセス]のアクセス権セットが割り当てられているため。)

「Admin」の行をダブルクリック、もしくは「Admin」を選択している状態で「編集」ボタンを押すと、アカウントの編集画面が表示されます。

「Admin」には完全アクセスが割り当てられているのにパスワードが設定されていません。

このままではセキュリティ的に非常に弱いですね。

アカウント名、パスワードを設定しましょう。

※完全アクセスのアカウント名、パスワードは忘れないようにしましょう。

忘れてしまうと、レイアウトの変更やフィールドの追加などできなくなってしまいます。

設定ができたら右下の「OK」ボタンを押します。

○アクセス権セットの割り当て

アカウントの設定方法はわかったでしょうか。

アカウントにはアクセス権セットを割り当てる必要がありますので、必要なアクセス権セットも作成してみましょう。

アクセス権はレイアウト毎、フィールド毎に設定ができますので、ある程度システムが作成できたらアクセス権セットを作成することをお勧めします。

新しいアクセス権セットを作成してみましょう。

アクセス権セットの画面から「新規」ボタンを押下します。

表示された画面で編集をしていきます。

アクセス権セットの名前:わかりやすい名前にしましょう。

説明:あとから見返したときにどんなアクセス権セットかわからないということがないように補足があれば書きます。

この下の部分がカスタマイズしていくアクセス権です。

データアクセスとデザイン:下記に従って編集しましょう。

レコード…

アクセスなし→データが見られない

表示のみ→見ることはできるが編集ができない

作成および編集→編集できるが、削除はできない

作成、編集、および削除→削除を含む編集ができる

カスタムアクセス権→テーブル単位、フィールド単位で制限がかけられる

レイアウト~スクリプト…

アクセスなし→閲覧も不可

表示のみ→閲覧はできるが編集は不可

変更可能→変更も可能

カスタムアクセス権→レイアウト、値一覧、スクリプトでそれぞれの作成単位で制限がかけられる

拡張アクセス権:共有ファイルにアクセス可能かどうか、共有ファイルへのアクセス方法を決める。例えば、「fmpapp」にチェックが付いていないと、共有ファイルは開けません。

ヘルプ:アクセス権セットの拡張アクセス権の編集

その他のアクセス権:必要に応じて変更をしましょう。

ちなみに、レコードをアクセスなしにすると↓

レイアウトをアクセスなしにすると↓

値一覧をアクセスなしにすると↓

(ドロップダウンスタイルで設定していても、ドロップダウンが表示されない)

さらに値一覧のスタイルがポップアップメニューで他の入力が許可されていないと↓

スクリプトをアクセスなしにすると↓

このような表示になります。

では、これを踏まえて、具体的に設定してみます。

例えば、在庫管理システムで考えてみると、

「一般ユーザーには在庫状況のデータ入力はしてほしいが、商品のマスタデータは変更させたくないのでマスタデータ登録するレイアウトは見られないようにする」

ということが考えられるでしょうか。

この設定を、商品マスタテーブルに対してしてみます。

「アクセス権セットの名前」は「一般ユーザー」とします。

一番上の「レコード」はカスタムアクセス権に設定していきます。

商品マスタのレコードの情報は見られるようにし(表示:はい)、

編集、作成、削除は「いいえ」を選び、この動作を許可しないようにします。

次の「レイアウト」もカスタムアクセス権に設定していきます。

商品マスタのレイアウトを選択し、

レイアウト:アクセスなし

に変更します。

その他については、必要に応じて変更をしましょう。

設定が終わったらOKを押して閉じます。

これでアカウントに割り当てられるアクセス権セットの作成ができました。

アカウントやアクセス権セットの変更が終わったらセキュリティの画面ウインドウを「OK」で閉じます。

この時に完全アクセス権のアカウントを聞かれるので、入力することで登録・変更が適用されます。キャンセルを押してしまうと、変更がすべて消えてしまうので注意してください。

レイアウトのアクセスを不可にすると下の画面表示になるということをお伝えしました。

ですが、実際の運用中、こんな画面だとちょっと格好悪いなぁ…となりますよね。

アクセス権セットでの制限は「アクセスできてしまったときに変更できないようにする最後の砦」と考えて、その前にスクリプトでレイアウトに遷移させない、レコードの編集させない、というような制限をかける運用をするとよいと思います。

以上、ファイルメーカーのセキュリティの第一歩ともいえるアカウントとアクセス権でのセキュリティの高め方をご紹介しました。

「FileMakerファイルの暗号化」と「通信の暗号化」によるセキュリティの高め方はこちら

ファイルメーカーはとても奥が深いプラットフォームです。

システムを作り進めていくと、どうしても行き詰ったり、解決方法がわからない問題が出てくることもあると思います。ヘルプを見たり、コミュニティで質問をしてみたり、イベントに参加して質問してヒントを得たりなど、解決への道筋はたくさんありますので参考にしてみてください。

また、弊社ではワークショップ(参加費無料)の主催や、「一緒に開発しましょう」トレーニング(有料)も行っておりますので、こちらも参考にしていただければと思います。