きめ細かいパーソナルアクセストークン
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
きめ細かいパーソナルアクセストークンは、定義した特定のリソースと権限のみにスコープされます。トークンを作成する際、以下の属性を定義します:
- リソース: API操作のコレクション。リソースはより大きな境界(
Group and project、User、およびGlobal)にグループ化されます。 - 権限: トークンがリソースに対して実行できる特定のアクション。一般的に、これらは作成、読み取り、更新、および削除アクションに準拠します。
きめ細かいパーソナルアクセストークンを作成する
きめ細かいパーソナルアクセストークンを作成するには:
- 右上隅で、アバターを選択します。
- プロファイルを編集を選択します。
- 左サイドバーで、アクセス > パーソナルアクセストークンを選択します。
- トークンを生成ドロップダウンリストから、細粒度トークンを選択します。
- 名前と説明フィールドに入力します。
- 有効期限テキストボックスに、トークンの有効期限を入力します。
- トークンはその日付のUTC午前0時に期限切れになります。
- 日付を入力しない場合、有効期限は今日から365日後に設定されます。
- デフォルトでは、有効期限は今日から365日を超えることはできません。GitLab 17.6以降では、管理者がアクセストークンの最大ライフタイムを修正できます。
- グループまたはプロジェクトのリソースを追加する場合は、グループとプロジェクトへのアクセスの下にあるオプションを選択します。
- リソース権限の追加の下:
- グループとプロジェクト、ユーザー、またはグローバルタブを使用して、スコープでリソースをフィルタリングします。
- 左パネルで、1つまたは複数のリソースを選択します。
- 右パネルで、各リソースの利用可能な権限を選択します。
- トークンを生成を選択します。
パーソナルアクセストークンが表示されます。パーソナルアクセストークンを安全な場所に保存します。ページを離れるか更新すると、再度表示することはできません。
sudoを使用したユーザーの偽装
管理者は、詳細権限パーソナルアクセストークンを作成して、REST APIでsudoパラメータを使用して他のユーザーを偽装できます。
管理者のみがsudo機能を持つトークンを作成できます。管理者ではないユーザーが作成しようとすると、エラーを受け取ります。
きめ細かいトークンは、偽装中も独自の権限を適用し続けます。トークンは、次の両方が真である場合にのみアクションを実行できます:
- 偽装されたユーザーがアクションを実行することを許可されていること。
- トークンがアクションを許可する権限を持っていること。
この動作は、偽装されたユーザーとして任意のアクションを実行できる、sudoスコープを持つ従来のパーソナルアクセストークンとは異なります。
sudo機能を持つトークンは、任意のユーザーとして機能できます。その権限と境界を最小限に制限し、安全に保存してください。
利用可能なきめ細かい権限
詳細権限パーソナルアクセストークンが使用できる権限は、トークンがエンドポイントを呼び出す方法によって異なります:
きめ細かいパーソナルアクセストークンの適用
指定された適用開始日以降、ユーザーにきめ細かいパーソナルアクセストークンの採用を要求できます。この日付以降、既存の従来のパーソナルアクセストークンはユーザープロファイルに表示されたままになりますが、リソースへのアクセスには使用できません。
GitLab.comとGitLab Self-Managedでは、適用方法は異なります:
- GitLab.comでは、適用はトップレベルグループに適用され、すべてのサブグループとプロジェクトに継承されます。
- GitLab Self-Managedでは、適用はインスタンス全体に適用されます。
トップレベルグループのきめ細かいトークンを適用する
前提条件:
- トップレベルグループのオーナーロールが必要です。
GitLab.comでは、適用はグループとそのサブグループおよびプロジェクトに適用され、適用開始日以降は従来のパーソナルアクセストークンがそれらのリソースにアクセスするのをブロックします。ユーザーは引き続き従来のトークンを作成できますが、それらのトークンはグループの適用されたリソースにアクセスできません。
この設定はGitLab Self-Managedでは利用できません。
トップレベルグループでのみきめ細かいトークンを適用できます。
トップレベルグループにきめ細かいパーソナルアクセストークンを適用するには:
- 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
- 設定 > 一般を選択します。
- 権限とグループ機能を展開します。
- 指定日以降は、きめ細かいパーソナルアクセストークンを必須にするを選択します。
- 将来の適用開始日を入力します。適用開始日は協定世界時(UTC)です。
- 変更を保存を選択します。
適用開始日以降、ユーザーが従来のトークンを使用してトップレベルグループ、任意のサブグループ、またはプロジェクトのリソースにアクセスしようとすると、エラーを受け取ります。エラーには、きめ細かいトークンが必要とするリソースの境界と権限がリストされます。例:
Access denied: This operation requires a fine-grained personal access token with the following project permissions: [Project: Read].GitLab Self-Managedでのきめ細かいトークンの適用
前提条件:
- 管理者である必要があります。
GitLab Self-Managedでは、適用はインスタンス全体に適用され、適用開始日以降、ユーザーが従来のパーソナルアクセストークンを作成またはローテーションするのをブロックします。ユーザーはきめ細かいトークンのみを作成できます。既存の従来のトークンは、有効期限が切れるまで機能し続けます。
インスタンスにきめ細かいパーソナルアクセストークンを適用するには:
- 左側のサイドバーの下部で、管理者を選択します。
- 設定 > 一般を選択します。
- アカウントと制限を展開します。
- 指定日以降は、きめ細かいパーソナルアクセストークンを必須にするを選択します。
- きめ細かいパーソナルアクセストークン適用開始日に、将来の日付を入力します。
- 変更を保存を選択します。
適用開始日以降、ユーザーが従来のトークンを作成またはローテーションしようとすると、エラーを受け取ります。