한국어

서비스 계정

ChatGPT 워크스페이스에서 Codex 자동화를 위한 서비스 계정을 설정하고 관리합니다.

서비스 계정을 사용하면 직원 계정에 의존하지 않고 조직 전체에서 헤드리스 Codex 워크플로를 실행하고 확장할 수 있습니다. 각 지속적 통합(CI) 러너, 예약 작업 또는 공유 통합에는 사용자에게 적용되는 것과 동일한 그룹, 역할, 액세스 제어 및 감사 기능을 갖춘 자체 ChatGPT 워크스페이스 ID가 부여됩니다.

워크스페이스 소유자와 관리자만 서비스 계정을 생성할 수 있습니다. 이들은 다른 사용자나 그룹이 계정을 관리하고, 플러그인을 구성하거나, 액세스 토큰을 생성하도록 허용할 수 있습니다.

서비스 계정은 사람이 아닌 워크스페이스 ID를 나타냅니다. 개인 액세스 토큰은 이를 생성한 워크스페이스 구성원을 나타냅니다. API Platform 프로젝트 서비스 계정과 API key는 별도의 프로젝트 액세스 및 청구를 사용합니다.

서비스 계정 생성 및 설정하기

이 대화형 안내에서는 GitHub를 예로 들어 계정 생성, 플러그인 구성, 토큰 생성, 그룹 및 역할 할당 방법을 설명합니다.

대화형 안내 예시 워크스페이스 · GitHub 자동화

워크스페이스 소유 ID 생성

더하기 버튼을 선택하고 서비스 계정 이름을 지정한 다음 만들기를 선택합니다.

서비스 계정 release-automation 활성 · Alex Kim이 생성함
  1. 워크스페이스 설정에서 서비스 계정을 엽니다.
  2. 더하기(+) 버튼을 선택하고 release-automation과 같이 용도를 알 수 있는 이름을 입력합니다.
  3. 만들기를 선택합니다.

플러그인 연결하기

서비스 계정 자체에 사용할 플러그인을 구성합니다. 생성자의 플러그인이나 연결된 앱은 상속되지 않습니다.

  1. 계정의 플러그인 섹션을 열고 플러그인 추가를 선택합니다.
  2. 플러그인을 선택하고 구성 또는 활성화된 것으로 표시되는지 확인합니다.

구성 담당자관리자 역할은 플러그인을 설정할 수 있습니다. 사용자 역할은 설정할 수 없습니다.

액세스 토큰 생성하기

서비스 계정의 세부 정보 페이지에서 토큰을 생성합니다. 토큰은 이를 생성한 사용자가 아니라 서비스 계정을 나타냅니다.

  1. 계정을 열고 액세스 토큰에서 토큰 만들기를 선택합니다.
  2. 토큰 이름을 지정하고 Codex 범위를 확인한 다음 만료 기간을 선택합니다.
  3. 만들기를 선택하고 비밀 관리자에 토큰을 저장합니다.

전체 토큰은 한 번만 표시됩니다. 워크스페이스 정책에 따라 사용할 수 있는 만료 기간이 결정됩니다.

역할 및 그룹 할당하기

서비스 계정은 사람인 워크스페이스 구성원과 마찬가지로 워크스페이스 역할을 부여받고 그룹에 가입할 수 있습니다. 서비스 계정의 액세스 권한을 직접 할당하세요. 생성자의 권한은 상속되지 않습니다.

사용자나 그룹이 계정을 관리하도록 허용하려면 공유, 사람 또는 그룹 추가를 차례로 선택하고 역할을 할당합니다.

공유 계정 역할 계정 및 플러그인 구성 서비스 계정 액세스 토큰 생성
사용자 아니요
구성 담당자 아니요
관리자

이러한 역할은 계정을 관리하는 사용자에게 적용됩니다. 서비스 계정에 할당된 워크스페이스 역할 및 그룹과는 별개입니다.

구성 담당자관리자는 계정을 활성화하거나 비활성화할 수 있습니다. 워크스페이스 소유자와 관리자만 계정을 생성, 삭제 또는 공유할 수 있습니다. 운영자는 자신의 ChatGPT 계정으로 로그인한 상태에서 공유 계정을 관리합니다.

워크스페이스 권한에 관한 자세한 내용은 역할 및 워크스페이스 권한을 참조하세요.

로그인하지 않고 Codex 실행하기

서비스 계정 액세스 토큰을 사용하려면 Codex CLI 버전 0.142.0 이상이 필요합니다. CODEX_ACCESS_TOKEN을 설정하고 브라우저를 열지 않은 채 Codex를 실행합니다.

export CODEX_ACCESS_TOKEN="<service-account-access-token>"
codex exec --json "Inspect this repository and summarize its current state."

CI에서는 비밀 관리자나 러너 비밀을 통해 토큰을 제공합니다.

