한국어
  • Personal access token
  • Authentication

개인 액세스 토큰으로 API 인증 간소화 — 더 안전한 API 토큰

개인 액세스 토큰(PAT)이 어떻게 작동하는지, 언제 사용해야 하는지, 서비스에서 PAT 기능을 지원하는 방법, API 키, API 토큰, Bearer 토큰, OAuth 토큰 및 비밀번호와 어떻게 다른지 설명합니다.

Ran
Ran
Product & Design

사용자 인증에 몇 주를 낭비하지 마세요
Logto로 더 빠르게 안전한 앱을 출시하세요. 몇 분 만에 사용자 인증을 통합하고 핵심 제품에 집중하세요.
시작하기
Product screenshot

개인 액세스 토큰(PAT)은 API 호출을 위한 비밀번호를 대체하는 사용자 생성 토큰입니다. 특정 사용자에게 설계된 PAT는 리소스에 대한 안전하고 통제된 액세스를 제공합니다.

수월한 인증. 세밀한 액세스 제어. 간소화된 워크플로. 이는 전 세계 개발자와 제품 팀이 CI/CD 파이프라인 관리, API 통합 또는 도구에 액세스할 때 생산성을 크게 향상하기 위해 개인 액세스 토큰을 사용하는 몇 가지 이유에 불과합니다.

PAT이 어떻게 작동하는지, 그 이점 및 언제 사용하는지 궁금하시나요? 이 가이드가 모든 것을 커버합니다.

개인 액세스 토큰이란?

개인 액세스 토큰은 API를 통해 개인 리소스 및 서비스에 액세스하는 임시의 안전한 인증 방법입니다. 주로 개발자가 API에 접근하거나 워크플로 자동화 같은 작업을 더 간단하고 효율적으로 수행하기 위해 사용됩니다.

개인 액세스 토큰을 API 액세스에 대한 "키"로 생각하세요. 비밀번호가 필요하지 않도록 대체합니다. 비밀번호와 달리, PAT는 특정 권한과 만료 날짜를 가지므로 사용자 프로필이나 청구 시스템에 액세스와 같은 의도된 용도로만 사용되며 관리자 제어에는 사용되지 않습니다.

개인 액세스 토큰의 주요 기능:

  • 개발자 친화적: 개인 액세스 토큰은 전체 OAuth 워크플로보다 관리하기 쉬워 스크립트, 자동화, 또는 CI/CD 파이프라인에 이상적입니다.
  • 다중 토큰: 사용자는 특정 서비스나 목적에 맞게 각각 개인 액세스 토큰을 생성하고 관리할 수 있습니다.
  • 사용자별 액세스: 전역 API 키와 달리, 개인 액세스 토큰은 개별 사용자 계정에 연결됩니다. 이는 팀원이 공유 액세스를 위해 별도의 토큰을 생성해야 할 수 있음을 의미합니다.
  • 세밀한 권한: 개인 액세스 토큰을 사용하면 특정 스코프를 정의하여 필요한 리소스와 작업에만 액세스할 수 있습니다.
  • 시간 제한 액세스: 개인 액세스 토큰은 만료 날짜를 설정할 수 있어 노출 시 위험 창을 줄입니다.
  • 쉬운 해지: 비밀번호와 달리, 개인 액세스 토큰은 계정의 주요 자격 증명을 손상시키지 않고도 해지하거나 다시 생성할 수 있습니다.

개인 액세스 토큰 vs. Bearer 토큰 vs. API 토큰

  1. 개인 액세스 토큰은 API 토큰의 한 유형: 개인 액세스 토큰은 사용자 계정에 연결된 사용자 수준의 API 토큰 유형입니다. 사용자를 대신해 시스템 리소스에 액세스할 수 있는 권한을 부여합니다. PAT는 특정 저장소나 조직에 대한 액세스를 제한하는 것과 같은 권한을 세밀하게 제어할 수 있으므로 전통적인 API 키보다 안전합니다. 또한 추가 보안을 위해 만료 날짜를 포함할 수 있습니다.
  2. 개인 액세스 토큰은 Bearer 토큰으로 사용될 수 있다: Bearer 토큰은 주로 OAuth 또는 JWT와 같은 프로토콜을 사용하여 동적으로 생성된 API 요청을 승인하는 방법입니다. 개인 액세스 토큰은 사용자가 수동으로 생성하는 Bearer 토큰의 정적 버전입니다(예: GitHub에서). 예를 들어, GitHub PAT를 API 호출에 사용할 때 요청 헤더에 authorization: bearer <your-pat>로 포함합니다. 이 경우 PAT는 Bearer 토큰으로 작동합니다.
  3. API 토큰은 포괄적인 용어: API 토큰은 API 요청을 인증하는 데 사용되는 모든 토큰을 나타내는 일반적인 용어입니다. Bearer 토큰, OAuth 토큰, 개인 액세스 토큰 등 다양한 유형을 포함합니다. PAT와 Bearer 토큰은 단순히 API 토큰의 특정 유형입니다.

인증 및 권한 부여 메커니즘 선택하기

