KoderKoder.ai
가격엔터프라이즈교육투자자용
로그인시작하기

제품

가격엔터프라이즈투자자용

리소스

문의하기지원교육블로그

법적 고지

개인정보 처리방침이용 약관보안허용 사용 정책악용 신고

소셜

LinkedInTwitter
Koder.ai
언어

© 2026 Koder.ai. All rights reserved.

홈›블로그›API 키, 쿼터 및 사용량 분석을 관리하는 웹 앱 구축
2025년 8월 16일·4분

API 키, 쿼터 및 사용량 분석을 관리하는 웹 앱 구축

API 키 발급, 쿼터 적용, 사용량 추적 및 보안 워크플로를 갖춘 명확한 분석 대시보드를 제공하는 웹 앱을 설계·구축하는 방법을 배우세요.

API 키, 쿼터 및 사용량 분석을 관리하는 웹 앱 구축

무엇을 만들고 누구를 위한 것인가

당신은 API와 그것을 소비하는 사용자들 사이에 위치하는 웹 앱을 만들고 있습니다. 이 앱의 역할은 API 키를 발급하고, 그 키가 어떻게 사용될지 제어하며, 무슨 일이 있었는지 설명하는 것입니다 — 개발자와 비개발자 모두에게 충분히 명확해야 합니다.

최소한 다음 세 가지 실용적 질문에 답해야 합니다:

  • 누가 API를 호출하는가? (어떤 고객, 어떤 앱, 어떤 키)
  • 얼마나 많이 사용할 수 있는가? (쿼터, 레이트 리밋, 플랜 규칙)
  • 실제로 얼마나 사용했는가? (신뢰할 수 있는 계량과 분석)

포털과 관리자 UI를 빠르게 진행하려면 Koder.ai 같은 도구가 React 프런트엔드 + Go 백엔드 + PostgreSQL 기반의 프로덕션급 베이스라인을 빠르게 프로토타입하고 배포하는 데 도움이 될 수 있으며, 소스 코드 내보내기, 스냅샷/롤백, 배포/호스팅을 통한 완전한 제어를 유지할 수 있습니다.

누가 사용하는가

키 관리 앱은 엔지니어만을 위한 것이 아닙니다. 다양한 역할이 다른 목표를 가지고 들어옵니다:

  • 관리자 / 플랫폼 소유자는 정책(한도, 접근 수준)을 만들고, 사고를 빠르게 해결하며, 많은 고객에 걸쳐 제어를 유지하려 합니다.
  • **개발자(고객 또는 내부팀)**는 셀프 서비스 키 생성, 간단한 문서, 문제가 발생했을 때 빠른 답변(“왜 429가 발생하나요?”)을 원합니다.
  • 재무 및 지원팀은 사용 이력, 고객 수준 요약, 인보이스/크레딧/플랜 업그레이드를 뒷받침할 수 있는 데이터를 원하며, 원시 로그를 읽지 않고도 확인하고 싶어 합니다.

필요할 가능성이 높은 핵심 모듈

성공적인 구현은 일반적으로 몇 가지 핵심 모듈로 수렴합니다:

  • Keys(키): 키 생성, 이름/태그, 권한 범위 설정, 회전, 폐기, 마지막 사용 시각 보기.
  • 쿼터 & 레이트 리밋: 키별, 고객별, 엔드포인트별 한도를 정의하고 일관되게 적용.
  • 사용 계량: 요청 이벤트(또는 요약)를 캡처하고 이를 일별/월별로 집계.
  • 분석: 사용 추세, 상위 엔드포인트, 오류, 스로틀링을 설명하는 대시보드.
  • 알림: 사용량 급증, 쿼터 근접, 키 오용, 오류 급증 시 알림.

범위: 단순하게 시작하고 확장하세요

강력한 MVP는 키 발급 + 기본 한도 + 명확한 사용 보고에 집중합니다. 자동 플랜 업그레이드, 청구 워크플로우, 적산/비례 계산, 복잡한 계약 조건 같은 고급 기능은 계량과 적용을 신뢰하게 된 이후에 추가하세요.

초기 릴리스의 실용적 ‘노스 스타’는 누군가가 키를 만들고, 자신의 한도를 이해하며, 지원 티켓 없이 사용량을 볼 수 있게 하는 것입니다.

요구사항 체크리스트 (MVP vs 이후)

