클라우드 커넥터: 구성

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 PRODUO 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 구성 의 복사본입니다.