> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 権限とアクセス

> モジュールとアクションの付与、従業員タイプのテンプレート、個人ごとの上書き、メールによる招待、現場用の PIN アカウントを使って、管理者が Alforse で誰が何を閲覧・変更できるかを制御する方法。

管理者は権限を使って、会社内の各ユーザーが閲覧・実行できることを決めます。Alforse のアクセスは暗黙には与えられません。すべての権利は、販売や在庫などのモジュールと、アクション（表示、作成、更新、削除）を組み合わせた明示的な**付与**であり、付与を一切持たないユーザーはサインインできても、モジュールを 1 つも開けません。

関連ページ：従業員レコードについては[人員](https://docs.alforse.com/ja/docs/reference/people.md)、同じモデルでのプログラムからのアクセスについては[APIキー](https://docs.alforse.com/ja/docs/building/api-keys.md)、サインインのセキュリティについては[二要素認証](https://docs.alforse.com/ja/docs/reference/two-factor.md)。

## 概要

| 概念 | 内容 | 管理する場所 |
| - | - | - |
| **付与** | 1 つのモジュールと 1 つのアクションの組み合わせ。例：`sales_view`。 | あらゆる権限マトリクス |
| **従業員タイプ** | 付与の再利用可能なテンプレート。 | **ユーザー → 従業員タイプ** |
| **個人ごとの上書き** | 1 人のテンプレートに対する例外。 | **ユーザー → アカウント** |
| **一括エディター** | 多数のユーザーの付与を一度に追加または置き換えます。 | **ユーザー → アカウント** |
| **招待** | 新しいユーザーが参加し、最初の付与を受け取る方法。 | **ユーザー → アカウント** |
| **コンソールオペレーター** | 共有の現場ステーション用の、PIN のみのアカウント。 | **ユーザー → 作業者** |

## モジュールとアクションのモデル

### 付与の名前

付与は `<module>_<action>` の形式で表します。例：`sales_view`、`inventory_update`、`purchasing_create`。`sales_view` は販売レコードの読み取りを、`inventory_update` は在庫の編集を許可します。ある付与が別の付与を含意することはありません。

### モジュール

モジュールの一覧は固定されており、権限テーブルはそれ以外のキーを拒否します。

会計、ドキュメント、請求、在庫、メッセージ、部品、人員、印刷、生産、購買、品質、リソース、販売、設定、ユーザー、ワークフロー。

さらに 2 つの内部モジュール、アイテムとタイムカードは、権限画面には表示されないため、上の一覧が編集可能なすべてです。

### アクション

各モジュールの行には、そのモジュールが対応するアクションだけが、次の 4 つから選ばれて表示されます。

FieldType

<details>
  <summary>**view**</summary>

  モジュールのレコードを閲覧します。これがないと、モジュールのページはユーザーに完全に非表示になります。
</details>

<details>
  <summary>**create**</summary>

  レコードを追加します。
</details>

<details>
  <summary>**update**</summary>

  既存のレコードを変更します。
</details>

<details>
  <summary>**delete**</summary>

  レコードを削除します。
</details>

### 権限マトリクス

権限を編集するすべての場所で、同じマトリクスを使います。**モジュールごとに 1 行、アクションごとに 1 つのチェックボックス**です。

* セルをクリックすると、1 つの付与を切り替えます。
* 行をクリックすると、モジュール全体をオンまたはオフにします。
* ヘッダーをクリックすると、すべてを選択します。

従業員タイプのテンプレート、個人の上書き、一括エディター、APIキーのスコープは、すべてこの同一のマトリクスを使うため、一度覚えれば十分です。

### 会社の範囲

NOTE

**付与は会社ごとに適用されます**

各付与は、対象となる会社を記録するため、1 人のユーザーが所属する会社ごとに異なる権利を持てます。画面は常に、現在いる会社の権限を編集します。特別な値 `"0"` は「すべての会社」を表し、会社をまたぐ真の管理者を表現する方法です。複数の会社にまたがるユーザーについては、[複数会社の設定](https://docs.alforse.com/ja/docs/reference/intercompany.md)を参照してください。

### 2 層の強制

Alforse はすべての付与を 2 回チェックします。

1. **アプリ内**で、画面とボタンを表示または非表示にするため。
2. **データベース内**で、行レベルセキュリティによって。インターフェースを迂回したリクエストでも、付与の対象外のデータには到達できません。

データベース層があるからこそ、同じモデルが、スコープがまさにこの `module_action` 形式を使う[APIキー](https://docs.alforse.com/ja/docs/building/api-keys.md)にも安全に使えます。

## 従業員タイプ

### チェックボックスの代わりにテンプレート

**従業員タイプ**は、名前付きの付与のセットです。入社のたびに何十ものセルにチェックを入れる代わりに、タイプを一度定義し、たとえば購買の全権限と在庫の表示のみを持つ「購買担当者」を作り、それを割り当てます。その付与が、割り当てた全員の出発点になります。

タイプは**ユーザー → 従業員タイプ**で編集します。これは、カスタム権限を含むプランで利用できます。

HEADS UP

**タイプを変更しても、すでにそのタイプにいるユーザーは変わりません**

タイプの付与は、割り当てるときにコピーされます。後でタイプを編集しても、*その後*に割り当てられたユーザーにしか影響しません。すでにそのタイプにいる全員は、現在の付与を保持します。既存のスタッフを更新するには、[一括権限エディター](#overrides-and-bulk-edits)を使います。

### システムタイプ

2 つのタイプはあらかじめ用意されており、削除できません。それぞれ固定の `systemType` 値を持つため、Alforse の内部参照を壊さずに、ラベルの名前を変更できます。

FieldType

<details>
  <summary>**管理者（Admin）**</summary>

  フルアクセス。会社の Alforse の設定を管理する人に付与します。
</details>

<details>
  <summary>**コンソールオペレーター（Console Operator）**</summary>

  現場の PIN アカウントに使用されます。作業者を追加すると Alforse が自動的に割り当てるため、手動で割り当てることはありません。
</details>

それ以外のタイプは、作成、名前変更、削除ができます。会社が保持できるシステム種別のタイプは、各種別につき最大 1 つです。

## 上書きと一括編集

### 個人ごとの上書き

**ユーザー → アカウント**では、各従業員のマトリクスは、その従業員タイプから始まります。セルにチェックを入れたり外したりすると、そのユーザーだけの例外が記録され、タイプ自体は変わりません。

ユーザーを別のタイプに移すと、Alforse は、現在の付与を新しいテンプレートで置き換えるか、そのまま保持するかを尋ねます。

### 一括権限エディター

多数のユーザーを一度に変更するには、ユーザーを選択し、モードを選んで、マトリクスを設定します。

FieldType

<details>
  <summary>**権限を追加**</summary>

  各ユーザーがすでに持っているものに、選択した付与を追加します。何も削除されません。
</details>

<details>
  <summary>**権限を更新**</summary>

  選択した各ユーザーの権限セット全体を、マトリクスで置き換えます。
</details>

従業員タイプの変更を既存のスタッフに展開したり、部門全体に新しいモジュールを一度に与えたりするために使います。**追加**は「全員にこれらも与える」、**更新**は「全員をまさにこの状態にする」という意味なので、上書きするつもりがある場合にのみ**更新**を選んでください。

### 変更が反映されるタイミング

NOTE

**変更は、ユーザーの次のリクエストから適用されます**

速度のために、Alforse は各ユーザーの有効な権限をキャッシュし、付与を変更するたびにそのキャッシュをクリアするため、新しい権利は次のリクエストから適用されます。それでも変更が反映されないように見える場合は、ほぼ間違いなくセッションが古い状態です。サインアウトして再度サインインすると、最新の状態が読み込まれます。

## ユーザーを招待する

### 招待の仕組み

他のユーザーのパスワードを設定することはありません。代わりにメールで**招待**し、受け入れるときに本人が自分のサインインを作成します。

1. **ユーザー → アカウント**に移動します。
2. 名前、メール、従業員タイプ、ロケーションを指定して、従業員を追加します。
3. Alforse はアカウントを作成し、招待を記録して、参加を完了するためのリンクをメールで送信します。

招待は、メールをキーとする、会社単位のレコードです。ユーザーが最初に持つ付与を含んでいるため、承諾した瞬間からアクセスの準備ができています。

### アカウントのステータス

従業員のステータスは、招待とアカウントから導かれます。

<details>
  <summary>**招待済み**</summary>

  招待は送信されましたが、承諾されていません。リンクを使うまで、ユーザーはサインインできません。
</details>

<details open>
  <summary>**有効**</summary>

  招待が承諾され、アカウントが通常どおり使用されています。
</details>

<details>
  <summary>**無効**</summary>

  アカウントが無効化された、または承諾前に招待が取り消されました。アクセスはありません。
</details>

### 招待と退職者の管理

* アカウント一覧から、未処理の招待を**再送**または**取り消し**できます。
* 有効な従業員を**無効化**すると、会社から削除し、付与を剥奪して、無効としてマークします。ほかの会社にも所属している可能性があるため、そのユーザー自体は削除されません。完全なレコードについては[人員](https://docs.alforse.com/ja/docs/reference/people.md)を参照してください。

## 現場用の PIN アカウント

### コンソールオペレーターとは

**コンソールオペレーター**は、メールのログインではなく**4 桁の PIN** で、共有ステーションから [MES](https://docs.alforse.com/ja/docs/reference/mes.md) にサインインします。これらは別種のアカウントです。

### 作業者を追加する

1. **ユーザー → 作業者**に移動します。この画面は、会社でコンソールモードが有効な場合にのみ表示されます。
2. 名前とロケーションを入力します。
3. Alforse は、メールのログインを持たない軽量のアカウントを作成し、**コンソールオペレーター**の従業員タイプを割り当て、4 桁の PIN を生成します。
4. この場で PIN をコピーしてください。Alforse はそのハッシュだけを保存するため、PIN は一度しか表示されません。

現場では、作業者が自分の名前をタップして PIN を入力します。Alforse は、セッションを開始する前にそれを確認します。

### PIN のリセットまたは設定

| タスク | 場所 | 必要な権限 |
| - | - | - |
| 作業者が忘れた PIN をリセットする | **ユーザー → 作業者** | `users_update` |
| ほかの従業員にコンソール PIN を設定する | **アカウント**一覧の**コンソールPINを設定** | `users_update` と `settings_update` |

リセットすると新しい PIN が生成され、古い PIN はすぐに使えなくなります。通常の従業員に PIN を設定するには、追加の設定権限が必要です。その PIN を持つ人は、現場でその従業員として行動できるためです。

### PIN のロックアウト

| 制限 | 範囲 | 効果 |
| - | - | - |
| 15 分間に 5 回の誤った PIN | 1 人のユーザー、すべてのステーションにわたって | そのユーザーの PIN 入力がロックされます。ロックは最初は 1 分間で、繰り返すと倍になります。その後に正しい PIN を入力すると、回数がクリアされます。 |
| 15 分間に 30 回の誤った PIN | 1 つのステーション、全員にわたって | ステーションに上限がかかります。同じログインでサインインしているステーションは、この上限を共有します。 |

### 作業者をフルユーザーに変換する

NOTE

**作業者はフルユーザーに昇格できます**

PIN アカウントが ERP への本格的なアクセスを必要とする場合は、メールと完全な従業員タイプを与えます。Alforse は同じユーザーを通常の招待ユーザーに変換し、以前の現場での活動は、その 1 つの ID に紐づいたまま残ります。

### PIN アカウントが制限される理由

PIN アカウントが保持するのは、コンソールオペレーターのタイプが許可する付与だけです。これは意図的なもので、紛失した、または共有されたタブレットから、Alforse の事務所側にアクセスできないようにするためです。作業者自身のワークフロー（出勤の打刻、数量の報告、材料の払い出し）については、[MES リファレンス](https://docs.alforse.com/ja/docs/reference/mes.md)を参照してください。

## トラブルシューティング

| メッセージまたは症状 | 原因 | 対処 |
| - | - | - |
| 「Incorrect PIN」（PIN が正しくありません） | PIN が作業者のアカウントと一致しない。 | 再入力するか、**ユーザー → 作業者**でリセットする。 |
| 「Too many incorrect PINs. Please wait a few minutes and try again.」（誤った PIN が多すぎます。数分待ってからもう一度お試しください。） | [PIN のロックアウト](#pin-lockouts)の制限に達した。 | 待つ。その後に正しい PIN を入力すると、回数がクリアされる。 |
| 「No PIN set. Ask an admin to set a console PIN for you.」（PIN が設定されていません。管理者にコンソール PIN の設定を依頼してください。） | ユーザーに PIN がない。PIN は常に管理者が生成するもので、現場で選ぶことはない。 | 作業者には**PINをリセット**、ほかの従業員には**コンソールPINを設定**を使う。 |
| 「Group members are required」（グループのメンバーは必須です） | 一括操作（権限編集、グループ編集、無効化、招待の再送または取り消し）が、誰も選択されていない状態で実行された。 | 少なくとも 1 人のユーザーを選択する。 |
| ユーザーはサインインできるが、何も表示されない | 必要なモジュールの `<module>_view` がない。 | タイプまたは上書きで、必要な `<module>_<action>` を付与する。 |
| 従業員タイプを編集したのに、既存のユーザーが変わらなかった | タイプが初期設定するのは、変更後に割り当てられたユーザーだけ。 | 一括エディターを使う。上書きするなら**更新**、重ねるなら**追加**。 |
| 権限の変更が反映されていないように見える | ユーザーのセッションが古い。 | サインアウトして、再度サインインしてもらう。 |
| **ユーザー → 作業者**がない | 会社でコンソールモードが有効になっていない。 | コンソールモードを有効にするか、**アカウント**で通常のユーザーを招待する。 |

## 各要素の場所

**人員**

これらの権限が適用される個々のアカウント。

[Open](https://docs.alforse.com/ja/docs/reference/people.md)

**APIキー**

同じモジュールとアクションのスコープを使う、プログラムからのアクセス。

[Open](https://docs.alforse.com/ja/docs/building/api-keys.md)

**MES アプリ**

コンソールオペレーターが PIN でサインインし、現場を運営する場所。

[Open](https://docs.alforse.com/ja/docs/reference/mes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.