> ## 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의 액세스는 암묵적으로 주어지지 않습니다. 모든 권리는 영업이나 재고 같은 모듈과 작업(보기, 생성, 업데이트, 삭제)을 짝지은 명시적인 **권한 부여**(grant)이며, 권한이 하나도 없는 사람은 로그인할 수는 있지만 어떤 모듈도 열 수 없습니다.

관련 페이지: 직원 레코드는 [인원](https://docs.alforse.com/ko/docs/reference/people.md), 동일한 모델의 프로그래밍 방식 액세스는 [API 키](https://docs.alforse.com/ko/docs/building/api-keys.md), 로그인 보안은 [2단계 인증](https://docs.alforse.com/ko/docs/reference/two-factor.md)을 참조하십시오.

## 개요

| 개념 | 역할 | 관리하는 위치 |
| - | - | - |
| **권한 부여** | 모듈 하나 + 작업 하나. 예: `sales_view`. | 모든 권한 매트릭스 |
| **직원 유형** | 재사용 가능한 권한 부여 템플릿. | **사용자 → 직원 유형** |
| **사람별 재정의** | 한 사람의 템플릿에 대한 예외. | **사용자 → 계정** |
| **일괄 편집기** | 여러 사람의 권한을 한꺼번에 추가하거나 교체. | **사용자 → 계정** |
| **초대** | 새 사람이 합류하고 시작 권한을 받는 방법. | **사용자 → 계정** |
| **콘솔 작업자** | 공유 현장 스테이션용 PIN 전용 계정. | **사용자 → 작업자** |

## 모듈-작업 모델

### 권한 부여 이름

권한 부여는 `<module>_<action>` 형식으로 표기합니다. 예: `sales_view`, `inventory_update`, `purchasing_create`. `sales_view`는 영업 레코드를 읽을 수 있게 하고, `inventory_update`는 재고를 편집할 수 있게 합니다. 어떤 권한 부여도 다른 권한을 암시하지 않습니다.

### 모듈

모듈 목록은 고정되어 있으며 권한 테이블은 다른 키를 거부합니다.

회계, 문서, 송장 관리, 재고, 메시징, 부품, 인원, 인쇄, 생산, 구매, 품질, 자원, 영업, 설정, 사용자, 워크플로우.

내부 모듈 두 개, 즉 품목과 타임카드는 권한 화면에 나타나지 않으므로 위 목록이 편집할 수 있는 전부입니다.

### 작업

각 모듈 행은 해당 모듈이 지원하는 작업만 표시하며, 다음 네 가지 중에서 선택됩니다.

FieldType

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

  모듈의 레코드를 봅니다. 없으면 모듈의 페이지가 사용자에게 완전히 숨겨집니다.
</details>

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

  레코드를 추가합니다.
</details>

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

  기존 레코드를 변경합니다.
</details>

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

  레코드를 제거합니다.
</details>

### 권한 매트릭스

권한을 편집하는 모든 곳에서 동일한 매트릭스를 사용합니다. **모듈마다 한 행, 작업마다 한 체크박스**입니다.

* 셀을 클릭하면 권한 부여 하나가 토글됩니다.
* 행을 클릭하면 모듈 전체가 켜지거나 꺼집니다.
* 헤더를 클릭하면 전체가 선택됩니다.

직원 유형 템플릿, 한 사람의 재정의, 일괄 편집기, API 키의 범위가 모두 이 동일한 매트릭스를 사용하므로 한 번만 익히면 됩니다.

### 회사 범위

NOTE

**권한 부여는 회사별로 적용됩니다**

각 권한 부여는 적용되는 회사를 기록하므로 한 사람이 속한 각 회사에서 서로 다른 권리를 가질 수 있습니다. 화면은 항상 현재 접속한 회사의 권한을 편집합니다. 특수 값 `"0"`은 "모든 회사"를 의미하며 진정한 회사 간 관리자를 나타내는 방식입니다. 여러 회사에 걸쳐 있는 사람은 [다중 회사 설정](https://docs.alforse.com/ko/docs/reference/intercompany.md)을 참조하십시오.

### 두 계층의 강제

Alforse는 모든 권한 부여를 두 번 검사합니다.

1. 화면과 버튼을 표시하거나 숨기기 위해 **앱에서**.
2. 행 수준 보안을 통해 **데이터베이스에서**. 따라서 인터페이스를 우회하는 요청도 권한 부여가 포함하지 않는 데이터에는 접근할 수 없습니다.

데이터베이스 계층 덕분에 정확히 이 `module_action` 형식을 범위로 사용하는 [API 키](https://docs.alforse.com/ko/docs/building/api-keys.md)에도 같은 모델이 안전하게 적용됩니다.

## 직원 유형

### 체크박스 대신 템플릿

**직원 유형**은 이름이 지정된 권한 부여 집합입니다. 신규 입사자마다 수십 개의 셀을 선택하는 대신 유형을 한 번 정의하고(예: 구매 전체 및 재고 보기 전용인 "구매 담당자") 지정합니다. 그 권한 부여가 지정된 모든 사람의 시작점이 됩니다.

유형은 **사용자 → 직원 유형**에서 편집하며, 사용자 지정 권한이 포함된 플랜에서 사용할 수 있습니다.

HEADS UP

**유형을 변경해도 이미 지정된 사람은 바뀌지 않습니다**

유형의 권한 부여는 지정할 때 복사됩니다. 이후 유형을 편집하면 *나중에* 지정되는 사람에게만 영향을 주며, 이미 해당 유형인 모든 사람은 현재의 권한 부여를 유지합니다. 기존 직원을 업데이트하려면 [일괄 권한 편집기](#overrides-and-bulk-edits)를 사용하십시오.

### 시스템 유형

두 가지 유형은 미리 시드되어 있으며 삭제할 수 없습니다. 각각 고정된 `systemType` 값을 가지므로 Alforse의 내부 조회를 깨뜨리지 않고 라벨의 이름을 바꿀 수 있습니다.

FieldType

<details>
  <summary>**관리자**</summary>

  전체 액세스. 회사의 Alforse 설정을 관리하는 사람에게 부여하십시오.
</details>

<details>
  <summary>**콘솔 작업자**</summary>

  현장 PIN 계정에 사용됩니다. 작업자를 추가하면 Alforse가 자동으로 지정하며 직접 지정하지 않습니다.
</details>

다른 모든 유형은 생성, 이름 변경, 삭제할 수 있습니다. 회사는 각 시스템 종류의 유형을 최대 하나씩만 가집니다.

## 재정의와 일괄 편집

### 사람별 재정의

**사용자 → 계정**에서 각 직원의 매트릭스는 직원 유형에서 시작합니다. 셀을 선택하거나 해제하면 그 사람에게만 예외가 기록되며 유형 자체는 변경되지 않습니다.

다른 유형으로 사람을 이동하면 Alforse는 현재 권한 부여를 새 템플릿으로 교체할지 유지할지 묻습니다.

### 일괄 권한 편집기

여러 사람을 한꺼번에 변경하려면 사용자를 선택하고 모드를 선택한 다음 매트릭스를 설정합니다.

FieldType

<details>
  <summary>**권한 추가**</summary>

  각 사용자가 이미 가진 권한 위에 선택한 권한 부여를 추가합니다. 아무것도 제거되지 않습니다.
</details>

<details>
  <summary>**권한 업데이트**</summary>

  선택한 각 사용자의 전체 권한 집합을 매트릭스로 교체합니다.
</details>

직원 유형 변경을 기존 직원에게 적용하거나 부서 전체에 새 모듈을 한 번에 부여하는 데 사용하십시오. **추가**는 "모두에게 이것도 부여", **업데이트**는 "모두를 정확히 이것으로 만들기"를 의미하므로, 덮어쓰려는 경우에만 **업데이트**를 선택하십시오.

### 변경이 적용되는 시점

NOTE

**변경은 사용자의 다음 요청에서 적용됩니다**

속도를 위해 Alforse는 각 사용자의 유효 권한을 캐시하며 권한 부여를 변경할 때마다 해당 캐시를 지우므로, 새로운 권리는 다음 요청부터 적용됩니다. 변경 사항이 여전히 누락된 것처럼 보인다면 거의 항상 세션이 오래된 것이며, 로그아웃했다가 다시 로그인하면 새로 읽습니다.

## 사람 초대

### 초대의 동작 방식

다른 사람의 비밀번호를 설정하는 일은 없습니다. 대신 이메일로 **초대**하면 수락할 때 본인이 로그인 정보를 직접 만듭니다.

1. **사용자 → 계정**으로 이동합니다.
2. 이름, 이메일, 직원 유형, 위치와 함께 직원을 추가합니다.
3. Alforse가 계정을 만들고, 초대를 기록하며, 합류를 완료하는 링크를 이메일로 보냅니다.

초대는 이메일을 키로 하는 회사 범위 레코드입니다. 사람이 시작할 때 갖게 될 권한 부여를 포함하므로 수락하는 즉시 액세스가 준비됩니다.

### 계정 상태

직원의 상태는 초대와 계정에서 도출됩니다.

<details>
  <summary>**Invited**</summary>

  초대가 발송되었지만 수락되지 않았습니다. 링크를 사용하기 전에는 로그인할 수 없습니다.
</details>

<details open>
  <summary>**Active**</summary>

  초대가 수락되었고 계정이 정상적으로 사용되고 있습니다.
</details>

<details>
  <summary>**Inactive**</summary>

  계정이 비활성화되었거나 수락 전에 초대가 취소되었습니다. 액세스가 없습니다.
</details>

### 초대 및 퇴사자 관리

* 계정 목록에서 미결 초대를 **재전송**하거나 **취소**합니다.
* 활성 직원을 **비활성화**하면 회사에서 제거되고, 권한 부여가 제거되며, 비활성으로 표시됩니다. 다른 회사에도 속해 있을 수 있으므로 사람 자체는 삭제되지 않습니다. 전체 레코드는 [인원](https://docs.alforse.com/ko/docs/reference/people.md)을 참조하십시오.

## 현장 PIN 계정

### 콘솔 작업자란

**콘솔 작업자**는 이메일 로그인 대신 **4자리 PIN**으로 공유 스테이션에서 [MES](https://docs.alforse.com/ko/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 | 모든 스테이션에 걸친 한 사람 | 해당 사람의 PIN 입력이 잠깁니다. 잠금은 처음에는 1분이며 반복할수록 두 배가 됩니다. 이후 올바른 PIN을 입력하면 횟수가 초기화됩니다. |
| 15분 이내 30회 잘못된 PIN | 모든 사람에 걸친 한 스테이션 | 스테이션이 제한됩니다. 같은 로그인으로 로그인한 스테이션은 이 제한을 공유합니다. |

### 작업자를 정식 사용자로 전환

NOTE

**작업자는 정식 사용자로 승격될 수 있습니다**

PIN 계정에 실제 ERP 액세스가 필요해지면 이메일과 정식 직원 유형을 부여하십시오. Alforse가 같은 사람을 일반 초대 사용자로 전환하며, 이전의 현장 활동은 하나의 신원에 그대로 연결됩니다.

### PIN 계정이 제한되는 이유

PIN 계정은 콘솔 작업자 유형이 허용하는 권한 부여만 가집니다. 의도된 설계입니다. 분실했거나 공유하는 태블릿으로 Alforse의 사무실 측에 접근할 수 없도록 하기 위한 것입니다. 작업자 자신의 워크플로(출근, 수량 보고, 자재 출고)는 [MES 레퍼런스](https://docs.alforse.com/ko/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"(그룹 구성원이 필요합니다) | 일괄 작업(권한 편집, 그룹 편집, 비활성화, 초대 재전송 또는 취소)이 선택된 사람 없이 실행되었습니다. | 사용자를 한 명 이상 선택하십시오. |
| 사용자가 로그인할 수 있지만 아무것도 보이지 않음 | 필요한 모듈에 대한 `<module>_view`가 없습니다. | 유형이나 재정의를 통해 필요한 `<module>_<action>`을 부여하십시오. |
| 직원 유형을 편집해도 기존 사람이 바뀌지 않음 | 유형은 변경 이후에 지정되는 사람에게만 적용됩니다. | 일괄 편집기를 사용하십시오. 덮어쓰려면 **업데이트**, 위에 더하려면 **추가**를 사용합니다. |
| 권한 변경이 적용되지 않는 것처럼 보임 | 사용자의 세션이 오래되었습니다. | 로그아웃했다가 다시 로그인하게 하십시오. |
| **사용자 → 작업자**가 없음 | 회사에서 콘솔 모드가 켜져 있지 않습니다. | 콘솔 모드를 켜거나 **계정**에서 일반 사용자를 초대하십시오. |

## 각 요소가 있는 곳

**인원**

이러한 권한이 적용되는 개별 계정입니다.

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

**API 키**

동일한 모듈-작업 범위를 사용하는 프로그래밍 방식 액세스입니다.

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

**MES 앱**

콘솔 작업자가 PIN으로 로그인하여 현장을 운영하는 곳입니다.

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


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