フォームのアクセス権限の設定

アプリで、ユーザーごとに表示するデータの詳細画面変えたいですよね。今回は、アクセス権を設定してそこの操作を行いましょう。
メインフォームはフォームごとにアクセス権を設定することができます。
今回はその方法について説明します。

# 設定方法
Power Appsの画面で設定したいテーブルを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/a4f23128-7f57-e23f-81db-78fafef2ef18.png)

テーブルの詳細画面で[フォーム]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/a2a78504-5b43-7b24-9fd1-e6ee5a758014.png)


フォームの一覧画面で、設定したいメインフォームを選択し、[フォームの設定]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/0e5676cf-d010-3c6f-a95c-ec30c7f86dfa.png)


ここでセキュリティロールを設定します。規定では「すべてのユーザー」になっていますが、ここで「特定のセキュリティロール」を選択すると、セキュリティロールの設定ができます。見せたいセキュリティロールを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/18ad7be5-84ec-3368-96de-3e8cc97e198c.png)

しかし、ここで注意することがあります！左の「フォールバックフォーム」を開きます。
チェック項目がありますが、これがクリアできていない状態だとセキュリティロールを設定しても全員に表示されるままになってしまいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/c2431685-c8bd-6554-7b75-9db89d56feb9.png)

端的に説明すると、このチェックが外せないと上でセキュリティロールを設定しても、このフォームは全員に見えてしまいます。
チェックを外すには**もう一つフォームを作って**、どちらかのフォームにこのチェックをつけておく必要があります。

では、より深く理解するためにフォールバックがなんなのかについて解説します。

## フォールバックフォーム
フォールバックフォームは、セキュリティロールが割り当てられていないユーザーにも表示されるフォームです。
デフォルトでメインフォームは「フォールバックフォーム」になっています。

フォールバックフォームは１つのテーブルにつき、必ず１つないといけません。
その為、メインフォームが１つしかないときは「フォールバックとして有効」オプションがクリアできないようになっています。

メインフォームを２つ以上作ると少なくとも１つをフォールバックフォームにしておけばそれ以外をセキュリティロールごとに見える・見えないを制御できます。

## ２つのメインフォームを作った後
「フォールバックとして有効にする」のチェックを外して、[保存して公開]ボタンをクリックして完成です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/842d299f-9fff-00f6-1507-ef039da57e99.png)

これで、特定のセキュリティロールの人にしか表示されない詳細画面を作ることができました！

## ちなみに：クラシック画面での設定方法
昔の画面に慣れている方はこちらから設定することもできますので、試してみてください。

Power Appsの画面で左上の設定の歯車マークをクリックします。ここで表示されるメニューの中の「詳細設定」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/431428a0-9c88-8660-f44d-27420b3de1bf.png)

このような画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/dc657ba1-cec3-6b4c-a909-359fb3f265db.png)

上のバーの「設定」の横の[▽]をクリックして[カスタマイズ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/ef971594-216c-01a8-711d-61577bf19955.png)

[システムのカスタマイズ]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/035ee427-79ed-8e1f-0eb5-5c3a7ee609d3.png)

以下のようなウィンドウが表示される。左のメニューの[エンティティ]を選択します。（エンティティ=テーブル）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/7b289ee2-133c-60aa-8364-1c4d396934a1.png)

環境内のテーブルが表示されるため、ここで、該当のテーブルを選択します。
[フォーム]をクリックして、表示されるフォーム一覧で、設定したいメインフォームを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/2a513ca6-66d3-ac81-d600-f5504fc57553.png)

一覧の上にある「セキュリティ ロールの有効化」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/d5bb5288-314d-e3a7-1dc3-fd6ad0af4b8d.png)

ここで、「選択したセキュリティロールにのみ表示する」を選択し、セキュリティの割り当てを行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/29b3f454-92c3-f820-8504-2bee28a8dc1a.png)

「フォールバックとして有効」のチェックを外して、[OK]ボタンをクリックして完成です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/eea9e73b-a1f4-afbb-c3a5-b8f44ae1c24b.png)

ちなみにフォールバックフォームは、フォームの順序としては一番最後になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/766bc42c-1047-9f85-27a8-fd26f5ee0c27.png)