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

# Consumer Access 운영 가이드

비즈니스 사용자에게 Databricks를 \*\*읽기 전용(Read-Only)\*\*으로 제공하는 Consumer Access 설정 및 운영 가이드입니다.

***

## Consumer Access란?

**Consumer Access**는 비기술 비즈니스 사용자가 대시보드, Genie Space, Apps 등 분석 결과를 **소비(consume)** 할 수 있도록 설계된 간소화된 접근 권한입니다.

일반 Databricks 사용자와 달리, Consumer는 **워크스페이스에서 새 객체를 생성할 수 없습니다.** 오직 공유된 콘텐츠를 보는 것만 가능합니다.

### 왜 Consumer Access를 사용해야 하나?

| 상황                                         | 해결                               |
| ------------------------------------------ | -------------------------------- |
| 경영진에게 대시보드만 보여주고 싶다                        | Consumer로 설정 → 대시보드만 접근 가능       |
| 비즈니스 팀에 Genie Space를 열어주되, 데이터 변경은 방지하고 싶다 | Consumer → 자연어 질의만 가능, 테이블 수정 불가 |
| 라이선스 비용을 최적화하고 싶다                          | Consumer는 전체 라이선스보다 비용 효율적       |
| 실수로 클러스터를 시작하거나 코드를 실행하는 것을 방지하고 싶다        | Consumer는 컴퓨트 리소스를 직접 생성할 수 없음   |

***

## Consumer vs 일반 사용자 비교

| 기능                               | Consumer (읽기 전용)         | 일반 사용자       |
| -------------------------------- | ------------------------ | ------------ |
| **대시보드 보기**                      | O                        | O            |
| **Genie Space 질의**               | O                        | O            |
| **Databricks Apps 사용**           | O                        | O            |
| **외부 BI 연동** (Power BI, Tableau) | O                        | O            |
| **노트북 생성/실행**                    | **X**                    | O            |
| **클러스터/Warehouse 생성**            | **X**                    | O            |
| **테이블 생성/수정**                    | **X**                    | O            |
| **Job 생성/실행**                    | **X**                    | O            |
| **파이프라인 구성**                     | **X**                    | O            |
| **인터페이스**                        | **Databricks One** (간소화) | 전체 Workspace |

> **핵심**: Consumer는 **생산(produce)은 불가, 소비(consume)만 가능**합니다. 데이터를 보고, 질문하고, 대시보드를 탐색하는 것이 전부입니다.

***

## 접근 가능한 기능 상세

### 1. AI/BI 대시보드

공유된 대시보드를 열람하고 필터를 적용할 수 있습니다. 대시보드 편집이나 생성은 불가합니다.

### 2. Genie Space

등록된 Genie Space에서 자연어로 데이터에 질문할 수 있습니다. SQL을 직접 작성할 필요 없이 "이번 달 서울 매출이 얼마야?"처럼 물으면 답변을 받습니다.

> **보안**: Consumer에게도 **Unity Catalog 행/열 수준 보안(RLS/CLS)이 자동 적용**됩니다. Consumer라고 해서 모든 데이터를 볼 수 있는 것이 아니라, 권한이 있는 데이터만 조회 가능합니다.

### 3. Databricks Apps

배포된 웹 앱(Streamlit, Gradio, FastAPI 등)에 접근할 수 있습니다. 앱 생성이나 배포는 불가합니다.

### 4. 외부 BI 도구

Power BI, Tableau 등에서 SQL Warehouse를 통해 데이터를 조회할 수 있습니다. 단, Consumer의 UC 권한 범위 내에서만 접근 가능합니다.

***

## 설정 방법

### Step 1: Consumer 그룹 생성

```bash theme={null}
# Databricks CLI로 Consumer 그룹 생성
databricks groups create --group-name "business-consumers"
```

### Step 2: 사용자에게 Consumer 권한 할당

Account Console → Users → 사용자 선택 → Workspace Access 설정에서 **Consumer** 권한을 할당합니다.

또는 API로 설정:

```python theme={null}
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

# 사용자에게 Consumer 엔타이틀먼트 부여
w.users.patch(
    id="<user-id>",
    schemas=["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    operations=[{
        "op": "add",
        "value": {
            "entitlements": [{"value": "consumer-access"}]
        }
    }]
)
```

### Step 3: 콘텐츠 공유

Consumer에게 보여줄 대시보드/Genie Space의 공유 설정에서 해당 그룹 또는 사용자를 추가합니다.

```sql theme={null}
-- 대시보드에 Consumer 그룹 접근 권한 부여
GRANT VIEW ON DASHBOARD dashboard_id TO `business-consumers`;

-- Genie Space에도 접근 권한 부여 (UI에서 설정 권장)
```

***

## 운영 모범 사례

### 1. 역할 기반 그룹 설계

| 그룹                       | 권한                  | 대상                      |
| ------------------------ | ------------------- | ----------------------- |
| `data-engineers`         | Workspace Access    | 데이터 엔지니어, 파이프라인 구축      |
| `data-analysts`          | Workspace Access    | 분석가, 대시보드/쿼리 작성         |
| `data-scientists`        | Workspace Access    | ML 모델 학습/배포             |
| **`business-consumers`** | **Consumer Access** | **경영진, 비즈니스 팀, 현업 사용자** |

### 2. 데이터 접근 제어 (UC 연동)

Consumer에게도 Unity Catalog 권한이 적용되므로, 필요한 데이터만 접근 가능하도록 설정합니다.

```sql theme={null}
-- Consumer 그룹에 특정 카탈로그 읽기 권한만 부여
GRANT USE CATALOG ON CATALOG gold_catalog TO `business-consumers`;
GRANT USE SCHEMA ON CATALOG gold_catalog TO `business-consumers`;
GRANT SELECT ON CATALOG gold_catalog TO `business-consumers`;

-- 민감 테이블은 접근 차단 (별도 GRANT 없으면 기본적으로 접근 불가)
```

### 3. Serverless SQL Warehouse 연결

Consumer의 대시보드/Genie 질의는 **SQL Warehouse**에서 실행됩니다. Serverless Warehouse를 기본으로 설정하면 비용 효율적입니다.

| 설정           | 권장값            | 이유                   |
| ------------ | -------------- | -------------------- |
| Warehouse 유형 | **Serverless** | 유휴 시 자동 중지, 초 단위 과금  |
| Auto Stop    | 5분             | Consumer 사용 패턴은 간헐적  |
| Size         | Small/Medium   | 대시보드 조회는 대규모 컴퓨트 불필요 |

### 4. 비용 모니터링

```sql theme={null}
-- Consumer 그룹의 DBU 사용량 추적
SELECT
    usage_metadata.user_identity AS user,
    sku_name,
    SUM(usage_quantity) AS total_dbu
FROM system.billing.usage
WHERE usage_metadata.user_identity IN (
    SELECT user_name FROM system.access.groups_members 
    WHERE group_name = 'business-consumers'
)
  AND usage_date >= DATE_SUB(CURRENT_DATE(), 30)
GROUP BY 1, 2
ORDER BY total_dbu DESC;
```

***

## 관련 문서

* [Consumer Access 공식 문서](https://docs.databricks.com/aws/en/ai-bi/consumers/)
* [AI/BI 대시보드](/training/08-ai-bi/lakeview-dashboards-basics) — 대시보드 생성 가이드
* [Genie Space 운영](/blog/guides/genie-space/overview) — Space 구성 가이드
* [Genie 성능 튜닝](/blog/guides/genie-space/performance-tuning) — 답변 정확도 개선
* [접근 제어](/training/07-unity-catalog/access-control) — UC 권한 관리
