日本語
  • パーソナルアクセストークン
  • 認証

パーソナルアクセストークンで API 認証を簡素化 — より安全な API トークン

パーソナルアクセストークン (PAT) がどのように機能するか、それを使用するタイミング、サービスでの PAT 機能をサポートする方法、API キー、API トークン、ベアラートークン、OAuth トークン、パスワードとの違いについて説明します。

Ran
Ran
Product & Design

ユーザー認証に何週間も費やすのはもうやめましょう
Logto でより速く安全なアプリをリリース。数分で認証を統合し、コア製品に集中できます。
始めましょう
Product screenshot

パーソナルアクセストークン (PAT) は、API コールにおいてパスワードを置き換えるユーザー生成のトークンです。特定のユーザー用に設計されており、PAT はリソースへの安全かつ制御されたアクセスを提供します。

簡単な認証。.細かいアクセス制御。.合理化されたワークフロー。 これらは、CI/CD パイプラインを管理したり、API を統合したり、ツールにアクセスしたりする際に、生産性を高めるために世界中の開発者やプロダクトチームがパーソナルアクセストークンに依存する理由のいくつかに過ぎません。

PAT の仕組みや利点、使用するタイミングについて知りたいですか?このガイドがカバーします。

パーソナルアクセストークンとは何ですか?

パーソナルアクセストークンは、一時的で安全な認証方法であり、API を通じて個人的なリソースやサービスにアクセスします。主に開発者が、API へのアクセスやワークフローの自動化を簡単かつ効率的に行うために使用します。

パーソナルアクセストークンは API アクセスの「キー」と考えてください。パスワードの必要性を置き換えます。パスワードとは異なり、PAT は特定の権限と有効期限があり、ユーザープロファイルや課金システムにはアクセスできますが、管理者権限にはアクセスできないなど、本来の目的のためにのみ使用されます。

パーソナルアクセストークンの主要な機能:

  • 開発者に優しい:パーソナルアクセストークンは完全な OAuth ワークフローよりも管理が容易で、スクリプト、オートメーション、または CI/CD パイプラインに最適です。
  • 複数のトークン:ユーザーは複数のパーソナルアクセストークンを生成して管理でき、それぞれが特定のサービスや目的に捧げられています。
  • ユーザー固有のアクセス:グローバル API キーとは異なり、パーソナルアクセストークンは個々のユーザーアカウントに関連付けられています。これにより、チームメンバーは共有アクセスのために別々のトークンを作成する必要があるかもしれません。
  • 細かな権限:パーソナルアクセストークンを使うことで、特定のスコープを定義し、必要なリソースやアクションにのみアクセスできます。
  • 時間制限付きアクセス:パーソナルアクセストークンには、有効期限を設定することができ、露出した場合のリスクウィンドウを削減します。
  • 簡単な取り消し:パスワードとは異なり、パーソナルアクセストークンは、アカウントの主要な資格情報を危険にさらすことなく、取り消したり再生成したりできます。

パーソナルアクセストークン対ベアラートークン対 API トークン

  1. パーソナルアクセストークンは API トークンの一種:パーソナルアクセストークンは、ユーザーアカウントにリンクされたユーザーレベルの API トークンの一種です。ユーザーに代わってシステムリソースへのアクセス許可を与えます。PAT は、特定のリポジトリや組織へのアクセスの制限など、細かな権限を制御できるため、従来の API キーよりも安全であり、セキュリティを強化するために有効期限を含めることができます。
  2. パーソナルアクセストークンはベアラートークンとして使用できます:ベアラートークンは、API リクエストを承認する方法であり、しばしば OAuth や JWT のようなプロトコルを使用して動的に作成されます。パーソナルアクセストークンは、手動で生成されるベアラートークンの静的バージョンです (例: GitHub 上で)。例えば、GitHub パーソナルアクセストークンを API コールで使用する場合、リクエストヘッダーに authorization: bearer <your-pat> として含めます。この場合、PAT はベアラートークンとして機能します。
  3. API トークンは広い用語です:API トークンは、API リクエストの認証に使用される任意のトークンを指す一般的な用語です。ベアラートークンや OAuth トークン、パーソナルアクセストークンなど、さまざまな種類が含まれます。PAT やベアラートークンは、API トークンの特定の種類です。

