서비스 계정을 사용하면 직원 개인 계정에 의존하지 않고 조직 전반에서 헤드리스 Codex 워크플로우를 실행하고 그 규모를 확장할 수 있습니다. 지속적 통합(CI) 러너, 예약 작업, 공유 통합마다 별도의 ChatGPT 워크스페이스 ID가 부여됩니다. 각 ID에는 일반 구성원과 동일한 그룹, 역할, 액세스 제어 및 감사 기능이 적용됩니다.
워크스페이스 소유자와 관리자만 서비스 계정을 만들 수 있습니다. 소유자와 관리자는 다른 사용자나 그룹에 계정 관리, 플러그인 설정 또는 액세스 토큰 생성 권한을 부여할 수 있습니다.
서비스 계정은 워크스페이스에서 자동화 시스템을 식별합니다. 개인 액세스 토큰은 토큰을 만든 워크스페이스 구성원을 식별합니다. API 플랫폼의 프로젝트 서비스 계정과 API 키에는 별도의 프로젝트 액세스 권한과 청구 체계가 적용됩니다.
서비스 계정 만들기 및 설정하기
이 대화형 가이드에서는 GitHub를 예로 들어 계정을 만들고, 플러그인을 설정하고, 토큰을 생성한 다음 그룹과 역할을 할당하는 과정을 안내합니다.
Interactive walkthrough
Select the plus button, name your service account, and select Create.
Service accounts
Create workspace-owned accounts for automated workflows that need their own access.
| Name | Status | Created by | Date added | Actions |
|---|---|---|---|---|
| Active | Alex Kim alex@example.com | Jul 23, 2026 | ||
| Active | Jordan Lee jordan@example.com | Jul 18, 2026 | ||
| Active | Sam Patel sam@example.com | Jul 8, 2026 |
- 워크스페이스 설정에서 서비스 계정을 여세요.
- 더하기(+) 버튼을 선택하고
release-automation처럼 용도를 알아볼 수 있는 이름을 입력하세요. - 만들기를 선택하세요.
플러그인 연결하기
서비스 계정에서 사용할 플러그인은 해당 계정에서 직접 설정하세요. 서비스 계정은 계정을 만든 사람의 플러그인이나 연결된 앱을 상속하지 않습니다.
- 계정의 플러그인 섹션을 열고 플러그인 추가를 선택하세요.
- 플러그인을 선택한 다음 설정 완료 또는 활성 상태로 표시되는지 확인하세요.
설정 역할이나 관리자 역할을 가진 사용자는 플러그인을 설정할 수 있습니다. 사용자 역할에는 이 권한이 없습니다.
액세스 토큰 만들기
서비스 계정의 상세 페이지에서 토큰을 만드세요. 누가 토큰을 만들었든 이 토큰으로 인증하면 해당 서비스 계정으로 식별됩니다.
- 계정을 열고 토큰 만들기를 선택하세요. 이 버튼은 액세스 토큰 섹션에 있습니다.
- 토큰 이름을 입력하고 Codex 범위를 확인한 다음 만료 기간을 선택하세요.
- 만들기를 선택하고 토큰을 시크릿 관리자에 저장하세요.
전체 토큰 값은 한 번만 표시됩니다. 선택할 수 있는 만료 기간은 워크스페이스 정책에 따라 달라집니다.
역할 및 그룹 할당하기
서비스 계정에도 일반 구성원과 마찬가지로 워크스페이스 역할을 부여할 수 있으며, 계정을 그룹에 추가할 수도 있습니다. 서비스 계정은 계정을 만든 사람의 권한을 상속하지 않으므로 필요한 권한을 직접 할당하세요.
다른 사용자나 그룹이 계정을 관리할 수 있도록 하려면 공유를 선택한 다음 사용자 또는 그룹 추가를 선택하고 역할을 할당하세요.
| 공유 계정 역할 | 계정 및 플러그인 설정 | 서비스 계정 액세스 토큰 생성 |
|---|---|---|
| 사용자 | 아니요 | 예 |
| 설정 | 예 | 아니요 |
| 관리자 | 예 | 예 |
이 역할은 계정을 관리하는 사람에게 적용됩니다. 서비스 계정 자체에 할당된 워크스페이스 역할 및 그룹과는 별개입니다.
설정 역할이나 관리자 역할을 가진 사용자는 계정을 활성화하거나 비활성화할 수 있습니다. 계정 생성, 삭제, 공유는 워크스페이스 소유자와 관리자만 할 수 있습니다. 운영자는 자신의 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 공급자에서 userType을 ServiceAccount로 설정하세요.
{
"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 공급자가 계정 이름, 그룹 멤버십, 계정 수명 주기를 관리합니다. ChatGPT에서는 SCIM으로 관리되는 계정의 이름을 변경하거나 계정을 삭제할 수 없습니다. 그룹 및 프로비저닝을 참고하세요.
Admin API로 서비스 계정 관리하기
워크스페이스에 Admin API 액세스 권한이 있다면 ChatGPT Admin API 키로 계정, 토큰, 공유 권한을 관리할 수 있습니다. 조회 작업에는 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이며, ChatGPT에서는 configurer가 설정 역할로 표시됩니다.
서비스 계정 보안 및 관리
- 워크플로우에 필요한 역할과 그룹만 할당하고 필요한 플러그인과 연결만 설정하세요.
- 토큰은 시크릿 관리자에 저장하고 신뢰할 수 있는 러너를 사용하세요.
- 로그, 채팅 메시지, 버전 관리 시스템에 자격 증명을 남기지 마세요.
- 토큰이 만료되도록 유효 기간을 지정하고 계정의 액세스 권한과 활동을 정기적으로 검토하세요.
- 토큰을 교체하려면 새 토큰을 만들고 워크플로우에 적용하세요. 새 토큰으로 액세스할 수 있는지 확인한 다음 워크스페이스나 Admin API에서 기존 토큰을 폐기하세요.
- 노출된 토큰은 즉시 폐기하고 해당 계정의 최근 활동을 조사하세요.
- 사용하지 않는 계정은 워크스페이스나 Admin API에서 비활성화하거나 삭제하세요. 어느 쪽이든 해당 계정의 활성 토큰이 모두 폐기됩니다. 비활성화한 계정은 다시 활성화해 새 토큰으로 사용할 수 있지만, 삭제한 계정은 복구할 수 없습니다.
실행 기록에는 서비스 계정이 실행 주체로 표시됩니다. 워크스페이스에서 제공하는 분석 데이터와 감사 기록을 통해 누가 토큰을 만들거나 계정 설정을 변경했는지도 확인할 수 있습니다. 어떤 이벤트가 기록되는지는 Admin API 레퍼런스에서 확인하세요.