GitLab Duo Agent Platformの認証と認可
- プラン: Ultimate
- アドオン: GitLab Duo Core、Pro、またはEnterprise。
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: 実験的機能
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。
GitLab Duo Agent Platformは、@duo-developerサービスアカウントを使用して、ユーザーの代わりにアクションを実行します。このサービスアカウントは、ユーザーアカウントと組み合わされると、composite identityと呼ばれます。コンポジットアイデンティティは、サービスアカウントに権限が付与されるため、ユーザーに付与されるアクセスを制限するのに役立ちます。
コンポジットアイデンティティは、次のフローで使用されます:
- CI/CDパイプラインを修正する
- GitLab CI/CDに変換する
- イシューからマージリクエストへ
- エンドポイント
api/v4/ai/duo_workflows/workflowsから開始されたすべてのフロー
GitLab Duo Agent Platformを使用するには、turn on composite identityを呼び出す必要があります。
コンポジットトークン
リクエストを認証するトークンは、2つのIDの複合です:
- プライマリ作成者は、
@duo-developerサービスアカウントです。このサービスアカウントはインスタンス全体に適用され、GitLab Duo Agent Platformが使用されたプロジェクトのデベロッパーロールを持っています。このサービスアカウントは、トークンのオーナーです。 - セカンダリ作成者は、フローを開始した人間のユーザーです。このユーザーの
idは、トークンのスコープに含まれています。
このコンポジットアイデンティティにより、GitLab Duo Agent Platformによって作成されたすべてのアクティビティーが、GitLab Duo Agent Platformのサービスアカウントに正しく属性付けられるようになります。同時に、この複合IDは、一般ユーザーに対する特権エスカレーションがないことを保証します。
この動的スコープは、APIリクエストの認可中に検証されます。認可がリクエストされると、GitLabは、サービスアカウントおよびクイックアクションを開始したユーザーの両方に十分な権限があることを検証します。