入力ページや入力値の共有設定は親レコードである申請に従うため、申請レコードを参照できるユーザーは、それに紐づく入力ページや入力値も参照できます。
フォームテンプレート上の設定で入力値の表示を制御している場合でも、入力値レコード自体の参照権限は申請レコードの共有設定に従います。この点を理解したうえで構築を行ってください。
入力ページ・入力値の共有設定の仕組み
入力ページおよび入力値オブジェクトは、申請オブジェクトの子レコード(主従関係)です。
主従関係における共有設定は親レコードに従うため、以下の動作になります。
| 親オブジェクト | 子オブジェクト | 共有設定の動作 |
|---|---|---|
| 申請(docutizeform__InputData__c) | 入力ページ(docutizeform__InputPage__c) | 申請の共有設定に従う |
| 入力ページ(docutizeform__InputPage__c) | 入力値(docutizeform__InputValue__c) | 入力ページの共有設定に従う |
つまり、ある申請レコードを参照できるユーザーは、その申請に紐づくすべての入力ページ・入力値も参照可能です。
フォームテンプレート上の表示制御に関する注意事項
カミレスのフォームテンプレートでは、ユーザーの権限に応じた設定や関連設定などを使用して、申請画面上で特定の入力値を非表示にすることが可能です。
ただし、これらの設定はあくまで 申請画面上の表示制御 であり、入力値レコード自体のアクセス権限を制御するものではありません。
フォームテンプレート上で入力値を非表示に設定していても、以下のような方法で入力値レコードを参照される可能性があります。
- 関連リストからの参照
- レコード詳細ページへの直接アクセス(URLを指定してのアクセス)
- リストビューやレポートからの参照
- API(SOQL クエリ等)による取得
フォームテンプレート上の表示制御は、セキュリティ対策としては使用しないでください。申請レコードを参照できるユーザーは、それに紐づく入力ページや入力値も参照できることを前提として構築を行ってください。