코드를 작성하기 전에 첫 릴리스에서 “완료”가 무엇인지 결정하세요. 이런 시스템은 빠르게 성장합니다: 청구, 감사, 엔터프라이즈 보안이 예상보다 빨리 나타납니다. 명확한 MVP는 지속적인 배포를 가능하게 합니다.

MVP: 실질적 가치를 만드는 최소한의 것

최소한 사용자들은 다음을 할 수 있어야 합니다:

  • API 키 생성 및 폐기 (이름/라벨과 선택적 만료 포함)
  • 쿼터 설정 (예: 키나 프로젝트별 요청/일 또는 요청/월)
  • 레이트 리밋 적용 (예: 요청/분)으로 API 보호
  • 사용량 차트 보기 (간단한 일별 합계, 상위 키, 오류율)
  • 기본 감사 이벤트 추적(키 생성/폐기, 쿼터 변경) — 지원과 책임 추적을 위해

안전하게 키를 발급하고, 제한을 적용하고, 키가 무엇을 했는지 증명할 수 없다면 준비된 것이 아닙니다.

비기능적 요구사항을 미리 결정하세요

  • 성능: 이벤트를 손실하지 않고 계량해야 하는 최대 초당 요청 수는 얼마인가?
  • 신뢰성: “사용 이벤트를 절대 잃지 않아야 하는가” 아니면 “최종적 정확성(eventual accuracy)”이 허용되는가?
  • 데이터 보존: 원시 이벤트와 집계된 총계를 얼마나 오래 보관할 것인가(예: 원시 7일, 집계 13개월)?

테넌트 모델: 단일 조직 vs 멀티테넌트

초기에 하나를 선택하세요:

  • 단일 조직: 더 빠르게 구축, 역할/권한 엣지 적음.
  • 멀티테넌트 SaaS: 초기부터 테넌트 격리, 테넌트별 쿼터, 관리자 역할 필요.

나중에 고려할 기능들

회전 흐름, 웹후크 알림, 청구 내보내기, SSO/SAML, 엔드포인트별 쿼터, 이상 탐지, 풍부한 감사 로그 등을 계획해 두세요.

성공 지표(측정 가능하게)

  • 키 발급 시간: 예: 가입부터 첫 키까지 2분 이하
  • 계량 정확도: 예: 게이트웨이 카운트와 집계 간 불일치 \u003c0.5%
  • 지원 부담: “왜 차단되었나요?” 티켓 감소; 명확한 쿼터/레이트 리밋 설명

고수준 아키텍처 옵션

아키텍처 선택은 한 가지 질문에서 시작해야 합니다: 어디에서 접근과 한도를 적용할 것인가? 이 결정은 지연(latency), 신뢰성, 그리고 얼마나 빨리 배포할 수 있는지에 영향을 줍니다.

옵션 1: API 게이트웨이에서 적용

API 게이트웨이(관리형 또는 자체 호스팅)는 API 키 검증, 레이트 리밋 적용, 사용 이벤트 방출을 요청이 백엔드에 도달하기 전에 할 수 있습니다.

여러 백엔드 서비스가 있고 일관된 정책이 필요하거나 애플리케이션 코드 밖에서 적용을 유지하고 싶을 때 적합합니다. 단점: 게이트웨이 구성 자체가 별도의 “제품”이 될 수 있고, 디버깅은 좋은 트레이싱을 필요로 합니다.

옵션 2: 리버스 프록시에서 적용

리버스 프록시(예: NGINX/Envoy)는 플러그인이나 외부 인증 훅으로 키 검사와 레이트 리밋을 처리할 수 있습니다.

경량 엣지 레이어를 원할 때 잘 작동하지만, 비즈니스 규칙(플랜, 테넌트별 쿼터, 특수 케이스)을 모델링하려면 지원 서비스가 필요할 수 있습니다.

옵션 3: 앱 미들웨어에서 적용

검사를 API 애플리케이션(미들웨어)에 넣는 것은 일반적으로 MVP에서 가장 빠릅니다: 코드베이스 하나, 배포 하나, 로컬 테스트가 단순합니다.

서비스가 늘어나면 정책의 drift와 중복 로직 문제가 흔히 발생하므로, 결국 공통 컴포넌트나 엣지 레이어로 추출할 계획을 세우세요.

초기부터 관심사 분리

