---
title: 핵심 개념
description: 세 가지 Connector 제품이 공유하는 개념과 각 제품이 사용하는 아이덴티티, 권한 및 런타임 모델을 구분합니다.
lang: ko
canonical_url: https://oomol.com/ko/docs/core-concepts/
markdown_url: https://oomol.com/ko/docs/core-concepts.md
---

# 핵심 개념

세 가지 Connector 제품은 provider, action 및 schema를 공유하지만 서로 다른 계정 격리 및 권한 모델을 사용합니다. 먼저 제품을 식별한 다음 해당 제품의 connection, connected account, Team 또는 Project 리소스를 해석하세요.

| 제품 | 계정 및 격리 모델 | 실행 위치 |
| --- | --- | --- |
| OOMOL Connector (Hosted) | 개인 또는 Team 범위의 Connection | OOMOL 호스팅 |
| Connector for SaaS | Projects, 외부 사용자 및 connected accounts | OOMOL 호스팅 |
| OpenConnector | 운영자가 관리하는 런타임 및 connection | 자체 인프라 |

## 세 제품 모두 공유하는 개념

### Apps 및 providers

**App**은 사용자가 보고 연결을 선택하는 서비스입니다(예: Gmail, GitHub, Slack).

**provider** 또는 **service**는 해당하는 Connector 통합입니다. 인증, action, schema 및 Connector가 업스트림 API를 요청하는 방식을 정의합니다. App과 provider 이름은 보통 일치하지만, 하나는 사용자 대상 서비스이고 다른 하나는 Connector 구현 경계입니다.

### Actions 및 tools

**action**은 provider가 노출하는 하나의 호출 가능한 작업입니다. action ID는 일반적으로 서비스와 작업을 결합합니다(예: `gmail.search_threads`). 각 action에는 입력 schema가 있으며 호출이 반환하는 데이터를 정의합니다.

**tool**은 Agent, CLI 또는 MCP 클라이언트가 action을 보는 호출 표면입니다. SDK는 보통 action을 직접 실행하는 반면, Agent는 사용 가능한 action을 tool로 검색하고 호출합니다.

실행 전에 확인하세요:

- action이 사용할 계정;
- 제출할 파라미터;
- 작업이 데이터를 읽는지, 쓰는지, 삭제하는지 여부;
- 현재 아이덴티티가 해당 계정 리소스를 사용할 수 있는지 여부.

### Agents 및 Skills

**Agent**는 tool을 선택하고, 파라미터를 제공하며, 결과를 사용하여 작업을 계속합니다. OOMOL은 해당 작업 중 사용되는 인가된 App 기능을 제공합니다.

**Skill**은 재사용 가능한 작업 지침 세트입니다. Agent에게 사용할 tool, 순서, 유지할 제약 조건 및 결과를 구성하는 방법을 알려줍니다. 실행에는 Agent의 아이덴티티와 사용 가능한 tool이 사용되며, Connector는 App 자격 증명을 저장합니다.

## OOMOL Connector (Hosted)

### Connection

**connection**은 개인 또는 Team 범위의 App 계정에 대한 하나의 연결 인스턴스입니다. 자체 connection 이름과 ID가 있으며 계정 인가, 상태 및 권한 설정과 연결됩니다.

동일한 App 계정을 두 번 이상 연결할 수 있습니다. 각 connection은 별도로 구성할 수 있습니다:

- **Action access**: connection이 허용하는 action
- **Member access**: connection을 사용할 수 있는 Team 멤버

멤버가 호출할 수 있는 action은 해당 멤버가 접근할 수 있는 모든 connection에서 허용된 action의 합집합입니다.

### Team

**Team**은 Hosted Connector의 Team 테넌트 범위입니다. 활성 Team은 호출자가 볼 수 있는 connection과 그 안에서 호출자가 사용할 수 있는 action을 결정합니다.

CLI, MCP 및 SDK 클라이언트는 Team을 명시적으로 선택해야 나중에 기본 Team이 변경되어도 잘못된 connection을 선택하지 않습니다. Team 플랜은 좌석당 청구됩니다. 현재 세부 정보는 [Billing in Console](https://console.oomol.com/billing)에서 확인하세요.

### 유효 접근

호출은 다음 경계의 교집합 내에서만 실행될 수 있습니다:

```text
Provider authorization
  ∩ connection Action access
  ∩ Team Member access
  ∩ CLI, MCP, or SDK caller identity
  = actions the caller can execute
```

구성 세부 정보는 [Access control](/ko/docs/access-control/) 및 [Team management](/ko/docs/team-management/)를 참조하세요.

### Hosted Connector 호출 경로

```text
User connects an App
  → a connection is created
  → Agent or trusted backend selects an action and connection
  → Hosted Connector checks access and loads credentials
  → Provider API
  → result and execution metadata return to the caller
```

## Connector for SaaS

Connector for SaaS를 사용하면 제품 사용자가 자신의 서드파티 계정을 연결할 수 있습니다. 별도의 멀티 테넌트 리소스 모델을 사용합니다:

| 리소스 | 목적 |
| --- | --- |
| **Project** | 하나의 제품 통합에 대한 구성, 키, connected accounts, 실행 기록 및 사용량을 격리 |
| **Provider config** | Project에서 하나의 provider에 대한 인증을 정의 |
| **External user ID** | OOMOL 리소스를 제품의 사용자에 매핑 |
| **Connected account** | 하나의 외부 사용자가 인가한 provider 계정을 나타냄 |
| **Project API key** | 신뢰할 수 있는 백엔드에서 Project 요청을 인증 |

**connected account**는 Project에서 하나의 외부 사용자가 인가한 provider 계정을 나타냅니다. 백엔드는 해당 제품 사용자를 위해 action을 실행할 때 이를 선택합니다.

### SaaS 호출 경로

```text
Product user completes Provider authorization
  → connected account is linked to an external user ID
  → your backend uses a Project API key
  → ProjectConnector selects the user, connected account, and action
  → Hosted Connector executes the call
  → Provider API
```

제품은 자체 사용자를 인증하고 안정적이며 추측할 수 없는 외부 사용자 매핑을 유지합니다. 리소스 모델 및 통합 흐름은 [Connector for SaaS](/ko/docs/saas/)를 참조하세요.

## OpenConnector

**OpenConnector**는 자체 인프라에 배포하는 오픈 소스 런타임 및 게이트웨이입니다.

- **runtime**은 provider를 로드하고, connection을 관리하며, 자격 증명을 선택하고, 정책을 적용하며, Provider API를 호출합니다.
- **gateway**는 runtime이 MCP, HTTP, OpenAPI 및 SDK 클라이언트에 노출하는 접근 표면입니다.
- **runtime token**은 클라이언트가 runtime 및 해당 기능에 접근할 수 있는지 여부를 제어합니다.

OpenConnector는 runtime, connection 및 접근 정책을 사용자가 관리하는 인프라에 배치합니다. 호출자는 MCP, HTTP, OpenAPI 또는 SDK를 통해 해당 action을 사용합니다.

### OpenConnector 호출 경로

```text
You configure a Provider and connection
  → Agent or application selects an action and connection
  → OpenConnector runtime checks the token and policy
  → runtime loads credentials and calls the Provider API
  → result returns to the caller
```

운영자는 자격 증명 암호화, 토큰, 스토리지, 네트워킹, 로그, 백업 및 업그레이드를 담당합니다. 전체 경계는 [OpenConnector](/ko/docs/openconnector/)를 참조하세요.

## 자격 증명 경계

원시 Provider OAuth 토큰, API 키 및 사용자 지정 자격 증명은 Agent, Skill, 브라우저 클라이언트 또는 제품 사용자에게 노출되어서는 안 됩니다:

- OOMOL은 Hosted Connector 및 Connector for SaaS의 호스팅 경계 내에서 자격 증명을 저장하고 갱신합니다;
- OpenConnector 운영자는 자체 인프라에서 자격 증명을 보호합니다;
- Connector는 action 또는 지원되는 프록시 요청을 실행할 때 자격 증명을 로드하고 호출자에게 실행 결과만 반환합니다.

## 올바른 용어 선택

| 시나리오 | 사용할 용어 |
| --- | --- |
| 개인 또는 Team이 App 계정을 연결 | connection |
| SaaS 제품 사용자가 자신의 계정을 연결 | connected account + external user |
| 하나의 SaaS 통합에 대한 격리 경계 | Project |
| Team 내에서 계정 및 action 사용 제한 | connection Member access 및 Action access |
| Agent에 표시되는 호출 가능한 항목 | tool |
| Connector가 정의한 작업 | action |
| 자체 호스팅 실행 서비스 | OpenConnector runtime / gateway |

제품을 선택한 후 해당 개요 및 통합 가이드를 계속 진행하세요. 정확한 메서드와 타입은 [TypeScript SDK reference](/ko/docs/connector-sdk/)를 참조하세요.