あなたの AuthN および AuthZ メカニズムを選択

パーソナルアクセストークンを採用する前に、その役割をより広い認証方法の中で理解することが重要です。さまざまなメカニズムがある中で、どのように比べるかを知ることが重要です。以下は、パーソナルアクセストークン (PAT)パスワードAPI キーOAuth トークン の主要な違いを概説した包括的な表で、情報に基づいた決定を下すのに役立ちます。

  1. パーソナルアクセストークン: 自動化されたタスクや API アクセスに理想的な軽量な認証方法です。.細かな権限を持つコントロールを提供し、安全かつ独自のアクセスを確保します。
  2. パスワード: ユーザーインターフェースを介して個人アカウントにアクセスするために使用される従来の認証方法です。アカウント所有者と同じ権限を許可し、追加の細分性を提供しません。
  3. OAuth トークン: サードパーティ サービスに制限されたアクセス権を付与するための最も安全な方法です。.ユーザーが自身の資格情報を公開せずに特定のアクセススコープを定義できるようにし、安全性と柔軟性の両方を確保します。
  4. API キー: 通常、API アクセスの自動化に使用される API キーは、個人アカウントではなくサービスアカウントにリンクされています。ただし、PAT や OAuth で利用できる詳細な権限管理を欠いています。
機能パスワードパーソナルアクセストークンOAuth トークンAPI キー
定義ユーザーは識別子とパスワードで認証します。特定のリソースや API にアクセスするためのトークンで、しばしば限定された権限が与えられます。ユーザーがサードパーティ アプリに資格情報を共有せずにデータへのアクセスを許可するシステムです。. 例: Google ログインクライアントが API リクエストを認証するために使用する一意の文字列です。
スコープ制限ログインすると通常、ユーザーのアカウントに完全アクセスを許可します。細かな権限のコントロールを許可します。サードパーティ アプリがアクセスできる内容をユーザーが定義できます。通常、特定の API リソースへのアクセス権が与えられます。細かい管理はありません。
取り消しパスワードを変更しないと、複数のサービスに影響を与えるため、取り消すのが難しいです。ユーザーや管理者によって簡単に取り消せます。ユーザーの資格情報に影響を与えることなく取り消せます。API サービス レベルで取り消したり再生成したりできます。
有効期限ユーザーによって変更されないと期限切れになりません。しばしば長期間有効ですが、期限を設定できます。アクセストークンは設定された時間が経つと期限切れになります。リフレッシュトークンによってアクセスを延長できます。しばしば長期間有効ですが、API プロバイダーによってローテーションされたり制限されたりすることがあります。
使いやすさ覚えやすいですが、誤って扱うとリスクがあります。自動化されたタスクを生成して使用するのが簡単です。初期のユーザー インタラクションが必要ですが、安全なアクセスの委任を提供します。リクエストで簡単に使用できますが、ユーザー向け認証には理想的ではありません。
最適Customer-side ユーザーの基本的なサインインと検証。.自動化、限定された API リソースアクセス、CI/CD パイプラインでの開発。.パスワードを保存せずにユーザーデータへの制限付きアクセスが必要なサードパーティ アプリ。バックエンド サービス、サーバー間通信、および公開 API。
セキュリティリスク盗まれた場合、アカウントに完全アクセスを許可します。漏れた場合、指定されたリソースにのみアクセスを許可します。簡単に取り消せます。漏れた場合、サードパーティ アプリは許可されたスコープ内でアクションを実行できます。盗まれた場合、通常サーバー間アクセスに使用されます。

パーソナルアクセストークンはどのように機能しますか?

