7. 9 User Role Permission Matrix

9 role × initiate / approve / sign / MPC 키 보유 + 라벨 vocabulary

Fireblocks 의 9 user role 은 4 가지 권한 동사 (initiate / approve / sign / participate in admin quorum) 와 5 가지 라벨 (Q / Q+O / AG / NS / TL) 로 매트릭스 정의.

9 Role 정의

RoleMPC 키initiateapprovesign특기사항
OwnerYYYYworkspace 당 1명, Fireblocks Support 로만 임명, MPC key provisioning 단독 권한
AdminYYYYSigner + 네트워크/whitelist/settings 관리
Non-Signing AdminNY (NS)YN승인·관리 작업, designated signer 흐름의 initiator / second authorizer
SignerYYYYAPI Co-signer + Callback Handler 로도 동작 가능
ApproverNYYNsign 불가, second authorizer 후보
EditorNY (NS)NNview + wallet 추가 (ALGO 토큰 제외) + cancel
ViewerNNNNread-only
Security AuditorNNNNSettings / Policies / FSPM 포함 read-only
Security AdminNNNNuser / 2FA / IP allowlist / FSPM 관리, Admin Quorum 참여

5 라벨 Vocabulary

라벨의미적용 예
QAdmin Quorum 승인 필요Add user, Re-enroll device
Q+OAdmin Quorum + Owner 둘 다 필요Policy 변경, Admin Quorum 변경
AGApproval group 이 Owner 를 요구하지 않는 경우에만Delete users 위임
NSPolicy 에 designated signer 가 지정된 경우NSA / Editor 가 internal exchange transfer 외 tx initiate
TLAlgorand / Ripple / Solana / Stellar 토큰 wallet 생성 불가NSA / Approver / Editor

DB Schema

-- 권한 매트릭스를 정적 lookup 으로 둠
CREATE TABLE roles (
  id            VARCHAR(32) PRIMARY KEY,  -- 'owner', 'admin', 'nsa', 'signer', ...
  name          VARCHAR(64) NOT NULL,
  holds_mpc_key BOOLEAN NOT NULL,
  can_initiate  BOOLEAN NOT NULL,
  can_approve   BOOLEAN NOT NULL,
  can_sign      BOOLEAN NOT NULL,
  can_participate_in_admin_quorum BOOLEAN NOT NULL
);

CREATE TABLE role_permissions (
  role_id    VARCHAR(32) NOT NULL,
  action     VARCHAR(64) NOT NULL,  -- 'add_user', 'change_policy', 'delete_user', ...
  label      ENUM('Y', 'Q', 'Q+O', 'AG', 'NS', 'TL', 'N') NOT NULL,
  PRIMARY KEY (role_id, action),
  FOREIGN KEY (role_id) REFERENCES roles(id)
);

Owner 의 특수성

  • 임명: Fireblocks Support 영상 통화 신원 확인만
  • Provision MPC signing keys 권한 단독
  • Workspace 당 1명 unique — DB UNIQUE constraint
  • Transfer Owner: Console 자체로 불가, Support 경유. 부재 시 Board resolution + stakeholder quorum 으로 지명
  • 2FA reset / device 재등록 / role transfer 모두 Fireblocks Support 영상 통화 필수

NSA / Editor 의 Designated Signer 패턴

MPC 키 없음에도 Policy 가 designated signer 를 지정한 트랜잭션 타입에서 initiate 가능. internal exchange transfer 제외 — 이 분기는 9. Policy / TAP 참조.