InfoGrab DocsInfoGrab Docs

복합 ID(Composite Identity)

AI가 생성한 GitLab 플랫폼 쓰기 작업에 복합 ID(Composite Identity)를 사용하는 방법과 토큰 생성, 인가 평가, 액터 귀속 방법을 설명합니다.

보안상의 이유로, GitLab 플랫폼에서 쓰기 작업을 수행하는 AI 생성 활동에는 복합 ID를 사용해야 합니다. 복합 ID를 사용하는 기능은 다음과 같습니다. GitLab Duo with Amazon Q 사전 요구 사항 # 복합 ID 토큰을 생성하려면 다음이 필요합니다. 기본 토큰 소유자인 서비스 계정 사용자 가 있어야 합니다. 인스턴스 전체 범위이거나 그룹 범위일 수 있습니다. GitLab 이 만든 기능에는 인스턴스 전체 계정이 일반적이며, 고객 에이전트 플로에는 범위를 좁게 제한한 계정을 사용해야 합니다. 특정 권한을 가진 사용자만 서비스 계정을 생성 할 수 있습니다. 계정을 어디에서 어떻게 생성할지 그에 맞게 계획합니다. 서비스 계정은 여러 기능에서 공유할 수 있지만, 같은 계정을 공유하면 UI에서 작업을 구분하기 어렵습니다(예: 동일한 사용자가 MR을 생성하고 동시에 리뷰한 것처럼 보일 수 있습니다). 가용성 및 라이선스: 서비스 계정은 모든 티어에서 사용할 수 있으며 GitLab Free에는 제한이 있습니다. 자세한 내용은 서비스 계정 을 참고합니다. 복합 ID에는 GitLab Premium 또는 Ultimate 라이선스가 필요합니다. 서비스 계정의 composite_identity_enforced 가 true 로 설정되어 있어야 합니다. 이 설정은 서비스 계정 생성 UI에서는 제공되지 않으며 프로그래밍 방식으로 구성해야 합니다. 복합 ID에 사용하는 OAuth 애플리케이션은 user:* 동적 범위를 활성화해야 합니다. 이 범위는 OAuth 애플리케이션 UI에서는 제공되지 않으며 프로그래밍 방식으로 구성해야 합니다. 복합 ID 토큰 생성 방법 # OAuth 토큰만 지원됩니다. 서비스 계정은 로그인할 수 없는 봇 사용자이므로, 일반적인 인증 코드 플로 (브라우저 동의)는 동작하지 않습니다. 서드파티 서비스와 연동하는 경우 서비스 계정과 OAuth 앱에 대한 OAuth 권한 부여를 수동으로 생성합니다. Amazon Q 예시 를 참고합니다. 권한 부여의 범위에 AI 요청을 시작한 사람 사용자에 대한 구체적인 동적 범위가 user:$ID 형식(예: user:123 )으로 포함되어 있는지 확인합니다. 필요에 따라 다른 범위(예: api )도 포함합니다. https://gitlab.example.com/oauth/token 을 통해 권한 부여를 액세스 토큰으로 교환합니다. 서드파티 서비스와 연동하지 않는 경우 액세스 권한 부여를 건너뛰고 OAuth 액세스 토큰을 직접 생성할 수 있습니다. 이때 범위에 user:$ID 와 필요한 기본 범위가 포함되어야 합니다. grant_type=refresh_token 을 사용해 표준 https://gitlab.example.com/oauth/token> 엔드포인트로 토큰을 갱신합니다. 반환된 액세스 토큰은 서비스 계정에 속하지만 범위에 user:$ID 를 담고 있습니다. 표준 OAuth 액세스 토큰과 동일하게 갱신됩니다. 최소 예시 # OAuth 애플리케이션을 생성합니다(이 단계는 별도의 OAuth 앱이