작게 시작하더라도 경계는 명확히 하세요:

  • 인증(키가 유효한가?), 쿼터/레이트 리밋(지금 허용되는가?), 계량(무슨 일이 발생했나 기록), 분석 UI(표시).

동기식 vs 비동기식 추적

계량에서 요청 경로에서 무엇이 꼭 발생해야 하는지 결정하세요:

  • 동기식: 응답 전에 카운터를 증가(정확한 적용, 높은 지연).
  • 비동기식: 이벤트를 큐/로그로 방출(빠른 응답, 보고서는 최종적 일관성).

확장 계획: 핫 경로 vs 콜드 경로

레이트 리밋 검사는 핫 경로(저지연, 인메모리/Redis 최적화). 보고서와 대시보드는 콜드 경로(유연한 쿼리와 배치 집계 최적화).

키, 쿼터, 사용량을 위한 데이터 모델

좋은 데이터 모델은 세 가지 관심사를 분리합니다: 누가 접근을 소유하는가, 어떤 한도가 적용되는가, 무엇이 실제로 발생했는가. 이 구조가 맞으면 회전, 대시보드, 청구가 훨씬 단순해집니다.

핵심 엔티티(첫날에 필요한 것)

최소한 다음 테이블(또는 컬렉션)을 모델링하세요:

  • Organization(조직): 테넌트 경계(청구 소유자, 멤버).
  • Project/App(프로젝트/앱): 키와 설정의 컨테이너(보통 하나의 API 클라이언트에 해당).
  • API Key: 자격 증명 메타데이터(이름, 상태, created_at, last_used_at).
  • Plan(플랜): 한도와 기능 번들(예: Free, Pro).
  • Quota(쿼터): 구체적인 제한 규칙(예: 하루 10k 요청, 분당 60 req).
  • Usage Event(사용 이벤트): 사용의 원시 기록(타임스탬프, project_id, endpoint, 상태 코드, 단위).

메타데이터는 비밀과 분리 저장

원시 API 토큰을 절대 저장하지 마세요. 다음만 저장하세요:

  • 키 접두사(표시/검색용)
  • 검증자(verifier)(보통 SHA-256 또는 HMAC-SHA-256 + 서버 사이드 페퍼) — 토큰 검증용
  • 선택 항목: 스코프, 환경(prod/sandbox), expires_at

이렇게 하면 “Key: ab12cd…” 같은 식으로 표시하면서 실제 비밀은 복구 불가능하게 보관할 수 있습니다.

감사 가능성은 선택 사항이 아니다

초기에 감사 테이블을 추가하세요: KeyAudit와 AdminAudit(또는 단일 AuditLog)에 다음을 캡처:

  • actor_id(사용자/서비스), action, target_type/id
  • before/after(쿼터 편집 시)
  • ip/user_agent, timestamp

고객이 “누가 내 키를 폐기했나?”라고 묻는다면 답할 수 있어야 합니다.

시간 창과 카운터

쿼터는 명시적 시간 창으로 모델링하세요: per_minute, per_hour, per_day, per_month.

UsageCounter 같은 별도 테이블을 (project_id, window_start, window_type, metric)로 키를 잡아 저장하면 리셋이 예측 가능하고 분석 쿼리가 빨라집니다.

포털 뷰를 위해 Usage Events를 일별 롤업으로 집계하고 심층 내용은 /blog/usage-metering으로 연결하세요.

인증, 권한, 역할

두려움 없이 반복하세요
스냅샷과 롤백을 사용해 스키마와 강제 로직을 안전하게 실험하세요.
스냅샷 사용

당신의 제품이 API 키와 사용량을 관리한다면 앱 자체의 접근 제어는 일반 CRUD 대시보드보다 더 엄격해야 합니다. 명확한 역할 모델은 팀의 생산성을 유지하면서 “모두가 관리자”가 되는 것을 막습니다.

실제 팀에 매핑되는 역할 설계

조직(테넌트)당 작은 역할 집합으로 시작하세요:

  • Owner: 모든 권한, 청구 소유자, 조직 설정 관리 및 조직 삭제 가능.
  • Admin: 사용자, 프로젝트, 키, 쿼터, 보안 설정 관리.
  • Developer: 할당된 프로젝트에 대해 키 생성/회전, 사용량 보기 가능하지만 청구나 전체 보안 변경 불가.
  • Read-only: (마스크된) 키, 쿼터, 분석 보기 가능.
  • Finance: 인보이스/사용 비용 보고서 보기 및 데이터 내보내기 가능하나 키 관리 불가.

권한을 명시적으로 유지하세요(예: keys:rotate, quotas:update)—이렇게 하면 기능을 추가할 때 역할을 재정의할 필요가 줄어듭니다.

사람용 로그인 보안

가능하면 OAuth/OIDC를 지원하세요; 사용자명/비밀번호는 필요한 경우에만 사용합니다. Owner/Admin에는 MFA 필수, 모든 사용자에는 강력히 권장합니다.

세션 보호: 단명 액세스 토큰, 리프레시 토큰 회전, 기기/세션 관리 추가.

보호하려는 API의 인증 방식

기본으로 헤더의 API 키를 제공하세요(예: Authorization: Bearer <key> 또는 X-API-Key). 고급 고객을 위해 선택적 HMAC 서명(재생 공격/변조 방지) 또는 JWT(짧은 수명, 범위 지정에 적합)를 추가하세요. 개발자 포털에 명확히 문서화하세요.

테넌트 격리: 타협 불가

모든 쿼리에 org_id를 적용하세요. UI 필터에만 의존하지 말고 데이터베이스 제약, 행 수준 정책(가능할 경우), 서비스 계층 검사에 org_id를 적용하고 교차 테넌트 접근을 시도하는 테스트를 작성하세요.

API 키 수명주기: 생성, 회전, 폐기

구현을 직접 소유하세요
원할 때마다 소스 코드를 내보내 전체 제어권을 유지하세요.
코드 내보내기

좋은 키 수명주기는 고객이 생산적으로 작업하도록 하면서 문제가 생겼을 때 위험을 줄일 빠른 방법을 제공합니다. UI와 API를 설계할 때 “행복한 경로”는 명확하게, 안전한 옵션(회전, 만료)은 기본으로 제공되게 하세요.

생성: 단순 문자열이 아니라 의도를 캡처하세요

키 생성 흐름에서 이름(예: “Prod server”, “Local dev”)과 스코프/권한을 요청하여 최초부터 최소 권한을 적용하세요.

브라우저 사용을 위한 허용 출처(allowed origins) 또는 서버간 통신을 위한 허용 IP/CIDR 같은 제한을 선택적으로 제공하고, 잠금 위험에 대한 경고를 명확히 하세요.

생성 후에는 원시 키를 한 번만 표시하세요. 큰 “복사” 버튼과 함께 간단한 지침을 제공하세요: “시크릿 매니저에 저장하세요. 우리는 다시 보여줄 수 없습니다.” /docs/auth로 직접 연결하세요.

회전: 사고가 아닌 일상으로 만드세요

회전은 예측 가능한 패턴을 따르도록 하세요:

  1. 동일한 스코프와 제한을 가진 새 키 생성.
  2. 통합을 업데이트하여 새 키 사용 배포.
  3. 트래픽이 정상인지 검증.
  4. 이전 키 폐기.

UI에서 “Rotate” 액션은 대체 키를 생성하고 이전 키를 “Pending revoke”로 레이블해 정리하도록 유도하세요.

폐기 및 만료: 즉시 및 예약

폐기는 즉시 키를 비활성화하고 누가, 왜 했는지 기록해야 합니다.

또한 임시 계약자나 체험용을 위해 예약 만료(예: 30/60/90일) 및 수동 “만료일”을 지원하세요. 만료된 키는 예측 가능한 인증 오류를 반환하여 개발자가 무엇을 고쳐야 하는지 알 수 있게 하세요.

쿼터 및 레이트 리밋: 사용량 적용 방법

레이트 리밋과 쿼터는 다른 문제를 해결하며, 이를 혼동하면 “왜 차단되었나요?”라는 지원 티켓이 늘어납니다.

레이트 리밋 vs 쿼터

레이트 리밋은 버스트를 제어합니다(예: 초당 50 요청을 초과하지 않음). 인프라를 보호하고 단일 과도한 고객이 다른 고객의 서비스에 영향을 주는 것을 막습니다.

쿼터는 기간 동안의 총 소비를 제한합니다(예: 월 100,000 요청). 플랜 집행과 청구 경계에 관한 것입니다.

많은 제품은 둘 다 사용합니다: 공정성과 가격을 위한 월간 쿼터 + 안정성을 위한 초/분당 레이트 리밋.

