---
ui_doc_type: component
component_id: authorization-state
status: 계획
source_evidence:
  - type: docs
    path: agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-security-audit-surface.md
    notes: "auth-scope Task가 operator/admin 단일 역할과 허용/거부, disabled/error 상태 구현을 요구"
  - type: docs
    path: agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md
    notes: "D01과 S03이 최소 인증 모델, role, unauthorized/forbidden UX 기준을 정의"
  - type: user
    path: null
    notes: "agent-ui 재검토 중 SDD 기반 계획 component로 보강"
---

# Authorization State

Component ID: `authorization-state`

Status: `계획`

## Source Evidence

| Type | Path | Notes |
|------|------|-------|
| docs | `agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-security-audit-surface.md` | `auth-scope` Task가 operator/admin 단일 역할과 허용/거부, disabled/error 상태 구현을 요구 |
| docs | `agent-roadmap/sdd/control-plane-product-surface/control-plane-security-audit-surface/SDD.md` | D01과 S03이 최소 인증 모델, role, unauthorized/forbidden UX 기준을 정의 |
| user | 없음 | agent-ui 재검토 중 SDD 기반 계획 component로 보강 |

## Purpose

write action 표면에서 operator/admin 권한 허용, 거부, disabled, error 상태를 일관되게 표현한다.

## Used By

- `runners`: self-update action 권한 상태 후보
- `pipelines`: create job action 권한 상태 후보
- `executions`: cancel/report/log/artifact action 권한 상태 후보

## Anatomy

- allowed/disabled affordance
- unauthorized/forbidden message
- optional token reference context
- action guard reason

## Variants

- allowed: action submit 가능
- disabled: 권한 또는 입력 조건 때문에 submit 불가
- unauthorized: 인증 reference 부재 또는 무효
- forbidden: operator/admin 기준 미충족

## States

- allowed
- disabled
- unauthorized
- forbidden
- error

## Rules

- production identity provider를 전제하지 않는다.
- token 원문을 표시하지 않고 `auth-token-reference`의 display-safe reference만 연결한다.
- 권한 실패 message는 민감 payload를 그대로 노출하지 않는다.

## Decision History

- 2026-06-24: 활성 보안/감사 SDD를 반영해 계획 component로 추가했다.
