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

サービスアカウント

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

サービスアカウントは、個々の人ではなく、人間ではないエンティティを表すユーザーアカウントです。サービスアカウントを使用すると、自動化されたアクションの実行、データへのアクセス、スケジュールされたプロセスを実行できます。通常、サービスアカウントは、認証情報が安定しており、人間のユーザーメンバーシップの変更に影響されないことが求められる、パイプラインまたはサードパーティのインテグレーションで使用されます。

サービスアカウントには、次の2つの種類があります:

  • インスタンスサービスアカウント: GitLabインスタンス全体で利用できますが、ゲストユーザーのようにグループやプロジェクトに追加する必要があります。GitLab Self-ManagedおよびGitLab Dedicatedでのみ利用可能です。
  • グループサービスアカウント: 特定のトップレベルグループが所有しており、ゲストユーザーのようにサブグループやプロジェクトへの継承が可能です。

パーソナルアクセストークンを使用して、サービスアカウントとして認証できます。サービスアカウントは人間のユーザーと同じ機能を持っており、パッケージやコンテナレジストリとのやり取り、Gitオペレーションの実行、APIへのアクセスなどのアクションを実行できます。

サービスアカウント:

  • シートを使用しません。
  • UIからGitLabにサインインできません。
  • グループおよびプロジェクトのメンバーシップでサービスアカウントとして識別されます。
  • カスタムメールアドレスを追加しない限り、通知メールを受信しません。
  • 請求対象ユーザー内部ユーザーではありません。
  • GitLab.comのトライアルバージョンでは使用できません。
  • GitLab Self-ManagedおよびGitLab Dedicatedのトライアルバージョンで使用できます。

サービスアカウントAPIを使用して、サービスアカウントを管理することもできます。

前提要件

  • GitLab.comでは、トップレベルグループのオーナーロールを持っている必要があります。
  • GitLab Self-ManagedまたはGitLab Dedicatedでは、次の条件を満たす必要があります:

サービスアカウントの表示と管理

サービスアカウントページには、トップレベルグループまたはインスタンスのサービスアカウントに関する情報が表示されます。各トップレベルグループとGitLab Self-Managedインスタンスには、個別のサービスアカウントページがあります。これらのページから、次のことができます:

  • グループまたはインスタンスのすべてのサービスアカウントを表示する。
  • サービスアカウントを削除する
  • サービスアカウントの名前またはユーザー名を編集する。
  • サービスアカウントのパーソナルアクセストークンを管理する。

インスタンス全体のサービスアカウントを表示するには:

  1. 左側のサイドバーの下部で、管理者を選択します。
  2. 設定 > サービスアカウントを選択します。

トップレベルグループのサービスアカウントを表示するには:

  1. 左側のサイドバーで、検索または移動先を選択して、グループを見つけます。
  2. 設定 > サービスアカウントを選択します。

サービスアカウントを作成する

GitLab.comでは、トップレベルグループのオーナーのみがサービスアカウントを作成できます。

デフォルトでは、GitLab DedicatedとGitLab Dedicatedで、管理者のみがサービスアカウントを作成できます。ただし、トップレベルグループのオーナーがグループサービスアカウントを作成できるように、インスタンスを設定できます。

作成できるサービスアカウントの数は、ライセンスによって制限されます:

  • GitLab Freeでは、サービスアカウントを作成できません。
  • GitLab Premiumでは、有料シートごとに1つのサービスアカウントを作成できます。
  • GitLab Ultimateでは、無制限の数のサービスアカウントを作成できます。

サービスアカウントを作成するには:

  1. サービスアカウントページに移動します。
  2. サービスアカウントの追加を選択します。
  3. サービスアカウントの名前を入力します。ユーザー名は、名前に基づいて自動的に生成されます。必要に応じて、ユーザー名を変更できます。
  4. サービスアカウントの作成を選択します。

サービスアカウントを編集する

サービスアカウントの名前またはユーザー名を編集できます。

サービスアカウントを編集するには:

  1. サービスアカウントページに移動します。
  2. サービスアカウントを特定します。
  3. 縦方向の省略記号( ellipsis_v ) > 編集を選択します。
  4. サービスアカウントの名前またはユーザー名を編集します。
  5. 変更を保存を選択します。

グループとプロジェクトへのサービスアカウントアクセス

サービスアカウントは外部ユーザーに似ています。最初に作成されたときは、グループとプロジェクトへのアクセスが制限されています。リソースにサービスアカウントアクセスを付与するには、各グループまたはプロジェクトにサービスアカウントを追加する必要があります。

グループまたはプロジェクトに追加できるサービスアカウントの数に制限はありません。サービスアカウントは、メンバーになっている各グループ、サブグループ、またはプロジェクトでさまざまなロールを持つことができます。GitLab.comでは、グループのサービスアカウントは、1つのトップレベルグループのみに属することができます。

人間のユーザーのアクセスを管理するのと同じ方法で、グループとプロジェクトへのサービスアカウントアクセスを管理できます。詳細については、グループプロジェクトのメンバーを参照してください。

メンバーAPIを使用して、グループとプロジェクトの割り当てを管理することもできます。グローバルSAMLグループメンバーシップロックまたはグローバルLDAPグループメンバーシップロックが有効になっている場合は、このAPIを使用する必要があります。

サービスアカウントを削除する

サービスアカウントを削除した場合、アカウントによって行われたコントリビュートが保持され、所有権がシステム全体のGhostユーザーアカウントに移転します。これらのコントリビュートには、マージリクエスト、イシュー、プロジェクト、グループなどのアクティビティーが含まれます。

サービスアカウントを削除するには:

  1. サービスアカウントページに移動します。
  2. サービスアカウントを特定します。
  3. 縦方向の省略記号( ellipsis_v ) > アカウントを削除を選択します。
  4. サービスアカウントの名前を入力します。
  5. ユーザーを削除を選択します。

サービスアカウントと、アカウントによって行われたコントリビュートを削除することもできます。これらのコントリビュートには、マージリクエスト、イシュー、グループ、プロジェクトなどのアクティビティーが含まれます。

  1. サービスアカウントページに移動します。
  2. サービスアカウントを特定します。
  3. 縦方向の省略記号( ellipsis_v ) > アカウントとコントリビュートの削除を選択します。
  4. サービスアカウントの名前を入力します。
  5. ユーザーとコントリビュートを削除を選択します。

APIを通じてサービスアカウントを削除することもできます。

  • インスタンスのサービスアカウントの場合は、users APIを使用します。
  • グループのサービスアカウントの場合は、サービスアカウントAPIを使用します。

サービスアカウントのパーソナルアクセストークンの表示と管理

パーソナルアクセストークンページには、トップレベルグループまたはインスタンスのサービスアカウントに関連付けられたパーソナルアクセストークンに関する情報が表示されます。これらのページから、次のことができます:

  • パーソナルアクセストークンをフィルタリングしたり、ソートしたり、その詳細を表示したりする。
  • パーソナルアクセストークンをローテーションする。
  • パーソナルアクセストークンを取り消す。

APIを通じてサービスアカウントのパーソナルアクセストークンを管理することもできます。

サービスアカウントのパーソナルアクセストークンページを表示するには:

  1. サービスアカウントページに移動します。
  2. サービスアカウントを特定します。
  3. 縦方向の省略記号( ellipsis_v ) > アクセストークンの管理を選択します。

サービスアカウントのパーソナルアクセストークンを作成する

サービスアカウントを使用するには、パーソナルアクセストークンを作成してリクエストを認証する必要があります。

サービスアカウントのパーソナルアクセストークンを作成するには:

  1. サービスアカウントページに移動します。
  2. サービスアカウントを特定します。
  3. 縦方向の省略記号( ellipsis_v ) > アクセストークンの管理を選択します。
  4. 新しいトークンを追加を選択します。
  5. トークン名に、トークンの名前を入力します。
  6. オプション。トークンの説明に、トークンの説明を入力します。
  7. 有効期限に、トークンの有効期限を入力します。
    • トークンは、その日付のUTC午前0時に期限切れになります。有効期限が2024-01-01のトークンは、2024-01-01の00:00:00 UTCに期限切れになります。
    • 有効期限を入力しない場合、有効期限は現在の日付より365日後に自動的に設定されます。
    • デフォルトでは、この日付は現在の日付より最大365日後に設定できます。GitLab 17.6以降では、この制限を400日に延長できます。
  8. 必要なスコープを選択します。
  9. Create personal access token(パーソナルアクセストークンを作成)を選択します。

パーソナルアクセストークンをローテーションする

パーソナルアクセストークンをローテーションして、現在のトークンを無効にし、新しい値を生成できます。

これは元に戻せません。ローテーションされたトークンに依存するサービスは動作を停止します。

サービスアカウントのパーソナルアクセストークンをローテーションするには:

  1. サービスアカウントページに移動します。
  2. サービスアカウントを特定します。
  3. 縦方向の省略記号( ellipsis_v ) > アクセストークンの管理を選択します。
  4. アクティブなトークンの横にある縦方向の省略記号( ellipsis_v )を選択します。
  5. ローテーションを選択します。
  6. 確認ダイアログで、ローテーションを選択します。

パーソナルアクセストークンを取り消す

パーソナルアクセストークンをローテーションして、現在のトークンを無効にすることができます。

これは元に戻せません。取り消されたトークンに依存するサービスは動作を停止します。

サービスアカウントのパーソナルアクセストークンを取り消すには:

  1. サービスアカウントページに移動します。
  2. サービスアカウントを特定します。
  3. 縦方向の省略記号( ellipsis_v ) > アクセストークンの管理を選択します。
  4. アクティブなトークンの横にある縦方向の省略記号( ellipsis_v )を選択します。
  5. 取り消しを選択します。
  6. 確認ダイアログで、取り消しを選択します。

レート制限

レート制限がサービスアカウントに適用されます: