🌐
画面レイアウトとの関係性
この記事では、ロールの「画面レイアウト」設定(項目ごとの閲覧・編集権限)が、APIによる項目値の取得・登録・更新、GUIでの変更予定の承認、メンバー追加・再入社の各操作にどのように影響するかを説明します。
📋 関連記事 画面レイアウトの基本的な設定手順は ロールの画面レイアウトを設定する を、メンバー項目・関連項目などの基本概念は YESOD ディレクトリーサービスのデータ構造について を前提としています。
画面レイアウトの権限モデルの基本GUI画面の表示・編集は画面ごとに判定される画面をまたいだ判定(OR判定)が使われる場面読み取りの場合(APIでの項目値取得)書き込みの場合(インポートAPI・GUIでの変更予定の承認)新規メンバー追加・再入社の場合まとめ関連記事
画面レイアウトの権限モデルの基本
「画面レイアウト」タブでは、画面ごとに項目を追加し、それぞれ「編集可能」のチェックの有無を設定できます。この操作によって付与される権限は、次のような関係になっています。
- 画面(レイアウト)に項目を追加した時点で、その画面での閲覧権限が付与されます。
- その項目の「編集可能」にチェックを入れると、閲覧権限に加えて編集権限も付与されます。
- 「編集可能」のチェックのみを外した場合、編集権限は失われますが、閲覧権限は残ります(項目は表示されたまま、編集不可になります)。
⚠️ 注意 「編集可能のチェックを外す」ことと「項目そのものをレイアウトから削除する」ことは意味が異なります。項目を削除すると、編集権限だけでなく閲覧権限も含めて完全に失われます。「編集だけをさせたくない」場合に誤って項目を削除しないようご注意ください。
GUI画面の表示・編集は画面ごとに判定される
メンバー情報を表示するGUIの画面には、それぞれ独自の権限設定を持つ画面が複数存在します。
| 画面 | 設定できる権限 | お客様側での設定変更 |
|---|---|---|
| パーソナル | 閲覧・編集 | 「画面レイアウト」タブから可能 |
| メンバー詳細 | 閲覧・編集 | 「画面レイアウト」タブから可能 |
| 会社詳細 | 閲覧・編集 | 「画面レイアウト」タブから可能 |
| 組織詳細 | 閲覧・編集 | 「画面レイアウト」タブから可能 |
| 事業所詳細 | 閲覧・編集 | 「画面レイアウト」タブから可能 |
| プロジェクト詳細 | 閲覧・編集 | 「画面レイアウト」タブから可能 |
| 動的グループ詳細 | 閲覧・編集 | 「画面レイアウト」タブから可能 |
| 従業員クリック時詳細 | 閲覧のみ | 不可(CSまでお問い合わせください) |
| 新規メンバー登録画面 | 閲覧・編集 | 不可(CSまでお問い合わせください) |
| 組織図ポップアップ画面 | 閲覧のみ | 不可(CSまでお問い合わせください) |
| 従業員一覧画面 | 閲覧のみ | 不可(CSまでお問い合わせください) |
これら11の画面は、いずれも他の画面の設定を参照せず、その画面自体の設定だけで「その項目を表示するか」「編集を許可するか」を判定します。そのため、ある画面で項目を非表示・編集不可にしていても、別の画面では同じ項目が閲覧・編集可能になっている、ということが起こり得ます。画面同士の設定は互いに影響しません。
📋 関連記事 上記「画面レイアウト」タブから編集可能な7画面の設定手順は ロールの画面レイアウトを設定する を、各画面が実際にどこで表示されるかは メンバーを表示する画面の種類 を参照してください。
⚠️ 注意 「メンバー詳細」画面である項目を非表示・編集不可にした場合、「パーソナル」画面に同じ項目が閲覧・編集可能な設定で含まれていても、メンバー詳細画面側の表示・入力可否には影響しません。画面ごとに個別に設定内容を確認してください(次の項目で説明するAPI・書き込み確定処理とは判定範囲が異なります)。
画面をまたいだ判定(OR判定)が使われる場面
GUIの画面表示とは異なり、APIでのデータの取得・登録や、GUIでの変更予定の承認のように「実際にデータを読み書きする処理」では、特定の画面の設定ではなく、ロールが持つすべての画面を横断した判定(画面横断のOR判定:いずれか1つの画面で権限があればOK)が使われます。
このとき、読み取りか書き込みかで必要な権限が異なります。
| 処理 | 具体例 | 必要な権限 |
|---|---|---|
| 読み取り | クエリAPI・グループAPIなどでの項目値の取得 | 閲覧権限(いずれか1画面にあればOK。編集権限は不要) |
| 書き込み | メンバー/トランザクションインポートAPI、GUIでの変更予定の承認 | 編集権限(いずれか1画面にあればOK。閲覧権限だけでは不可) |
⚠️ 注意 このため、GUIの特定の画面(例:メンバー詳細画面)には表示されていない項目でも、他の画面(例:パーソナル画面)に権限があれば、APIでは取得・更新できる場合があります。「GUIのその画面で見えている・編集できる項目」と「API・承認でアクセスできる項目」は必ずしも一致しません。
読み取りの場合(APIでの項目値取得)
APIトークンを使って項目の値を取得する場合、複数ある画面レイアウトのうち、いずれか1つの画面でその項目に閲覧権限が付与されていれば、値を取得できます。すべての画面で権限をそろえる必要はなく、編集権限までは不要です。
💡 ポイント APIで想定した項目の値が返ってこない場合は、「特定の1画面」だけを確認するのではなく、そのAPIトークンに紐づくロールが持つ全ての画面レイアウトを確認し、どの画面にもその項目の閲覧・編集設定がない状態になっていないかをチェックしてください。
書き込みの場合(インポートAPI・GUIでの変更予定の承認)
メンバー/トランザクションインポートAPIでの登録・更新や、GUIでの変更予定の承認では、対象に含まれるすべての項目について、いずれかの画面レイアウトで編集権限が付与されている必要があります。1件でも編集権限が欠けている項目があると、処理全体が失敗します。閲覧権限だけでは足りません。
⚠️ 注意 「メンバー詳細画面」に限らず、その項目を含むいずれかの画面レイアウト(パーソナル画面など)で編集権限が付与されていれば処理できます。「メンバー詳細画面での編集権限が必須」というわけではありません。
GUIでの承認については、「変更予定の閲覧」と「変更予定の承認(適用)」で判定のタイミングが異なる点にも注意してください。
- 閲覧権限が不足している項目は、変更予定の画面上では値がマスクされて表示されるだけで、変更予定自体は開けます。
- 編集権限が不足している項目が含まれる場合にエラーになるのは、「承認」を実行しようとしたタイミングです。実際には次のようなメッセージが表示されます。
対象データへの書き込み権限がないため、この操作を完了できませんでした。権限を持つ管理者にお問い合わせください。
💡 ポイント この「対象に含まれる全項目に編集権限が必要」という制約は、GUIの承認操作に限らず、メンバー/トランザクションインポートAPIでの登録・更新や、CSVインポートによる自動反映など、データを書き込むすべての処理に共通の仕組みです。