클라우드 커넥터: 구성
GitLab Rails 인스턴스는 Cloud Connector Service Access Token을 사용하여 백엔드 서비스에 액세스합니다:
- 이 토큰은 CustomersDot에서 GitLab 인스턴스로 매일 동기화되며 인스턴스의 로컬 데이터베이스에 저장됩니다.
- GitLab.com의 경우, 이 단계를 요구하지 않으며, 대신 각 요청에 대해 단기 토큰을 발급합니다.
Cloud Connector JWT는 이 토큰이 유효한 기능 또는 단위 원시 값을 정의하는 액세스 범위 목록을 나타내는 사용자 정의 클레임을 포함합니다.
구성 구조
유료 기능이 GitLab 티어 및 추가 기능으로 번들화되는 방법에 대한 정보는 YAML 파일에 구성되어 저장됩니다:
services:
code_suggestions:
backend: 'gitlab-ai-gateway'
cut_off_date: 2024-02-15 00:00:00 UTC
min_gitlab_version: '16.8'
bundled_with:
duo_pro:
unit_primitives:
- code_suggestions
duo_chat:
backend: 'gitlab-ai-gateway'
min_gitlab_version_for_beta: '16.8'
min_gitlab_version: '16.9'
bundled_with:
duo_pro:
unit_primitives:
- duo_chat
- documentation_search
용어
구성에는 다음과 같은 정보가 포함됩니다:
-
unit_primitives
: 각 단위 원시 값은 권한/액세스 범위가 관리할 수 있는 최소 논리 기능을 나타냅니다.실제 기능을 나타내며,
이 속성의 값은 서비스 액세스 토큰이 발급될 때 범위로 사용됩니다.
새로운
unit_primitive
에 대한 권장 명명 규칙은$VERB_$NOUN
입니다. 예:explain_vulnerability
-
service
: 기능 또는 UP는 기존 서비스(듀오 채팅)의 일부로 제공되거나 독립형 서비스로 제공될 수 있습니다.예: documentation_search는 Duo Chat 서비스의 일부로 제공되는 단위 원시 값을 나타냅니다.
-
bundled_with
: 추가 기능 목록을 나타냅니다. 각 단위 원시 값은 추가 기능과 함께 번들화됩니다.예: Code Suggestions와 Duo Chat은
DUO PRO
추가 기능 하에 함께 판매된 두 가지 기능입니다.동일한 단위 원시 값은 여러 추가 기능과 함께 번들화될 수 있습니다.
예: Code Suggestions는
DUO PRO
와DUO ENTERPRISE
두 추가 기능 모두에서 사용할 수 있습니다. -
cut_off_date
: 기능이 더 이상 무료(실험적)로 제공되지 않는 기준 날짜를 나타냅니다.설정되지 않은 경우, 기본적으로 기능은 무료로 제공됩니다.
-
min_gitlab_version
: 기능을 사용하기 위해 필요한 최소 GitLab 버전을 나타냅니다.설정되지 않은 경우, 모든 GitLab 버전에서 기능을 사용할 수 있습니다.
-
min_gitlab_version_for_free_access
: 무료 액세스 기간 동안 서비스를 사용하기 위해 필요한 최소 GitLab 버전을 나타냅니다.설정되지 않은 경우, 모든 GitLab 버전에서 서비스가 제공됩니다.
-
backend
: 이 기능을 제공하는 백엔드의 이름입니다. 이 이름은 토큰 대상 클레임으로 사용됩니다.예:
gitlab-ai-gateway
.
CustomersDot 구성
GitLab Dedicated 및 자체 관리 GitLab 인스턴스의 경우, 우리는CustomersDot, 액세스 토큰 발급 기관에 신뢰를 위임합니다.
구성은 cloud_connector.yml
에 위치하고
GitLab.com 구성의 거의 정확한 복사본을 나타냅니다.
GitLab.com 구성
GitLab.com 배포는 특별한 신뢰를 받기 때문에 Cloud Connector 기능에 대한 각 요청에 대해 자체 서명하고 IJWT를 생성하는 이점을 가지고 있습니다.
적절한 범위의 토큰을 발급하기 위해 GitLab.com은 구성에 접근해야 합니다.
구성은 access_data.yml
에 위치하며,
거의 정확한 CustomersDot 구성 의 복사본입니다.