적용 알고리즘 선택

실시간 레이트 리밋을 위해 설명 가능하고 안정적으로 구현 가능한 알고리즘을 선택하세요:

  • 토큰 버킷(token bucket): 토큰이 시간에 따라 채워지고 요청은 토큰을 소비합니다. 평균 속도를 유지하면서 작은 버스트를 허용합니다.
  • 누수 버킷(leaky bucket): 요청이 일정한 속도로 흘러나가도록 합니다. 트래픽을 평탄화하지만 더 엄격하게 느껴질 수 있습니다.

개발자 대상 API에는 예측 가능하고 관대하게 동작하는 토큰 버킷이 보통 기본입니다.

카운터 저장 위치 선택

일반적으로 두 가지 저장소가 필요합니다:

  • Redis(또는 유사): 게이트웨이/엣지에서 빠르고 원자적으로 실시간 체크.
  • 데이터베이스: 내구성 있는 리포팅과 청구용 기록.

Redis는 “지금 이 요청을 허용할 수 있는가?”에 답합니다. DB는 “이번 달에 얼마나 사용했는가?”에 답합니다.

무엇을 사용량으로 계산할지 정의

제품과 엔드포인트별로 명확히 정의하세요. 일반적 계량은 요청 수, 토큰 수, 전송 바이트, 엔드포인트별 가중치, 컴퓨트 시간 등이 있습니다.

가중치가 있는 엔드포인트를 사용하면 문서와 포털에 가중치를 공개하세요.

오류 응답을 행동 가능하게 만들기

요청을 차단할 때 명확하고 일관된 오류를 반환하세요:

  • 레이트 리밋에는 429 Too Many Requests. Retry-After와 선택적으로 X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset 헤더 포함.
  • 유료 플랜의 쿼터 초과에는 402 Payment Required(또는 403). 현재 기간 사용량, 쿼터 한도, /billing 또는 /pricing 링크 포함.

좋은 메시지는 추측을 줄여줍니다: 개발자는 백오프, 재시도, 또는 업그레이드를 할 수 있습니다.

자주 묻는 질문

API 키 관리 포털의 최소 실용 기능 세트는 무엇인가요?

다음 세 가지 결과에 집중하세요:

  • 키를 안전하게 발급하고 폐기하기(비밀은 한 번만 표시, 만료 지원).
  • 기본 제한 적용(레이트 리밋 + 간단한 일/월 쿼터).
  • 사용량 및 차단 사유 설명(작은 대시보드 + 명확한 429/쿼터 초과 메시지).

사용자가 키를 생성하고, 한도를 이해하며, 티켓 없이 사용량을 확인할 수 있으면 MVP는 제 역할을 하고 있는 것입니다.

API 키와 한도를 게이트웨이, 리버스 프록시, 혹은 애플리케이션 미들웨어 어디에서 적용해야 하나요?

일관된 정책 적용 여부에 따라 선택하세요:

  • API 게이트웨이: 다수 서비스와 중앙 정책에 적합; 강력한 트레이싱 없이는 디버깅이 어려울 수 있음.
  • 리버스 프록시: 경량 엣지에서 적용 가능하지만 복잡한 요금/플랜 규칙은 별도 서비스가 필요할 수 있음.
  • 앱 미들웨어: MVP에서 가장 빠름(코드베이스/배포 단일화), 다수 서비스로 확장하면 정책 중복이 발생할 수 있음.

일반적인 경로는 먼저 미들웨어로 시작한 뒤, 시스템이 커지면 공통 엣지 레이어로 추출하는 것입니다.

데이터베이스에 API 키를 어떻게 안전하게 저장해야 하나요?

비밀과 메타데이터를 분리해서 저장하세요:

  • 표시/검색용으로 접두사(prefix)(첫 6–8자)를 저장합니다.
  • 검증용으로 해시만 저장하세요(원본 토큰 절대 저장 금지).
  • created_at, last_used_at, expires_at, status 같은 수명 필드를 추적합니다.

UI에서는 생성 시 한 번만 전체 키를 보여주고 이후에는 복구할 수 없음을 분명히 하세요.

레이트 리밋과 쿼터는 어떻게 다르며 둘 다 필요합니까?

해결하는 문제가 다릅니다:

  • 레이트 리밋(요청 속도 제한): 순간적인 버스트를 차단(예: 60 req/min)하여 서비스 안정성을 지킵니다.
  • 쿼터: 일정 기간 동안의 총 소비를 제한(예: 월 100k 요청)하여 요금/플랜을 강제합니다.

대부분의 API는 월간 쿼터와 초/분 단위 레이트 리밋을 함께 사용합니다.

API 속도를 늦추지 않으면서 사용량을 어떻게 계측하나요?

요청 경로를 느리게 하지 않도록 파이프라인을 사용하세요:

  1. 각 요청에서 작은 사용 이벤트(타임스탬프, 키 id, 엔드포인트, 상태, 단위)를 생성합니다.
  2. 이벤트를 큐/스트림(또는 append-only 로그)에 기록합니다.
  3. 워커가 이를 받아 시간별/일별/월별 합계를 생성합니다.

이렇게 하면 인라인 집계를 피하면서 청구용 집계를 만들 수 있습니다.

사용 이벤트 파이프라인에서 이중 집계를 어떻게 방지하나요?

이벤트가 중복 전달될 수 있다고 가정하고 재시도에 견고하게 설계하세요:

  • 각 요청에 고유한 event_id를 추가하세요.
  • 소비자 측에서 중복 제거(유니크 제약, 또는 TTL 있는 “본 적 있음” 캐시)를 하세요.
  • 집계 업데이트를 멱등하게 만들어 워커 충돌/재시도 시 총계가 망가지지 않게 하세요.

이것은 이후 쿼터, 청구, 크레딧 등에 사용하려면 필수적입니다.

키 및 쿼터 관리 시스템의 감사 로그에 무엇을 포함해야 하나요?

누가 무엇을 언제 어디서 했는지 기록하세요:

  • 키 수명주기: 생성, 회전, 폐기, 만료.
  • 정책 변경: 쿼터/레이트 리밋 편집(변경 전/후 저장).
  • 인증/관리자 활동: 로그인, 역할 변경, 의심스러운 활동 증가.

actor, 대상(target), 타임스탬프, IP/사용자 에이전트를 포함하세요. 지원팀이 “누가 이 키를 폐기했나?”라고 물으면 답할 수 있어야 합니다.

멀티테넌트 API 포털의 역할과 권한은 어떻게 설계해야 하나요?

작고 명시적인 역할 모델과 세분화된 권한을 사용하세요:

  • Owner, Admin, Developer, Read-only, Finance 같은 역할.
  • keys:rotate, quotas:update 같은 권한을 두어 기능 추가 시 역할을 다시 정의할 필요가 없게 하세요.

항상 테넌트 분리를 강제하세요(예: 모든 쿼리에 org_id). UI 필터만으로 신뢰하지 마세요.

원시 사용 이벤트는 얼마나 오래 보관하고 집계는 얼마나 오래 보관해야 하나요?

실용적인 접근은 원본은 단기, 집계는 장기입니다:

  • 원시 이벤트는 조사용으로 며칠/몇 주만 보관하세요.
  • 롤업(일별/월별 합계)은 추세와 청구 준비를 위해 수개월/수년간 보관하세요.

사전에 보관 기간을 정하면 저장 비용, 개인정보 보호, 리포팅 기대치를 예측 가능하게 유지할 수 있습니다.

요청이 차단될 때 API는 무엇을 반환해야 하고, 이를 어떻게 행동 가능하게 만드나요?

디버깅을 쉽게 해주는 응답을 반환하세요:

  • 레이트 리밋에 대해서는 429와 Retry-After, 선택적으로 X-RateLimit-* 헤더를 포함하세요.
  • 쿼터 초과에 대해서는 402(또는 403)를 반환하고 현재 기간 사용량, 한도, 다음 단계 링크(/plans 또는 /billing)를 제공하세요.

이와 함께 포털의 /usage 페이지(및 더 깊은 내용은 /blog/usage-metering)로 연결해 사용자가 차단 이유를 확인할 수 있도록 하세요.

목차
무엇을 만들고 누구를 위한 것인가요구사항 체크리스트 (MVP vs 이후)고수준 아키텍처 옵션키, 쿼터, 사용량을 위한 데이터 모델인증, 권한, 역할API 키 수명주기: 생성, 회전, 폐기쿼터 및 레이트 리밋: 사용량 적용 방법자주 묻는 질문
공유