개인 액세스 토큰을 도입하기 전에, 보안 방법 내에서의 역할을 이해하는 것이 중요합니다. 여러 메커니즘 중 하나를 선택해야 하므로, 각각을 비교하는 것이 중요합니다. 아래는 개인 액세스 토큰(PAT), 비밀번호, API 키, OAuth 토큰 간의 주요 차이점을 설명하는 포괄적인 표입니다. 이를 통해 정보를 바탕으로 결정을 내릴 수 있습니다.

  1. 개인 액세스 토큰: 자동화된 작업이나 API 액세스에 이상적인 경량의 인증 방법으로, 권한이 정확하고 세밀하게 제어되므로 안전하고 맞춤화된 액세스를 보장합니다.
  2. 비밀번호: 사용자 인터페이스를 통해 개인 계정을 접근하는 전통적인 인증 방식으로, 계정 소유자와 동일한 권한을 부여하며 추가적인 세분화를 제공하지 않습니다.
  3. OAuth 토큰: 제삼자 서비스에 제한된 액세스를 부여하는 가장 안전한 방법으로 사용자가 자격 증명을 노출하지 않고 특정 액세스 범위를 정의할 수 있어 보안과 유연성을 보장합니다.
  4. API 키: 일반적으로 API 액세스를 자동화하는 데 사용되며, API 키는 개인 계정이 아닌 서비스 계정에 연결됩니다. 그러나 PAT 또는 OAuth와 함께 사용할 수 있는 세부적인 권한 제어는 제공하지 않습니다.
기능비밀번호Personal access tokenOAuth tokenAPI key
정의사용자는 식별자와 비밀번호로 인증합니다.제한된 권한으로 특정 리소스 또는 API에 액세스하기 위한 토큰입니다.사용자가 자신의 데이터를 공유하지 않고 제삼자 앱에 대한 액세스를 부여하는 시스템입니다. 예: Google 로그인API 요청을 인증하는 데 사용되는 고유 문자열입니다.
범위 제한일반적으로 로그인 후 사용자 계정에 대한 전체 액세스를 부여합니다.권한에 대한 세밀한 제어를 허용합니다.제삼자 앱이 접근할 수 있는 것을 사용자가 정의할 수 있습니다.특정 API 리소스에 대한 액세스를 부여합니다. 세밀한 제어는 없습니다.
해지비밀번호를 변경하지 않고는 해지가 어렵습니다. 여러 서비스에 영향을 미칩니다.사용자 또는 관리자에 의해 쉽게 해지할 수 있습니다.사용자 자격 증명에 영향을 주지 않고 해지할 수 있습니다.API 서비스 레벨에서 해지하거나 재생성할 수 있습니다.
만료사용자가 변경하지 않으면 만료되지 않습니다.종종 장기간 사용되지만 만료되도록 구성할 수 있습니다.엑세스 토큰은 설정된 시간이 지나면 만료되며, 리프레시 토큰으로 액세스 시간을 연장할 수 있습니다.종종 장기간 사용되지만 API 제공자가 회전시키거나 제한할 수 있습니다.
사용 용이성기억하기 쉽지만 오용 시 위험합니다.자동화된 작업에 대해 생성하고 사용하기 쉽습니다.초기 사용자 상호작용이 필요하지만 안전한 액세스 위임을 제공합니다.요청에서 사용하기 쉬우나 사용자 중심 인증에는 적합하지 않습니다.
이상적인 사용고객 측 사용자의 기본 로그인과 검증.자동화, 제한된 API 리소스 액세스, 및 CI/CD 파이프라인에서의 개발.제삼자 앱이 비밀번호를 저장하지 않고도 사용자 데이터에 대한 제한된 액세스가 필요할 때백엔드 서비스, 서버 간 통신, 및 공공 API.
보안 위험도난당하면 계정에 대한 전체 액세스를 허용합니다.노출 시 지정된 리소스에만 액세스가 허용됩니다. 쉽게 해지할 수 있습니다.노출 시 제삼자 앱이 부여된 범위 내에서 작업을 수행할 수 있습니다.도난당하면 서버 간 액세스에 일반적으로 사용됩니다.

개인 액세스 토큰은 어떻게 작동합니까?

개인 액세스 토큰은 대개 사용자 읽기 가능한 데이터가 없는 문자열로 구성된 OAuth 액세스 토큰과 유사하게 작동합니다. GitHub과 같은 서비스로 인증할 때, 사용자 계정에 연결된 PAT를 생성하고 특정 권한을 할당할 수 있습니다. 이 토큰은 비밀번호 대신 요청을 만드는 안전한 대안으로 작동합니다. 예를 들어 API를 통해 비공개 저장소에 액세스하는 것처럼.

일반적으로, PAT는 요청 헤더에 포함됩니다. 다음 예제를 참고하세요:

이 방법으로 PAT를 전송하면, 서비스는 사용자의 정체성을 확인하고 토큰에 연결된 권한을 평가하여 요청된 데이터를 제공하거나 지정된 작업을 수행합니다.

개인 액세스 토큰을 사용하는 방법

  • 개인 액세스 토큰 생성: 사용하는 플랫폼을 통해 개인 액세스 토큰을 생성하고, 액세스 권한(스코프)을 정의합니다.
  • API 요청 인증: 개인 액세스 토큰을 준비한 후 보안 액세스가 필요한 서비스에 대한 요청을 인증하는 데 사용하십시오. API 요청의 인증 헤더에 Bearer 토큰으로 포함하십시오.
  • 개인 액세스 토큰 해지: 토큰을 비활성화해야 할 경우, 플랫폼의 인증 설정을 통해 간단히 해지하십시오. 해지 후 해당 토큰으로 수행된 모든 API 요청은 자동으로 거부됩니다.

언제 개인 액세스 토큰을 사용해야 하나요?

개인 액세스 토큰은 API에 안전하고 개발자 친화적이며 스코프화된 액세스를 제공해야 할 때 뛰어난 힘을 발휘합니다. 다음은 몇 가지 이상적인 사용 사례입니다:

  • 자동화된 작업: 민감한 자격 증명을 포함하지 않고도 API에서 데이터를 가져와야 하는 스크립트나 도구에 적합합니다.
  • 세밀한 권한 제어: 스크립트나 도구에 특정 저장소에 대한 액세스와 같이 제한된 권한을 부여하여 전체 계정 권한을 노출하지 않고 정확한 액세스를 제공합니다.
  • 일시적 액세스: 보안 위험을 최소화하기 위한 시간에 민감한 상황에 이상적입니다.
  • 개발자 액세스 간소화: 전체 OAuth 인증 플로를 설정하는 복잡함 없이 개별 개발자에게 액세스를 부여하는 편리한 방법입니다.
  • 제삼자 통합: 외부 도구와의 통합 기능을 최적화하여 특정 사전 정의된 작업에 대한 액세스를 제한합니다. 예를 들어 회사가 프로젝트 관리 도구를 사용하는 경우, 제삼자 통합은 팀원이 Slack 채팅에서 직접 작업을 생성하거나 상태를 업데이트할 수 있게 하여 프로젝트 관리 도구에 대한 전체 액세스가 필요하지 않습니다.

GitHub은 2013년부터 개인 액세스 토큰 사용을 주도하고 있으며, 이는 단순하고 유연함 덕분에 인기를 얻고 있습니다. 많은 개발자 도구와 SaaS 플랫폼이 PATs를 지원하여 사용하기 쉬우며 개발자가 선호하는 선택이 되고 있습니다:

  • GitHub/GitLab/Azure DevOps (개발 도구): CI/CD 자동화, 다른 도구와의 연결 및 코드 저장소 관리에 도움을 줍니다.

    github-personal-access-token.png

  • Figma (디자인 도구): API 통합을 통해 디자인 협업을 쉽게 만듭니다.

    figma-personal-access-token.png

  • Atlassian Jira / Asana (프로젝트 관리): API를 통해 작업 생성, 업데이트 또는 삭제, 스프린트 관리 및 프로젝트 조직을 쉽게 만듭니다.

    jira-personal-access-token-admin.png

개인 액세스 토큰을 다른 사용자와 공유할 수 있나요?

짧은 대답—아니요, 하지 않아야 합니다.

토큰은 개별 계정에 연결되어야 하며 절대 공유되어서는 안 됩니다. 다른 사람에게 액세스가 필요한 경우, 그들에게 권한이 있는 고유 토큰을 생성하거나 사용자 역할을 설정하는 것이 좋습니다. 이를 통해 보안 위험을 피할 수 있습니다. 토큰을 잘못 사용하면 의도치 않은 액세스, 데이터 손상, 또는 개인정보 침해가 발생할 수 있습니다. 토큰은 비밀로 유지하고 손상된 것으로 의심되는 토큰은 해지하십시오.

Logto로 애플리케이션에 개인 액세스 토큰 생성 가능하게 하기

B2B 서비스를 제공하든 최신 AI 제품을 개발하든, 개발자 친화적인 인증 및 권한 부여 구현은 필수입니다. 개인 액세스 토큰은 비즈니스의 새로운 기회를 열 수 있습니다.

Logto는 포괄적인 고객 ID 및 액세스 관리(CIAM) 솔루션으로, 개인 액세스 토큰을 쉽게 생성, 관리 및 해지할 수 있습니다. 시작하려면 다음 단계를 따르세요:

  1. Logto 콘솔 > 사용자 관리로 이동합니다.
  2. 특정 사용자의 프로필에 접근하여 그들의 개인 액세스 토큰을 관리합니다.

personal-acess-tokens-management.webp

Logto와 함께라면:

  • 새로운 개인 액세스 토큰을 생성할 수 있습니다.
  • 단일 사용자에 대해 여러 토큰을 관리할 수 있습니다.
  • 토큰에 맞춤 만료 날짜를 설정할 수 있습니다.
  • 더 나은 조직을 위해 토큰의 이름을 변경할 수 있습니다.
  • 더 이상 필요하지 않을 때 토큰을 해지할 수 있습니다.

logto-create-personal-access-token.png

추가적으로, Logto 관리 API를 통해 사용자가 프로필 설정 페이지에서 자신의 개인 액세스 토큰을 자가 관리할 수 있습니다.