신뢰할 수 있는 컴퓨터에 로그인을 저장하려면 표준 입력을 통해 토큰을 전달합니다.

printf '%s' "$CODEX_ACCESS_TOKEN" | codex login --with-access-token
codex exec "Summarize the changes in the current branch."

이렇게 하면 자격 증명이 로컬에 저장됩니다. 공유 또는 임시 러너에서는 로그인을 저장하지 않고 CODEX_ACCESS_TOKEN을 사용하세요.

SCIM으로 서비스 계정 프로비저닝하기

워크스페이스에서 SCIM(System for Cross-domain Identity Management) 프로토콜을 통한 서비스 계정 프로비저닝을 지원하는 경우 ID 공급자에서 userTypeServiceAccount로 설정합니다.

{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
  "userName": "svc-codex-release@company.example",
  "displayName": "Codex release automation",
  "active": true,
  "userType": "ServiceAccount"
}

ID를 워크스페이스와 필요한 그룹에 할당한 다음 동기화합니다. ID 공급자는 계정의 이름, 그룹 구성원 자격 및 수명 주기를 관리합니다. SCIM으로 관리되는 계정은 ChatGPT에서 이름을 바꾸거나 삭제할 수 없습니다. 그룹 및 프로비저닝을 참조하세요.

Admin API로 서비스 계정 관리하기

워크스페이스에 액세스 권한이 있는 경우 ChatGPT Admin API key를 사용해 계정, 토큰 및 공유를 관리합니다. 읽기 작업에는 chatgpt.enterprise.service_account.read이 필요하고 변경 작업에는 chatgpt.enterprise.service_account.write이 필요합니다. 서비스 계정 토큰으로는 Admin API 요청을 인증할 수 없습니다.

사용 가능한 작업과 현재 요청 경로는 Admin API 참조에서 확인하세요.

계정

작업 메서드 수행하는 작업
계정 목록 조회 GET 워크스페이스 서비스 계정을 반환합니다
계정 생성 POST 이름이 지정된 서비스 계정을 생성합니다
계정 조회 GET 서비스 계정 하나를 반환합니다
계정 활성화 또는 비활성화 PATCH 계정의 enabled 값을 업데이트합니다
계정 삭제 DELETE 계정을 제거하고 해당 토큰을 취소합니다

POST /v1/manage/workspaces/{workspace_id}/service-accounts을 사용해 계정을 생성합니다. 계정 업데이트는 enabled만 변경합니다.

토큰

작업 메서드 수행하는 작업
토큰 목록 조회 GET 계정의 토큰 메타데이터를 반환합니다
토큰 생성 POST 범위가 지정된 액세스 토큰을 생성합니다
토큰 취소 DELETE 토큰 하나를 영구적으로 취소합니다

예를 들어 30일 후 만료되는 Codex 토큰을 생성하려면 다음을 사용합니다.

{
  "name": "production-release-runner",
  "ttl": 2592000,
  "scopes": ["chatgpt.workspace.feature.allow-codex-local-access.access"]
}

ttl은 토큰의 수명(초)입니다. 유한한 수명은 1년 미만이어야 하며 워크스페이스의 만료 정책을 따라야 합니다. 전체 access_token은 토큰을 생성할 때만 반환됩니다.

Admin API는 공유 계정 액세스를 나열, 추가, 업데이트 및 제거할 수도 있습니다. 역할 값은 manager, configurer, user이며, configurer은 ChatGPT에서 구성 담당자로 표시됩니다.

서비스 계정의 보안 및 관리

  • 워크플로에 필요한 역할, 그룹, 플러그인 및 연결만 부여합니다.
  • 비밀 관리자에 토큰을 저장하고 신뢰할 수 있는 러너를 사용합니다.
  • 자격 증명이 로그, 채팅 메시지 및 소스 제어에 포함되지 않도록 합니다.
  • 유한한 만료 기간을 설정하고 계정 액세스와 활동을 정기적으로 검토합니다.
  • 대체 토큰을 생성하고, 워크플로를 업데이트하고, 액세스를 확인한 다음 워크스페이스 또는 Admin API에서 기존 토큰을 취소하는 방식으로 토큰을 교체합니다.
  • 노출된 토큰을 즉시 취소하고 계정의 최근 활동을 조사합니다.
  • 워크스페이스 또는 Admin API에서 사용하지 않는 계정을 비활성화하거나 삭제합니다. 두 작업 모두 활성 토큰을 모두 취소합니다. 비활성화된 계정은 새 토큰을 사용해 다시 활성화할 수 있지만 삭제는 실행 취소할 수 없습니다.

실행은 서비스 계정에 귀속됩니다. 사용 가능한 워크스페이스 분석 및 감사 레코드에서는 토큰을 생성하거나 계정 설정을 변경한 사람도 식별할 수 있습니다. Admin API 참조에서 이벤트 포함 범위를 확인하세요.

관련 문서