- プロジェクトアクセストークンの作成
- プロジェクトアクセストークンの失効
- プロジェクトアクセストークンのスコープ
- プロジェクトのアクセストークン作成を有効または無効にします。
- プロジェクトのボットユーザー
- トークンの利用可能性
プロジェクトアクセストークン
- GitLab 13.0から導入されました。
- GitLab13.5から有料グループのみGitLab.comで利用可能に。
- GitLab 13.5で機能フラグが削除されました。
- GitLab 14.5で変更。デフォルトの接頭辞を追加しました。
- GitLab 16.1のトライアルサブスクリプションで利用可能に。デフォルトの接頭辞を追加しました。
プロジェクトアクセストークンはパスワードに似ていますが、リソースへのアクセスを制限したり、制限されたロールを選択したり、有効期限を設定したりすることができます。
認証にはプロジェクトアクセストークンを使用します:
- GitLab APIを使用します。
- GitでHTTPベーシック認証を使用する場合は、次のようにします:
- 空白でない任意の値をユーザー名として使用します。
- プロジェクトアクセストークンをパスワードとして指定します。
プロジェクトアクセストークンは、グループアクセストークンや パーソナルアクセストークンと似ています。
自己管理インスタンスでは、プロジェクト・アクセストークンに個人アクセストークンと同じ最大ライフタイム制限が設定されている場合、その制限が適用されます。
プロジェクトアクセストークンを使用することができます:
- GitLab SaaSの場合:Premium または Ultimate ライセンスの場合、トライアルライセンスで利用できるプロジェクトアクセストークンは 1 つだけです。
- GitLabのセルフマネージドインスタンス上:どのライセンス階層でも。Freeの場合は、プロジェクトアクセストークンを無効にして悪用されないようにしましょう。
プロジェクトのアクセストークンを使って他のグループ、プロジェクト、個人のアクセストークンを作成することはできません。
プロジェクト アクセストークンは、個人アクセストークンに設定されたデフォルトのプレフィックス設定を継承します。
プロジェクトアクセストークンの作成
プロジェクト・アクセストークンを作成するには、以下の手順に従います:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 設定] > [アクセストークン]を選択します。
- 名前を入力します。トークン名は、プロジェクトを表示する権限を持つすべてのユーザーに表示されます。
- トークンの有効期限を入力します。
- トークンの有効期限はその日の午前0時(UTC)です。
- 有効期限を入力しない場合、有効期限は自動的に現在の日付より365日後に設定されます。
- デフォルトでは、この日付は現在の日付より最大 365 日遅くなります。
- インスタンス全体の最大有効期間の設定により、自己管理インスタンスで許容される最大有効期間を制限できます。
- トークンのロールを選択します。
- 必要なスコープを選択します。
- プロジェクトアクセストークンの作成」を選択します。
プロジェクトアクセストークンが表示されます。プロジェクトアクセストークンを安全な場所に保存します。ページを離れたり更新したりすると、二度と表示できなくなります。
プロジェクトアクセストークンの失効
プロジェクトのアクセストークンを失効させるには、以下の手順に従います:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- 設定] > [アクセストークン]を選択します。
- 取り消すプロジェクトのアクセストークンの横で、[取り消す] を選択します。
プロジェクトアクセストークンのスコープ
プロジェクトアクセストークンで認証したときに実行できるアクションは、スコープによって決まります。
スコープ | 説明 |
---|---|
api | パッケージレジストリを含む、スコープされたプロジェクトAPIへの完全な読み取りと書き込みアクセスを許可します。 |
read_api | パッケージレジストリを含む、スコープされたプロジェクトAPIへの読み取りアクセスを許可します。 |
read_registry | プロジェクトが非公開で作成者の認証が必要な場合、コンテナレジストリ画像への読み取りアクセス (pull) を許可します。 |
write_registry | コンテナレジストリへの書き込みアクセス (push) を許可します。 |
read_repository | リポジトリへの読み込みアクセス (pull) を許可します。 |
write_repository | リポジトリへの読み込みと書き込みアクセス(プルとプッシュ)を許可します。 |
create_runner | プロジェクトにランナーを作成する権限を与えます。 |
プロジェクトのアクセストークン作成を有効または無効にします。
GitLab 13.11 で導入されました。
トップレベルグループ内のすべてのプロジェクトに対して、プロジェクトのアクセストークン作成を有効または無効にします:
- 左のサイドバーで、Search(検索)を選択するか、Go to(移動)を選択してグループを探します。
- 設定] > [全般]を選択します。
- 権限とグループ機能] を展開します。
- 権限] で、[プロジェクトとグループのアクセストークンの作成を許可する] をオンまたはオフにします。
作成が無効になっている場合でも、既存のプロジェクト・アクセストークンの使用と失効は可能です。
プロジェクトのボットユーザー
- GitLab 13.0から導入されました。
- GitLab 13.5でライセンスシート使用から除外。
プロジェクトのボットユーザーはGitLabが作成したサービスアカウントです。プロジェクトのアクセストークンを作成するたびに、ボットユーザーが作成され、プロジェクトに追加されます。このユーザーは課金対象ユーザーではないので、ライセンス上限にはカウントされません。
プロジェクトのボットユーザーは、プロジェクトのアクセストークンで選択されたロールとスコープに対応する権限を持っています。
- 名前はトークンの名前に設定されます。
- ユーザー名は
project_{project_id}_bot_{random_string}
に設定されます。例えば、project_123_bot_4ffca233d8298ea1
。 - 電子メールは
project_{project_id}_bot_{random_string}@noreply.{Gitlab.config.gitlab.host}
に設定されます。例えば、project_123_bot_4ffca233d8298ea1@noreply.example.com
。
プロジェクトのアクセストークンを使用して行われたAPIコールは、対応するボットユーザーに関連付けられます。
プロジェクトのボットユーザー:
- プロジェクトのメンバーリストに含まれますが、変更することはできません。
- 他のプロジェクトに追加することはできません。
- プロジェクトの最大ロールはオーナーです。詳細については、プロジェクトアクセストークンの作成を参照してください。
プロジェクトのアクセストークンが失効した場合:
- ボットユーザーは削除されます。
- すべてのレコードは、ユーザー名Ghost Userを持つシステム全体のユーザーに移動されます。
グループのBotユーザーも参照してください。
トークンの利用可能性
複数のプロジェクトアクセストークンを利用できるのは、有料版のみです。PremiumとUltimateのトライアルサブスクリプションでは、1つのプロジェクトアクセストークンのみが含まれます。詳しくはGitLabトライアルFAQの “What is included “をご覧ください。