Your .env file should have one line

개요

Leash SDK는 AI 애플리케이션 개발 시 반복되는 통합 코드 작성의 비효율성을 해결하기 위해 개발되었으며, 환경 변수, 사전 구축된 통합, 사용자 지정 OAuth, 사용자 지정 MCP(Managed Cloud Platform) 통신이라는 네 가지 핵심 요소를 통해 애플리케이션이 런타임에 필요한 정보를 안전하게 요청할 수 있도록 지원합니다.

주요 내용

* 반복되는 통합 코드 문제: 기존 AI 애플리케이션은 Slack OAuth, API 키 암호화 저장, 토큰 갱신 로직 등 반복적이고 오류가 발생하기 쉬운 통합 코드를 각기 다른 방식으로 구현하여 유지보수 부담을 가중시켰습니다.
* 네 가지 플랫폼 기본 요소: Leash SDK는 공급자별 로직을 제거하고 네 가지 핵심 요소를 제공합니다:
* 환경 변수: 데이터베이스 URL, API 키 등 애플리케이션이 런타임에 요청할 수 있는 일반적인 설정값.
* 사전 구축된 통합: Gmail, Calendar, Drive와 같이 사용자가 한 번 로그인하면 여러 애플리케이션에서 접근 가능한 통합 기능.
* 사용자 지정 OAuth: Slack, Notion 등 플랫폼에서 사전 구축되지 않은 외부 서비스에 대한 사용자 지정 OAuth 연동.
* 사용자 지정 MCP: 내부 또는 제3자 MCP 서버에 대한 접근.
* 조직 단위 등록: 조직 소유자는 대시보드에서 Slack 클라이언트 ID/시크릿, 내부 MCP 서버 URL/베어러 토큰 등을 한 번만 등록합니다. 이러한 정보는 조직의 KMS 키로 암호화되어 애플리케이션 코드에는 노출되지 않습니다.
* SDK 호출 방식: 애플리케이션은 LeashIntegrations 클라이언트를 통해 getEnv, gmail.listMessages, getAccessToken('slack'), getCustomMcpConfig('acme-tools')와 같은 SDK 메서드를 호출하여 필요한 정보나 액세스 토큰을 얻습니다. 이 API는 TypeScript, Python, Go, Ruby, Rust, Java 등 다양한 언어를 지원합니다.
* .env 파일 간소화: SDK 도입 후 애플리케이션의 .env 파일에는 Leash 플랫폼 API 키만 남게 되어, 환경 변수 관리의 복잡성과 드리프트 문제를 해결합니다.
* 주요 설계 결정: MCP 트래픽 프록시를 하지 않고 URL과 헤더 정보만 전달하며, 비밀번호 관리를 위해 Doppler, 1Password, GCP Secret Manager 등 기존 외부 소스를 활용할 수 있도록 합니다. 또한, 현재는 단일 리전 GCP만을 지원합니다.
* 보안 설계 이유: 고객 애플리케이션이 민감한 자격 증명을 안전하게 관리하기 어렵다는 점에 착안하여, 자격 증명은 한 곳에 집중하고 애플리케이션에는 최소한의 접근 권한만 부여하는 방식으로 설계되었습니다.

시사점

Leash SDK는 AI 애플리케이션의 개발 및 운영 효율성을 크게 향상시키고, 민감한 자격 증명을 안전하게 관리하며, 반복적인 통합 코드를 제거함으로써 개발자가 핵심 비즈니스 로직에 집중할 수 있도록 지원합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions