Workspaces ADR 007: プライベートプロジェクトからのワークスペース作成
コンテキスト
ユーザーがプライベートプロジェクトからワークスペースを作成できるようにしたいと考えています。
決定
新しいワークスペースごとにユーザーに紐づいたパーソナルアクセストークン(PAT)を作成し、ワークスペースに注入します。 このトークンはワークスペースの起動時にプロジェクトをクローンするために使用されます。 このトークンはユーザーがワークスペースを使用中に行うすべての git 操作に使用されます。
詳細は こちら をご覧ください。
結果
トークンはワークスペース内で環境変数/ファイルとして利用可能になります。 信頼できないコンテナイメージが使用された場合、トークンが流出する可能性があります。
ユーザーは CI ジョブのように信頼できるプロジェクトからワークスペースをプロビジョニングすることが期待されているため、現時点ではこれは許容範囲です。
代替案
PAT の代わりにエフェメラルトークン(JWT/OAuth/OIDC など)の使用を検討しましたが、それぞれに独自の課題がありました。 これにより、内部サービスと GitLab Rails モノリス間の標準化された認証と認可 を持つという大きなニーズが明らかになりました。
