개발자 포털 및 액세스 토큰
1) 개발자 포털 역할
Developer Portal은 셀프 서비스 (키, 토큰, 웹 후크, 관세 계획), 투명성 (제한, 사용, 송장), 보안 (회전, 서명), 통합 속도 (SDK, 문서, 샌드 박스) 와 같은 통합 업체를위한 "프론트 오피스" 입니다..
주요 목표:- TTI (시간 통합) 를 시간으로 줄입니다.
- 액세스 제어: 누가/무엇/얼마나/언제.
- 자동 도구를 통해 지원에 대한로드를 줄입니다.
2) 온보드 및 계정
등록: 이메일 + 2FA/SSO (SAML/OIDC); 도메인 유효성 검사 (DNA 토큰).
조직 및 팀: '소유자', '관리자', '개발자', '청구', '보안' 역할.
멀티 테넌트: 응용 프로그램을 조직에 연결; 세입자/환경별 데이터 액세스.
KYC/B2B (도매): 엔터프라이즈-법인, 계약, 위의 한계.
3) 부록 및 크레딧
응용 프로그램 유형: '서버 간', '웹', '모바일', '머신 투 머신', '웹 후크 소비자'.
3. 1 개의 API 키 (서버 간 서버, 간단한 통합)
식별자 'key _ id' + 비밀 'key _ secret' (한 번 보임).
스코프 바인딩 계획 및 세트.
요청 서명 (HMAC) 및/또는 '승인: ApiKey <key _ id>: <sign>' 헤더.
3. 2 OAuth2/OIDC (권장)
보조금:- 클라이언트 자격 증명 (기계).
- 승인 코드 (+ PKCE) (사용자 위임).
- 토큰 새로 고침 (오프라인 액세스, RT 회전).
- 장치 코드 (TV/콘솔).
3. 3mTLS (추가 레벨)
진입시 상호 TLS; 인증서는 포털을 통해 다운로드됩니다. 응용 프로그램에 'cert _ prince' 바인딩
4) 토큰: 유형과 수명주기
원칙:- 짧은 AT + 긴 RT; RT-사용 중 회전.
- 키/응용/조직별로 취소합니다.
- 스코프/할당량 제한으로 다시 발행.
4. 1 JWT 형식 (예)
json
{
"iss":"https://auth. example. com",
"sub":"app_123",
"aud":"https://api. example. com",
"exp":1730616000,
"iat":1730612400,
"scp":["wallet:read","bet:write"],
"org":"acme",
"kid":"jwks_2025_11",
"jti":"at_01HXY..."
}
공개 키는 JWKS에 게시됩니다. '아이' 에 의한 회전.
4. 2 개의 황반 토큰과 성찰
Auth 서버에 '토큰 _ 스토어' (Redis/SQL) 를 저장합니다.
성찰: '액티브', '스코프', 'exp', '클라이언트 _ id', 'org', '테넌트'.
5) 스코프, 역할 및 액세스 정책
Scopes는 작업을 설명합니다 ('지갑: 읽기', '지갑: 쓰기', '보고서: 읽기').
역할은 스코프 ('개발자', '청구') 를 집계합니다.
ABAC: 속성 'org', '테넌트', '지역', '환경'.
정치인: "이 열쇠는 단지 'eu-west-1' 과 '읽기' 입니다".
스텝 업: 중요한 방법에는 확장 된 스코프 또는 mTLS가 필요합니다.
6) 쿼타, 제한 및 관세
요율 제한: RPS/RPM, 버스트.
쿼타: 일/월, 크레딧.
키/응용/조직/테넌트별로.
포털은 사용량, 헤더 'X-RateLimit-' 및 'X-Quota-' 및 초과 예측을 보여줍니다.
청구: 계획과 연결, 이벤트, 송장 및 청구 웹 후크로 측정.
7) 웹훅 관리
엔드 포인트, 비밀, 이벤트 버전의 등록.
테스트 전달 및 재생; 재시도 로그 (2xx/4xx/5xx)
HMAC 서명 ('X-Signature'), 'X-Webhook-ID', 중복 제거, '410' 존중.
8) 문서 및 SDK
SDK 자동 생성이있는 OpenAPI/AsyncAPI.
요리 책: 요청, retrays, demempotence, pagination, webhooks의 예.
시도 놀이터 (모래 열쇠 포함).
버전 Changelog 및 우울증 페이지.
9) 샌드 박스 및 테스트 데이터
고립 된 환경: '샌드 박스', '준비', '생산'.
테스트 엔티티 (플레이어, 트랜잭션) 및 스크립트 (승리/손실, 지연, 5xx, 429).
포털에서 데이터 시드 및 재설정 환경.
10) 비밀의 보안 및 보관
비밀의 API 키 해시 (명확한 텍스트에 저장하지 마십시오); 키를 한 번 보여주십시오.
서명 토큰의 비밀 관리자 (KMS/HSM); '키드' 키의 회전.
IP 허가자, 지리 제약 조건, ASN 필터.
2FA/SSO, 하드웨어 키 (WebAuthn).
남용으로부터 보호: 봇 방지 휴리스틱, 등록 속도를 만들 때 CAPTCHA.
PII/비밀이없는 로그; 패턴별로 수정.
11) 감사 및 준수
감사 로그: 키를 작성/보고/취소 한 사람은 웹 후크를 변경하고 보고서를 다운로드했습니다.
GDPR/DSAR-응용 프로그램/조직 데이터를 다운로드 및 삭제합니다.
보존 정책: 로그에 대한 TTL, 사건에 대한 법적 보류.
사용 약관/공정 사용 및 수출 제한.
12) 관리 및 운영
사고/타협에 의한 토큰의 대량 리콜.
원인 및 항소와 함께 신청이 일시적으로 중단됩니다.
키 롤오버 (두 키 모드: '활성/다음').
인시던트 comm: 상태 페이지, 메일 링, RSS/웹 후크 상태.
13) UI/UX 포털 (키 화면)
조직 대시 보드: 사용/오류/SLO/청구.
응용 프로그램: 키, 토큰, 스코프, 한계, 웹 후크, 환경.
필터와 재생 버튼이있는 웹 후크 전달 로그.
토큰 콘솔: 문제/리콜, 이력, 이유.
문서 및 SDK, Quickstar, 코드 샘플 (복사 페이스트).
섹션 "개선 및 마이그레이션".
14) 계약 및 구성의 예
14. 1 OpenAPI (스 니펫)
yaml paths:
/v1/apps:
post:
summary: Create app security: [{ oauth2: [admin:apps. write] }]
responses:
'201': { description: Created }
/v1/apps/{app_id}/keys:
post:
summary: Create API key (shown once)
responses:
'201': { description: Created }
/v1/oauth2/token:
post:
summary: Token endpoint (CC/AC)
responses:
'200': { description: Access token }
/v1/tokens/revoke:
post:
summary: Revoke access/refresh token responses:
'204': { description: Revoked }
14. 2 내성 토큰 (답변)
json
{
"active": true,
"client_id": "app_123",
"scope": "wallet:read bet:write",
"org": "acme",
"exp": 1730616000,
"token_type": "access_token",
"jti": "at_01HXY..."
}
14. 3 주요 정책 (JSON)
json
{
"app_id":"app_123",
"plan":"pro-2025",
"scopes":["wallet:read","report:read"],
"limits":{"rps":50,"daily_requests":250000},
"regions":["eu-west-1"],
"ip_allow":["192. 0. 2. 0/24"]
}
15) 검증 및 에스크로 프로세스
시맨틱 API 버전 ('/v1 ', '/v2'), 애드도 브레이크 호환성.
포털은 날짜까지 "폐기 된 것" 과 "마이그레이션 방법" 을 보여줍니다.
마이그레이션 가이드, 테스트 샌드 박스 'v2', 이중 쓰기/이중 읽기 가능한 경우.
16) 관찰 및보고
사용 → 수익: 요청/신용/오버레이 일정.
상태/' 오류 _ 코드 ', 대기 시간 히스토그램에 의한 오류.
SLO 위젯: 키 핸들을위한 접근성 및 p95.
보고서의 웹 후크, 분석을위한 API/JSON 내보내기.
17) 점검표
17. 1 안전
- 2FA/SSO, 도메인/메일 확인
- 비밀을 한 번 보여, 해시 스토리지
- JWKS 및 키 회전, '어린이'
- mSL (Ex), IP 허용리스트, 지리/ASN 필터
- 안티 봇/남용 방지, 키 생성에 대한 속도 제한
- 행동 및 액세스의 감사 로그
17. 2 DX/온보드
- 시작 5 분
- 같은 표면을 가진 SDK (TS/Py/Java/Go/.NET)
- 운동장 + 모래 열쇠
- 요리 책: 웹 후크, Pagination, Retreats, Idempotence
- 한계/계획/가격 책정 페이지
- 복사 붙여 넣기 예제
17. 3 작업
- 대량 토큰 리콜, 앱 일시 중지
- 사건/상태 페이지 + 구독
- 웹 후크 용 DLQ/재생
- 쿼터 소멸에 대한 자동 경고
- 월간 보고서 및 음성
18) 구현 계획 (3 회 반복)
반복 1-MVP (2-3 주):- org/응용 프로그램 등록, API 키 발급, 클라이언트 자격 증명 OAuth2, 기본 제한 (RPS/할당량), 요청 로그 및 사용 그래프, 문서 및 SDK TS/파이썬, 샌드 박스.
- JWT + JWKS, 키 회전, 새로 고침 토큰 + 사용 중 회전, 필수 2FA/SSO, 웹 후크 (서명, 재 시도, 로깅, 재생), 청구 웹 후크, 보고서 및 수출, 역할 및 ABAC.
- mSL, 관리 도구 (대량 철회/일시 중단), 감소 및 마이그레이션 v2, Java/Go/.NET SDK, finops 대시 보드, GDPR/DSAR, Legal Hold, 고급 남용 방지.
19) 미니 -FAQ
JWT 또는 불투명?
JWT는 Auth 서버 (서명/' kid ') 를 묻지 않고 편리하며 불투명 한 콘텐츠를 취소하고 숨기는 것이 더 쉽습니다. 둘 다 종종 사용됩니다: 외부 JWT, 내부적으로 내성적으로 불투명.
Access Token은 얼마나 오래 살고 있습니까?
짧음: 사용자 정의의 경우 5-15 분, 기계의 경우 15-60 분. 새로 고침 메커니즘으로 보상.
키를 안전하게 회전시키는 방법?
'액티브/다음' 을 유지하고 JWKS에 게시하고 클라이언트를 'kid' 로 전환 한 다음 이전 클라이언트를 리콜하십시오.
합계
강력한 개발자 포털은 기본적으로 셀프 서비스, 관찰 및 보안입니다. 토큰 발행/회전/취소, 투명한 한도 및 청구, 고품질 문서 및 SDK, 안정적인 웹 후크 및 감사에 대한 명확한 프로세스를 제공하십시오. 그런 다음 적분기가 빠르게 시작되고 플랫폼이 관리 가능하고 호환되며 부하 상태에서 안정적으로 유지됩니다.