パーソナルアクセストークンは、OAuth アクセストークンのように機能しますが、通常はその内容に関するユーザーが読み取れるデータを含まない文字列です。GitHub のようなサービスで認証するとき、あなたのユーザーアカウントに結びつけ、特定の権限を割り当てられた PAT を生成できます。このトークンは、リクエストを行う際にパスワードを使用する代わりに、プライベートリポジトリにアクセスするための安全な代替手段として機能します。

通常、PAT はリクエストヘッダーに次のように含まれています。

このようにして PAT を送信することによって、サービスはあなたの身元を確認し、トークンにリンクされた権限を評価し、要求されたデータを提供するか、指定されたアクションを実行するかを判断します。

パーソナルアクセストークンを使用する方法は?

  • パーソナルアクセストークンの生成: 使用しているプラットフォームを通じてパーソナルアクセストークンを作成し始めます。そして、トークンのアクセス権限 (スコープ) を定義する特定のスコープを選択します。
  • API リクエストの認証: パーソナルアクセストークンの準備が整ったら、安全なアクセスを必要とするサービスにリクエストを認証します。API リクエストの承認ヘッダーにトークンをベアラートークンとして含めます。
  • パーソナルアクセストークンの取り消し: トークンを無効にする必要がある場合は、プラットフォームの認証設定を通じて単にそれを取り消します。取り消された場合、そのトークンで行われたすべての API リクエストは自動的に拒否されます。

パーソナルアクセストークンはいつ使用するべきですか?

パーソナルアクセストークンは、API への安全で開発者に優しくスコープされたアクセスを提供する必要があるシナリオで優れた性能を発揮します。以下に理想的なユースケースをいくつか示します。

  • 自動化されたタスク: API からデータを取得する必要があるスクリプトやツールに最適で、開発者が機密の資格情報を埋め込む必要がありません。
  • 細かな権限の制御: スクリプトやツールに限定された権限を付与することで、特定のリポジトリへのアクセスを許可するなど、フルアカウント権限を公開せずに正確なアクセスを可能にします。
  • 一時的なアクセス: セキュリティリスクを最小化するために、アクセス期間を制限する必要がある時間制限された状況に最適です。
  • 簡略化された開発者アクセス: フル OAuth 認可フローを設定する複雑さなしに、個々の開発者にアクセスを付与する便利な方法です。
  • サードパーティ統合: 外部ツールとの機能を最適化することによって、特定の事前定義されたアクションに対するアクセスを制限します。例えば、ある会社がプロジェクト管理ツールを使用しているとき、サードパーティ統合によりチームメンバーがプロジェクト管理ツールにフルアクセスせずにスラックのチャットから直接タスクを作成したりステータスを更新したりすることができます。

GitHub は 2013 年からパーソナルアクセストークンの使用を推進しており、それらはシンプルで柔軟なため人気を集めています。多くの開発者ツールおよび SaaS プラットフォームが PAT をサポートしており、使いやすく、開発者にとっての選択肢となっています。

  • 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 は総合的な顧客アイデンティティおよびアクセス管理 (CIAM) ソリューションであり、パーソナルアクセストークンを簡単に作成、管理、取り消すことができます。以下は開始方法です:

  1. Logto コンソール > ユーザー管理に移動します。
  2. 特定のユーザーのプロフィールにアクセスして、そのパーソナルアクセストークンを管理します。

personal-acess-tokens-management.webp

Logto で以下が可能です:

  • 新しいパーソナルアクセストークンを生成します。
  • 一人のユーザーに対して複数のトークンを管理します。
  • トークンの有効期限をカスタマイズして設定します。
  • トークンをより良く整理するために名前を変更します。
  • トークンが不要になったら取り消します。

logto-create-personal-access-token.png

さらに、ユーザーは自分のプロファイル設定ページを通じて、Logto 管理 APIを使用してパーソナルアクセストークンを自己管理できます。