正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

トークン情報API

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed
  • ステータス: 実験的機能

このAPIを使用すると、任意のトークンに関する詳細を取得し、それらを失効することができます。他のトークン情報を公開するAPIとは異なり、このAPIを使用すると、トークンの特定のタイプを知らなくても、詳細を取得したり、トークンを失効することができます。

トークンのプレフィックス

リクエストを行う場合、personalproject、またはgroup accessトークンは、glpatまたは現在のカスタムプレフィックスで始まる必要があります。トークンが以前のカスタムプレフィックスで始まる場合、操作は失敗します。以前のカスタムプレフィックスのサポートへの関心は、issue 165663で追跡されます。

前提要件:

  • インスタンスへの管理者アクセス権が必要です。

トークンに関する情報を取得します

指定されたトークンの情報を取得します。このエンドポイントは、次のトークンをサポートしています:

POST /api/v4/admin/token

サポートされている属性は以下のとおりです:

属性必須説明
token文字列はい識別する既存のトークン。Personalproject、またはgroup accessトークンは、glpatまたは現在のカスタムプレフィックスで始まる必要があります。

成功した場合、200とトークンに関する情報を返します。

次のステータスコードを返すことができます:

  • 200 OK: トークンに関する情報。
  • 401 Unauthorized: ユーザーは認証されていません。
  • 403 Forbidden: ユーザーは管理者ではありません。
  • 404 Not Found: トークンが見つかりませんでした。
  • 422 Unprocessable: トークンタイプはサポートされていません。

リクエスト例:

curl --request POST \
  --url "https://gitlab.example.com/api/v4/admin/token" \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --header 'Content-Type: application/json' \
  --data '{"token": "glpat-<example-token>"}'

レスポンス例:

{
 "id": 1,
 "user_id": 70,
 "name": "project-access-token",
 "revoked": false,
 "expires_at": "2024-10-04",
 "created_at": "2024-09-04T07:19:18.652Z",
 "updated_at": "2024-09-04T07:19:18.652Z",
 "scopes": [
  "api",
  "read_api"
 ],
 "impersonation": false,
 "expire_notification_delivered": false,
 "last_used_at": null,
 "after_expiry_notification_delivered": false,
 "previous_personal_access_token_id": null,
 "advanced_scopes": null,
 "organization_id": 1
}

トークンを失効させる

この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。この機能はテストには利用できますが、本番環境での使用には適していません。

トークンのタイプに基づいて、特定のトークンを失効、リセット、または削除します。このエンドポイントは、次のトークンタイプをサポートしています:

トークンの種類サポートされているアクション
パーソナルアクセストークン失効
代理トークン失効
プロジェクトアクセストークン失効
グループアクセストークン失効
デプロイトークン失効
クラスターエージェントトークン失効
パイプライントリガートークン失効
フィードトークンリセット
Runner認証トークンリセット
OAuthアプリケーションシークレットリセット
受信メールトークンリセット
機能フラグクライアントトークンリセット
GitLabセッションクッキー削除
DELETE /api/v4/admin/token

サポートされている属性は以下のとおりです:

属性必須説明
token文字列はい失効する既存のトークン。Personalproject、またはgroup accessトークンは、glpatまたは現在のカスタムプレフィックスで始まる必要があります。

成功した場合、コンテンツなしで204を返します。

次のステータスコードを返すことができます:

  • 204 No content: トークンは失効されました。
  • 401 Unauthorized: ユーザーは認証されていません。
  • 403 Forbidden: ユーザーは管理者ではありません。
  • 404 Not Found: トークンが見つかりませんでした。
  • 422 Unprocessable: トークンタイプはサポートされていません。

リクエスト例:

curl --request DELETE \
  --url "https://gitlab.example.com/api/v4/admin/token" \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --header 'Content-Type: application/json' \
  --data '{"token": "glpat-<example-token>"}'