# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2023, Xorbits Inc.
# This file is distributed under the same license as the Xinference package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version:  Xinference\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-17 15:37+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ko\n"
"Language-Team: ko <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"

#: ../../source/user_guide/auth_system.rst:5
msgid "Authentication System (database-backed)"
msgstr "인증 시스템 (데이터베이스 기반)"

#: ../../source/user_guide/auth_system.rst:7
msgid "The database-backed authentication system, enabled by default."
msgstr "기본적으로 활성화되는 데이터베이스 기반 인증 시스템입니다."

#: ../../source/user_guide/auth_system.rst:10
msgid ""
"Xinference ships with a database-backed authentication and authorization "
"system. It stores users, permissions, API keys, and refresh tokens in a "
"local SQLite database, and supports creating and managing users and API "
"keys at runtime through REST endpoints — no server restart required."
msgstr ""
"Xinference는 데이터베이스 기반 인증·인가 시스템을 기본 제공합니다. 사용자, 권한, API 키, 리프레시 토큰을 로컬 "
"SQLite 데이터베이스에 저장하며, REST 엔드포인트를 통해 런타임에 사용자와 API 키를 생성하고 관리할 수 있습니다 — 서버"
" 재시작이 필요 없습니다."

#: ../../source/user_guide/auth_system.rst:15
msgid ""
"**Since v3.0, this system is enabled by default** — a fresh Xinference "
"deployment requires authentication out of the box."
msgstr "**v3.0부터 이 시스템은 기본적으로 활성화됩니다** — 새로 배포한 Xinference는 별도 설정 없이도 인증이 필요합니다."

#: ../../source/user_guide/auth_system.rst:19
msgid ""
"Earlier releases shipped a simpler, in-memory ``--auth-config`` JSON "
"system. It has been removed; the database-backed system described here is"
" the only authenticated mode."
msgstr ""
"이전 릴리스에는 더 단순한 인메모리 ``--auth-config`` JSON 시스템이 포함되어 있었지만 제거되었습니다. 여기서 "
"설명하는 데이터베이스 기반 시스템이 유일한 인증 모드입니다."

#: ../../source/user_guide/auth_system.rst:24
msgid "Enabling / disabling"
msgstr "활성화 / 비활성화"

#: ../../source/user_guide/auth_system.rst:25
msgid ""
"Authentication is controlled by the ``XINFERENCE_AUTH_ADVANCED`` "
"environment variable:"
msgstr "인증은 ``XINFERENCE_AUTH_ADVANCED`` 환경 변수로 제어합니다:"

#: ../../source/user_guide/auth_system.rst:28
msgid ""
"Unset, or any of ``1`` / ``true`` / ``yes`` (case-insensitive): enabled "
"(the default)."
msgstr "설정하지 않았거나 ``1`` / ``true`` / ``yes``\\ (대소문자 구분 없음) 중 하나: 활성화(기본값)."

#: ../../source/user_guide/auth_system.rst:29
msgid ""
"Any of ``0`` / ``false`` / ``no`` (case-insensitive): disabled — "
"Xinference runs with **no authentication at all**, and every endpoint is "
"served without a login or API key."
msgstr ""
"``0`` / ``false`` / ``no``\\ (대소문자 구분 없음) 중 하나: 비활성화 — Xinference가 **인증이 "
"전혀 없는 상태로** 실행되며, 모든 엔드포인트가 로그인이나 API 키 없이 제공됩니다."

#: ../../source/user_guide/auth_system.rst:43
msgid "Initial admin account"
msgstr "초기 관리자 계정"

#: ../../source/user_guide/auth_system.rst:44
msgid ""
"On first startup with authentication enabled, the user table is empty and"
" Xinference does **not** create an admin account automatically. Instead, "
"two unauthenticated endpoints handle first-run setup:"
msgstr ""
"인증이 활성화된 상태로 처음 기동하면 사용자 테이블이 비어 있으며, Xinference는 관리자 계정을 자동으로 생성하지 "
"**않습니다**. 대신 두 개의 비인증 엔드포인트가 최초 실행 설정을 처리합니다:"

#: ../../source/user_guide/auth_system.rst:48
#, python-brace-format
msgid ""
"``GET /v1/admin/setup/status``: returns ``{\"needs_setup\": true, "
"\"initialized\": false}`` while no account exists yet."
msgstr ""
"``GET /v1/admin/setup/status``: 아직 계정이 없는 동안 ``{\"needs_setup\": true, "
"\"initialized\": false}`` 응답을 반환합니다."

#: ../../source/user_guide/auth_system.rst:50
msgid ""
"``POST /v1/admin/setup``: creates the first admin account (with all "
"permissions) given a ``username`` and ``password``."
msgstr ""
"``POST /v1/admin/setup``: ``username`` 과 ``password`` 를 받아 첫 번째 관리자 계정(모든"
" 권한 보유)을 생성합니다."

#: ../../source/user_guide/auth_system.rst:59
msgid ""
"The web UI drives this automatically: opening it for the first time "
"redirects to a setup page that asks for the new admin's username and "
"password, then to the login page."
msgstr ""
"웹 UI가 이 과정을 자동으로 안내합니다. 처음 접속하면 새 관리자의 사용자 이름과 비밀번호를 입력하는 설정 페이지로 리디렉션된 뒤"
" 로그인 페이지로 이동합니다."

#: ../../source/user_guide/auth_system.rst:63
msgid ""
"``/v1/admin/setup`` permanently refuses to create a second account once "
"one exists — the first successful call wins. On an instance exposed to "
"untrusted networks before setup completes, whoever reaches this endpoint "
"first becomes the administrator. If that isn't you, an operator with "
"shell access to the deployment can take control back with ``xinference-"
"reset-auth-password`` (see `Resetting a lost admin password`_)."
msgstr ""
"``/v1/admin/setup`` 은 계정이 하나라도 생성된 뒤에는 두 번째 계정 생성을 영구적으로 거부합니다 — 최초로 성공한 "
"호출이 우선합니다. 설정이 완료되기 전에 신뢰할 수 없는 네트워크에 노출된 인스턴스에서는 이 엔드포인트에 먼저 도달한 사람이 "
"관리자가 됩니다. 그 사람이 본인이 아니라면, 배포 환경에 셸 접근 권한이 있는 운영자가 ``xinference-reset-"
"auth-password`` 명령으로 제어권을 되찾을 수 있습니다(`분실한 관리자 비밀번호 재설정`_ 참조)."

#: ../../source/user_guide/auth_system.rst:71
msgid "Resetting a lost admin password"
msgstr "분실한 관리자 비밀번호 재설정"

#: ../../source/user_guide/auth_system.rst:72
msgid ""
"If the admin password is lost — or someone else won the first-run setup "
"race — an operator with shell access to the machine running the RESTful "
"API can reset an admin's password directly against the auth database, "
"without logging in:"
msgstr ""
"관리자 비밀번호를 분실했거나 다른 사람이 최초 실행 설정 경쟁에서 먼저 계정을 만들어 버린 경우, RESTful API가 실행 중인"
" 머신에 셸 접근 권한이 있는 운영자가 로그인 없이 인증 데이터베이스에 대해 직접 관리자 비밀번호를 재설정할 수 있습니다:"

#: ../../source/user_guide/auth_system.rst:81
msgid ""
"The command prompts for a new password (or accept ``--password`` on the "
"command line), updates that admin's password, and revokes the user's "
"active refresh tokens so any stale sessions stop working. It only "
"operates on users that already hold the ``admin`` permission, and reads "
"the database at ``XINFERENCE_AUTH_DB_PATH`` (override with ``--db-"
"path``). Run ``xinference-reset-auth-password --help`` for all options."
msgstr ""
"이 명령은 새 비밀번호를 입력하라는 프롬프트를 표시하고(또는 명령줄에서 ``--password`` 옵션 사용), 해당 관리자의 "
"비밀번호를 갱신하며, 오래된 세션이 더 이상 동작하지 않도록 그 사용자의 활성 리프레시 토큰을 폐기합니다. 이미 ``admin`` "
"권한을 가진 사용자에 대해서만 동작하며, ``XINFERENCE_AUTH_DB_PATH`` 경로의 데이터베이스를 읽습니다"
"(``--db-path`` 로 재정의 가능). 전체 옵션은 ``xinference-reset-auth-password "
"--help`` 명령으로 확인하세요."

#: ../../source/user_guide/auth_system.rst:89
msgid "Secrets and storage locations"
msgstr "시크릿 및 저장 위치"

#: ../../source/user_guide/auth_system.rst:90
msgid ""
"The system needs a JWT signing secret and an encryption key (used to "
"encrypt stored API keys at rest), plus a database file. All three can be "
"overridden with environment variables; if you don't set them, Xinference "
"generates and persists them automatically on first run under "
"``XINFERENCE_HOME`` (``~/.xinference`` by default):"
msgstr ""
"이 시스템에는 JWT 서명 시크릿과 (저장된 API 키를 저장 시 암호화하는 데 사용하는) 암호화 키, 그리고 데이터베이스 파일이 "
"필요합니다. 세 가지 모두 환경 변수로 재정의할 수 있으며, 설정하지 않으면 Xinference가 최초 실행 시 "
"``XINFERENCE_HOME``\\ (기본값 ``~/.xinference``) 아래에 자동으로 생성하고 저장합니다:"

#: ../../source/user_guide/auth_system.rst:99
msgid "Purpose"
msgstr "용도"

#: ../../source/user_guide/auth_system.rst:100
msgid "Environment variable"
msgstr "환경 변수"

#: ../../source/user_guide/auth_system.rst:101
msgid "Default location"
msgstr "기본 위치"

#: ../../source/user_guide/auth_system.rst:102
msgid "JWT signing secret"
msgstr "JWT 서명 시크릿"

#: ../../source/user_guide/auth_system.rst:103
msgid "``XINFERENCE_AUTH_JWT_SECRET_KEY``"
msgstr "``XINFERENCE_AUTH_JWT_SECRET_KEY``"

#: ../../source/user_guide/auth_system.rst:104
msgid "``<XINFERENCE_HOME>/auth/jwt_secret_key`` (auto-generated)"
msgstr "``<XINFERENCE_HOME>/auth/jwt_secret_key``\\ (자동 생성)"

#: ../../source/user_guide/auth_system.rst:105
msgid "API key encryption key"
msgstr "API 키 암호화 키"

#: ../../source/user_guide/auth_system.rst:106
msgid "``XINFERENCE_AUTH_ENCRYPTION_KEY``"
msgstr "``XINFERENCE_AUTH_ENCRYPTION_KEY``"

#: ../../source/user_guide/auth_system.rst:107
msgid "``<XINFERENCE_HOME>/auth/encryption_key`` (auto-generated)"
msgstr "``<XINFERENCE_HOME>/auth/encryption_key``\\ (자동 생성)"

#: ../../source/user_guide/auth_system.rst:108
msgid "User/API key database"
msgstr "사용자/API 키 데이터베이스"

#: ../../source/user_guide/auth_system.rst:109
msgid "``XINFERENCE_AUTH_DB_PATH``"
msgstr "``XINFERENCE_AUTH_DB_PATH``"

#: ../../source/user_guide/auth_system.rst:110
msgid "``<XINFERENCE_HOME>/auth/auth.db``"
msgstr "``<XINFERENCE_HOME>/auth/auth.db``"

#: ../../source/user_guide/auth_system.rst:112
msgid ""
"Auto-generated secrets are written once and reused on subsequent "
"restarts, so existing JWTs and encrypted API keys keep working across "
"restarts. In a distributed deployment (supervisor + workers), make sure "
"all processes that run the RESTful API share the same ``XINFERENCE_HOME``"
" (or set the same explicit environment variables), so they agree on the "
"same secrets and database."
msgstr ""
"자동 생성된 시크릿은 한 번만 기록되고 이후 재시작 시 재사용되므로, 기존 JWT와 암호화된 API 키는 재시작 후에도 계속 "
"작동합니다. 분산 배포(supervisor + worker) 환경에서는 RESTful API를 실행하는 모든 프로세스가 동일한 "
"``XINFERENCE_HOME``\\ 을 공유하도록(또는 동일한 환경 변수를 명시적으로 설정하도록) 하여, 동일한 시크릿과 "
"데이터베이스를 사용하도록 하세요."

#: ../../source/user_guide/auth_system.rst:120
msgid "Permissions"
msgstr "권한"

#: ../../source/user_guide/auth_system.rst:121
msgid "Xinference defines the following interface permissions:"
msgstr "Xinference는 다음과 같은 인터페이스 권한을 정의합니다:"

#: ../../source/user_guide/auth_system.rst:123
msgid "``models:list``: Permission to list models and get models' information."
msgstr "``models:list``: 모델 목록 및 정보를 가져오는 권한."

#: ../../source/user_guide/auth_system.rst:124
msgid "``models:read``: Permission to use models."
msgstr "`models:read`: 모델을 읽을 수 있는 권한."

#: ../../source/user_guide/auth_system.rst:125
msgid "``models:write``: Permission to launch and stop models."
msgstr "``models:write``: 모델을 시작하고 중지할 수 있는 권한입니다."

#: ../../source/user_guide/auth_system.rst:126
msgid "``models:register``: Permission to register and unregister custom models."
msgstr "``models:register``: 사용자 정의 모델을 등록하고 등록 해제할 수 있는 권한입니다."

#: ../../source/user_guide/auth_system.rst:127
msgid ""
"``keys:create``: Permission to create API keys (for oneself, or for "
"others when combined with ``keys:manage``)."
msgstr ""
"``keys:create``: API 키를 생성할 수 있는 권한(자신을 위해, 또는 ``keys:manage``\\ 와 결합하면 "
"다른 사용자를 위해서도 가능)."

#: ../../source/user_guide/auth_system.rst:128
msgid ""
"``keys:manage``: Permission to list, update, delete, and reveal any "
"user's API keys."
msgstr "``keys:manage``: 모든 사용자의 API 키를 조회, 수정, 삭제 및 표시할 수 있는 권한."

#: ../../source/user_guide/auth_system.rst:129
msgid ""
"``users:manage``: Permission to create, update, delete users, and manage "
"their permissions."
msgstr "``users:manage``: 사용자를 생성, 수정, 삭제하고 권한을 관리할 수 있는 권한."

#: ../../source/user_guide/auth_system.rst:130
msgid ""
"``cache:list`` / ``cache:delete``: Permissions to list/delete cached "
"model files."
msgstr "``cache:list`` / ``cache:delete``: 캐시된 모델 파일을 조회/삭제할 수 있는 권한."

#: ../../source/user_guide/auth_system.rst:131
msgid ""
"``virtualenv:list`` / ``virtualenv:delete``: Permissions to list/delete "
"per-model virtual environments."
msgstr "``virtualenv:list`` / ``virtualenv:delete``: 모델별 가상 환경을 조회/삭제할 수 있는 권한."

#: ../../source/user_guide/auth_system.rst:132
msgid "``logs:list``: Permission to view cluster logs."
msgstr "``logs:list``: 클러스터 로그를 조회할 수 있는 권한입니다."

#: ../../source/user_guide/auth_system.rst:133
msgid "``monitor:view``: Permission to view the monitoring dashboards."
msgstr "``monitor:view``: 모니터링 대시보드를 조회할 수 있는 권한입니다."

#: ../../source/user_guide/auth_system.rst:134
msgid "``admin``: Administrators have all of the above."
msgstr "``admin``: 관리자는 위의 모든 권한을 보유합니다."

#: ../../source/user_guide/auth_system.rst:136
msgid ""
"A caller may only grant permissions they themselves hold — for example, a"
" user with only ``users:manage`` cannot grant ``admin`` to someone else."
msgstr ""
"호출자는 자신이 가진 권한만 부여할 수 있습니다 — 예를 들어 ``users:manage`` 권한만 가진 사용자는 다른 사람에게 "
"``admin`` 권한을 부여할 수 없습니다."

#: ../../source/user_guide/auth_system.rst:140
msgid ""
"Earlier releases used finer-grained scope names: ``models:start`` and "
"``models:stop`` (now ``models:write``), and ``models:add`` / "
"``models:unregister`` (now ``models:register``). Tokens and API keys "
"carrying the legacy names keep working — the server transparently maps "
"them to the new scopes — but this compatibility mapping is deprecated and"
" will be removed in a future release. Use the new names when granting "
"permissions."
msgstr ""
"이전 릴리스에서는 더 세분화된 스코프 이름을 사용했습니다: ``models:start`` 와 ``models:stop``\\ (현재"
" ``models:write``), ``models:add`` / ``models:unregister``\\ (현재 "
"``models:register``). 레거시 이름을 가진 토큰과 API 키는 계속 동작하지만 — 서버가 새 스코프로 투명하게 "
"매핑합니다 — 이 호환성 매핑은 더 이상 권장되지 않으며 향후 릴리스에서 제거될 예정입니다. 권한을 부여할 때는 새 이름을 "
"사용하세요."

#: ../../source/user_guide/auth_system.rst:149
msgid "Usage"
msgstr "사용"

#: ../../source/user_guide/auth_system.rst:150
msgid ""
"With authentication enabled, all usage remains the same, except for the "
"addition of a login step at the beginning or using an API key."
msgstr "인증이 활성화되어도 사용 방법은 동일하며, 시작 시 로그인 단계가 추가되거나 API 키를 사용한다는 점만 다릅니다."

#: ../../source/user_guide/auth_system.rst:154
msgid "Signin"
msgstr "사용자 이름-비밀번호 기반 방식"

#: ../../source/user_guide/auth_system.rst:155
msgid "Signin for command line users:"
msgstr "명령줄을 사용하여 로그인:"

#: ../../source/user_guide/auth_system.rst:162
msgid "For python SDK users:"
msgstr "Python SDK를 사용하여 로그인:"

#: ../../source/user_guide/auth_system.rst:171
msgid ""
"For web UI users, when opening the web UI, you will first be directed to "
"the login page. After logging in, you can use the web UI normally."
msgstr ""
"웹 UI 사용자의 경우, 웹 UI를 열면 먼저 로그인 페이지로 이동합니다. 로그인한 후에는 웹 UI의 기능을 정상적으로 사용할 수 "
"있습니다."

#: ../../source/user_guide/auth_system.rst:174
msgid "Api-Key"
msgstr "Api-Key 인증을 사용하는 방식"

#: ../../source/user_guide/auth_system.rst:175
msgid ""
"For command line users, just add ``--api-key`` or ``-ak`` option in the "
"command you want to use."
msgstr "명령줄 사용자의 경우, 실행하려는 명령에 ``--api-key`` 또는 ``-ak`` 옵션만 추가하면 됩니다."

#: ../../source/user_guide/auth_system.rst:182
msgid ""
"For python SDK users, pass the ``api_key`` parameter when initializing "
"the client, just like the ``OPENAI`` Python client."
msgstr ""
"Python 클라이언트 사용자의 경우, 클라이언트 객체 초기화 시 ``api_key`` 매개변수를 전달하면 됩니다. 이는 "
"``OPENAI`` 클라이언트와 동일합니다."

#: ../../source/user_guide/auth_system.rst:190
msgid "Xinference is also compatible with the ``OPENAI`` Python SDK as well."
msgstr "물론, Xinference는 ``OPENAI`` Python 클라이언트 사용 방식과도 완전히 호환됩니다."

#: ../../source/user_guide/auth_system.rst:198
msgid ""
"For http request, pass ``Authorization: Bearer api-key`` in request "
"header."
msgstr "HTTP 요청의 경우, 요청 헤더에 ``Authorization: Bearer api-key``\\ 를 전달하십시오."

#: ../../source/user_guide/auth_system.rst:207
msgid "Managing users and API keys"
msgstr "사용자 및 API 키 관리"

#: ../../source/user_guide/auth_system.rst:208
msgid ""
"Once logged in as a user with the ``users:manage`` and/or ``keys:manage``"
" permission (the bootstrap ``admin`` account has both), you can manage "
"users and API keys through REST endpoints under ``/v1/admin``, for "
"example:"
msgstr ""
"``users:manage`` 및/또는 ``keys:manage`` 권한을 가진 사용자로 로그인하면(초기 ``admin`` 계정은 "
"두 권한을 모두 가지고 있습니다), ``/v1/admin`` 아래의 REST 엔드포인트를 통해 사용자와 API 키를 관리할 수 "
"있습니다. 예:"

#: ../../source/user_guide/auth_system.rst:226
#, python-brace-format
msgid ""
"Other supported endpoints include listing/updating/deleting users "
"(``/v1/admin/users``, ``/v1/admin/users/{user_id}``), changing a user's "
"password (``/v1/admin/users/{user_id}/password``), and listing, updating,"
" deleting, and revealing API keys (``/v1/admin/keys``, "
"``/v1/admin/keys/{key_id}``, ``/v1/admin/keys/{key_id}/reveal``)."
msgstr ""
"지원되는 다른 엔드포인트에는 사용자 조회/수정/삭제(``/v1/admin/users``, "
"``/v1/admin/users/{user_id}``), 사용자 비밀번호 "
"변경(``/v1/admin/users/{user_id}/password``), API 키 "
"조회/수정/삭제/표시(``/v1/admin/keys``, ``/v1/admin/keys/{key_id}``, "
"``/v1/admin/keys/{key_id}/reveal``)가 있습니다."

#: ../../source/user_guide/auth_system.rst:233
msgid "Managing via the web UI"
msgstr "웹 UI에서 관리하기"

#: ../../source/user_guide/auth_system.rst:234
msgid "Everything above is also available from dedicated pages in the web UI:"
msgstr "위의 모든 기능은 웹 UI의 전용 페이지에서도 사용할 수 있습니다:"

#: ../../source/user_guide/auth_system.rst:236
msgid ""
"**User Management**: create, update, disable, and delete users, and edit "
"their permissions (requires ``users:manage``)."
msgstr "**사용자 관리**: 사용자를 생성, 수정, 비활성화, 삭제하고 권한을 편집합니다(``users:manage`` 권한 필요)."

#: ../../source/user_guide/auth_system.rst:238
msgid ""
"**API Key Management**: create, update, delete, and reveal API keys, with"
" optional per-model access restrictions (requires ``keys:create`` for "
"your own keys, ``keys:manage`` for other users' keys)."
msgstr ""
"**API 키 관리**: API 키를 생성, 수정, 삭제, 확인하며, 모델별 접근 제한을 선택적으로 설정할 수 있습니다(자신의 "
"키에는 ``keys:create``, 다른 사용자의 키에는 ``keys:manage`` 권한 필요)."

#: ../../source/user_guide/auth_system.rst:241
msgid ""
"**Security Settings**: view and tune brute-force protection (login/API-"
"key failure rate limits) and unban blocked IPs or keys (requires "
"``admin``). See :ref:`user_guide_audit_security` for details."
msgstr ""
"**보안 설정**: 무차별 대입 공격 방어(로그인/API 키 실패 속도 제한)를 조회하고 조정하며 차단된 IP나 키의 차단을 "
"해제합니다(``admin`` 권한 필요). 자세한 내용은 :ref:`user_guide_audit_security` 문서를 "
"참조하세요."

#: ../../source/user_guide/auth_system.rst:244
msgid ""
"**Audit Center**: browse recorded API activity (requires ``admin``). See "
":ref:`user_guide_audit_security`."
msgstr ""
"**감사 센터**: 기록된 API 활동을 조회합니다(``admin`` 권한 필요). "
":ref:`user_guide_audit_security` 문서를 참조하세요."

#: ../../source/user_guide/auth_system.rst:248
msgid "Http Status Code"
msgstr "HTTP 상태 코드"

#: ../../source/user_guide/auth_system.rst:249
msgid "Add the following two HTTP status codes:"
msgstr "다음 두 가지 HTTP 상태 코드가 추가되었습니다:"

#: ../../source/user_guide/auth_system.rst:251
msgid "``401 Unauthorized``: login information or token verifies failed."
msgstr "``401 Unauthorized``: 로그인 정보 또는 토큰 인증이 실패했습니다."

#: ../../source/user_guide/auth_system.rst:252
msgid "``403 Forbidden``: No enough permissions when accessing interfaces."
msgstr "``403 Forbidden``: 인터페이스에 접근할 수 있는 충분한 권한이 없습니다."

#: ../../source/user_guide/auth_system.rst:254
msgid ""
"For the command line, SDK, or web UI users, there will be clear "
"information prompts when encountering authorization and permissions "
"issues."
msgstr "명령줄, SDK 또는 웹 UI 사용자의 경우 인증 및 권한 문제가 발생할 때 명확한 정보提示가 표시됩니다."

#: ../../source/user_guide/auth_system.rst:257
msgid "Behavior notes"
msgstr "동작 관련 참고 사항"

#: ../../source/user_guide/auth_system.rst:260
msgid "Permission changes take effect without re-login"
msgstr "권한 변경은 재로그인 없이 즉시 적용됩니다"

#: ../../source/user_guide/auth_system.rst:261
msgid ""
"Route scope checks read the user's **current** permissions from the "
"database on every request, not the scopes baked into the JWT at login. "
"Granting or revoking a permission takes effect on the user's next API "
"call — no re-login required. This applies to JWT-based browser sessions; "
"API keys are also live-read (they always have been)."
msgstr ""
"라우트 범위 검사는 로그인 시 JWT에 포함된 범위가 아니라, 매 요청마다 데이터베이스에서 사용자의 **현재** 권한을 읽어옵니다."
" 권한을 부여하거나 취소하면 사용자의 다음 API 호출부터 바로 적용됩니다 — 재로그인이 필요하지 않습니다. 이는 JWT 기반 "
"브라우저 세션에 적용되며, API 키 역시 이전부터 실시간으로 확인되었습니다."

#: ../../source/user_guide/auth_system.rst:268
msgid "Configurable access-token lifetime"
msgstr "설정 가능한 액세스 토큰 유효 기간"

#: ../../source/user_guide/auth_system.rst:269
msgid ""
"The access-token lifetime defaults to 30 minutes and can be overridden "
"with the ``XINFERENCE_ACCESS_TOKEN_EXPIRE_MINUTES`` environment variable:"
msgstr ""
"액세스 토큰의 유효 기간은 기본적으로 30분이며, ``XINFERENCE_ACCESS_TOKEN_EXPIRE_MINUTES`` 환경"
" 변수로 재정의할 수 있습니다."

#: ../../source/user_guide/auth_system.rst:276
msgid ""
"A shorter lifetime shrinks the token-theft window. The refresh token "
"lifetime is 7 days and is not currently configurable."
msgstr ""
"유효 기간을 짧게 설정하면 토큰 탈취 시 악용 가능한 시간이 줄어듭니다. 리프레시 토큰의 유효 기간은 7일이며 현재는 설정을 변경할"
" 수 없습니다."

#: ../../source/user_guide/auth_system.rst:280
msgid "Feedback"
msgstr "피드백"

#: ../../source/user_guide/auth_system.rst:281
msgid ""
"This feature is still in an experimental stage. Feel free to provide "
"feedback on usage issues or improvement suggestions through `GitHub "
"issues <https://github.com/xorbitsai/inference/issues>`_ or `our Telegram"
" group <https://t.me/+nCNpwmySwk9iYmI1>`_."
msgstr ""
"이 기능은 실험 단계에 있습니다. `GitHub issues "
"<https://github.com/xorbitsai/inference/issues>`_ 또는 `Telegram 그룹 "
"<https://t.me/+nCNpwmySwk9iYmI1>`_ 을 통해 피드백과 제안을 제공해 주시기 바랍니다."

#~ msgid ""
#~ "If you don't have authentication and "
#~ "authorization requirements, you can use "
#~ "Xinference as before, without any "
#~ "changes."
#~ msgstr "인증 및 권한 부여 요구 사항이 없다면 이전과 같이 Xinference를 변경 없이 사용할 수 있습니다."

#~ msgid "Note"
#~ msgstr "주의"

#~ msgid "Simple OAuth2 System (experimental)"
#~ msgstr "OAuth2 시스템(실험적)"

#~ msgid ""
#~ "Xinference builds an In-memory OAuth2"
#~ " authentication and authorization system "
#~ "using the account-password mode."
#~ msgstr "Xinference는 계정과 비밀번호 방식을 사용하여 메모리 기반 OAuth2 인증 및 권한 부여 시스템을 구축합니다."

#~ msgid ""
#~ "Since **v3.0**, Xinference enables the "
#~ ":ref:`advanced, database-backed authentication "
#~ "system <user_guide_advanced_auth_system>` by default"
#~ " (``XINFERENCE_AUTH_ADVANCED``), replacing the "
#~ "in-memory system described below as "
#~ "the default behavior. On first startup,"
#~ " an ``admin`` account is created "
#~ "automatically and its one-time password"
#~ " is printed to the server log —"
#~ " save it, since it is not shown"
#~ " again."
#~ msgstr ""
#~ "**v3.0**\\ 부터 Xinference는 :ref:`고급 데이터베이스 "
#~ "기반 인증 시스템 <user_guide_advanced_auth_system>`\\ "
#~ "(``XINFERENCE_AUTH_ADVANCED``)\\ 을 기본으로 활성화하며, "
#~ "아래에서 설명하는 인메모리 시스템을 대체하는 기본 동작이"
#~ " 됩니다. 처음 시작할 때 ``admin`` 계정이 "
#~ "자동으로 생성되고, 일회용 비밀번호가 서버 로그에 출력됩니다"
#~ " — 다시 표시되지 않으므로 반드시 저장해 두세요."

#~ msgid ""
#~ "The simple, file-based authentication "
#~ "system on this page still works "
#~ "and is not going away. To use "
#~ "it instead of the advanced system, "
#~ "set ``XINFERENCE_AUTH_ADVANCED=false`` and pass "
#~ "``--auth-config`` as described below. To"
#~ " disable authentication entirely, also set"
#~ " ``XINFERENCE_AUTH_ADVANCED=false`` and omit "
#~ "``--auth-config``."
#~ msgstr ""
#~ "이 페이지에서 설명하는 간단한 파일 기반 인증 "
#~ "시스템은 계속 작동하며 사라지지 않습니다. 고급 시스템 "
#~ "대신 이를 사용하려면 ``XINFERENCE_AUTH_ADVANCED=false``\\ "
#~ "로 설정하고 아래 설명대로 ``--auth-config``\\ "
#~ "를 전달하세요. 인증을 완전히 비활성화하려면 마찬가지로 "
#~ "``XINFERENCE_AUTH_ADVANCED=false``\\ 로 설정하고 "
#~ "``--auth-config``\\ 를 생략하세요."

#~ msgid "``models:register``: Permission to register custom models."
#~ msgstr "``models:register``: 모델 등록 권한."

#~ msgid "``admin``: Administrators have permissions for all interfaces."
#~ msgstr "``admin``: 관리자는 모든 인터페이스에 대한 권한을 가집니다."

#~ msgid "Startup"
#~ msgstr "시작하기"

#~ msgid ""
#~ "All authentication and authorization "
#~ "information needs to be specified and"
#~ " loaded into memory when Xinference "
#~ "is started. Xinference requires a "
#~ "JSON-formatted file with the following "
#~ "specific fields:"
#~ msgstr ""
#~ "Xinference를 시작할 때는 모든 인증 및 권한 "
#~ "정보를 지정해야 합니다. 현재 Xinference는 다음 특정"
#~ " 필드를 포함하는 JSON 파일이 필요합니다:"

#~ msgid ""
#~ "``auth_config``: This field is used to"
#~ " configure security-related information."
#~ msgstr "``auth_config``: 이 필드는 보안 관련 정보를 구성합니다."

#~ msgid ""
#~ "``algorithm``: The algorithm used for "
#~ "token generation and parsing. ``HS`` "
#~ "series algorithms are recommended. For "
#~ "example, ``HS256``, ``HS384`` or ``HS512``."
#~ msgstr ""
#~ "``algorithm``: 토큰 생성 및 파싱에 사용되는 "
#~ "알고리즘입니다. ``HS`` 계열 알고리즘(예: ``HS256``, "
#~ "``HS384`` 또는 ``HS512``)을 사용하는 것을 권장합니다."

#~ msgid ""
#~ "``secret_key``: The secret_key used for "
#~ "token generation and parsing. Use this"
#~ " command to generate the secret_key "
#~ "adapted to the ``HS`` algorithms: "
#~ "``openssl rand -hex 32``."
#~ msgstr ""
#~ "``secret_key``: 토큰 생성 및 분석에 사용되는 "
#~ "키입니다. 다음 명령을 사용하여 ``HS`` 시리즈 알고리즘에"
#~ " 적합한 키를 생성할 수 있습니다: ``openssl "
#~ "rand -hex 32``."

#~ msgid ""
#~ "``token_expire_in_minutes``: Reserved field "
#~ "indicating the expiration time of the"
#~ " token. The current open-source "
#~ "version of Xinference does not check "
#~ "the expiration time of tokens."
#~ msgstr ""
#~ "``token_expire_in_minutes``: 예약 필드로, 토큰 만료 "
#~ "시간을 나타냅니다. 현재 Xinference 오픈 소스 "
#~ "버전에서는 토큰 만료 시간을 확인하지 않습니다."

#~ msgid ""
#~ "``user_config``: This field is used to"
#~ " configure user and permission information."
#~ " Each user information is composed of"
#~ " these fields:"
#~ msgstr ""
#~ "``user_config``: 이 필드는 사용자와 권한 정보를 "
#~ "구성하는 데 사용됩니다. 각 사용자 정보는 다음 "
#~ "필드로 구성됩니다:"

#~ msgid "``username``: string field for username."
#~ msgstr "``username``: 문자열, 사용자 이름을 나타냄"

#~ msgid "``password``: string field for password."
#~ msgstr "``password``: 문자열, 비밀번호를 나타냄"

#~ msgid ""
#~ "``permissions``: A list containing strings "
#~ "representing the permissions that this "
#~ "user has. The permissions are described"
#~ " as above."
#~ msgstr ""
#~ "``permissions``: 문자열 리스트로, 해당 사용자가 소유한"
#~ " 권한을 나타냅니다. 권한 설명은 위의 권한 부분 "
#~ "문서에 기술된 바와 같습니다."

#~ msgid ""
#~ "``api_keys``: A list containing strings "
#~ "representing the api-keys of this "
#~ "user. With these api-keys, user "
#~ "can access the xinference interfaces "
#~ "without the need to signin. The "
#~ "api-key here is formatted similar to"
#~ " the ``OPENAI_API_KEY`` , always starting"
#~ " with ``sk-``, followed by 13 "
#~ "alphanumeric characters."
#~ msgstr ""
#~ "``api_keys``: 문자열 리스트로, 해당 사용자가 소유한 "
#~ "api-key를 나타냅니다. 사용자는 이러한 api-key를"
#~ " 통해 로그인 절차 없이 xinference 인터페이스에 "
#~ "접근할 수 있습니다. 여기서 api_key의 구성은 "
#~ "``OPENAI_API_KEY``\\ 와 유사하며, 항상 ``sk-``\\ "
#~ "로 시작하고 그 뒤에 13개의 숫자, 대소문자 "
#~ "알파벳이 옵니다."

#~ msgid ""
#~ "Once you have configured such a "
#~ "JSON file, use the ``--auth-config`` "
#~ "option to enable Xinference with the "
#~ "authentication and authorization system. For"
#~ " example, for local startup:"
#~ msgstr ""
#~ "이러한 JSON 파일을 설정한 후 ``--auth-"
#~ "config`` 옵션을 사용하여 인증 및 권한 부여 "
#~ "시스템이 있는 Xinference를 활성화할 수 있습니다. "
#~ "예를 들어, 로컬에서 시작하는 명령은 다음과 같습니다:"

#~ msgid ""
#~ "For distributed startup, just specify "
#~ "this option when starting the "
#~ "supervisor:"
#~ msgstr "분산 환경에서는 supervisor를 시작할 때 이 옵션만 지정하면 됩니다:"

#~ msgid ""
#~ "This feature is still in an "
#~ "experimental stage — see `Feedback`_ at"
#~ " the bottom of this page for "
#~ "how to reach us with issues or "
#~ "suggestions."
#~ msgstr "이 기능은 아직 실험 단계입니다 — 문제나 개선 제안을 전달하는 방법은 이 페이지 하단의 `Feedback`_ 을 참고하세요."

#~ msgid "Any of ``0`` / ``false`` / ``no`` (case-insensitive): disabled."
#~ msgstr "``0`` / ``false`` / ``no``\\ (대소문자 구분 없음) 중 하나: 비활성화."

#~ msgid ""
#~ "It is mutually exclusive with the "
#~ "simple system's ``--auth-config`` option "
#~ "— passing ``--auth-config`` while "
#~ "``XINFERENCE_AUTH_ADVANCED`` is (or defaults "
#~ "to) enabled raises a startup error. "
#~ "To use ``--auth-config`` instead, or "
#~ "to run with no authentication at "
#~ "all, set ``XINFERENCE_AUTH_ADVANCED=false``:"
#~ msgstr ""
#~ "이는 간단한 시스템의 ``--auth-config`` 옵션과 "
#~ "상호 배타적입니다 — ``XINFERENCE_AUTH_ADVANCED``\\ 가"
#~ " (기본값으로) 활성화된 상태에서 ``--auth-config``\\ "
#~ "를 전달하면 시작 시 오류가 발생합니다. 대신 "
#~ "``--auth-config``\\ 를 사용하거나 인증 없이 "
#~ "실행하려면 ``XINFERENCE_AUTH_ADVANCED=false``\\ 로 설정하세요."

#~ msgid ""
#~ "On first startup with the advanced "
#~ "system enabled, Xinference automatically "
#~ "creates an ``admin`` user (with the "
#~ "``admin`` permission) if the user table"
#~ " is empty, and prints a one-"
#~ "time, randomly generated password to the"
#~ " server log:"
#~ msgstr ""
#~ "고급 시스템이 활성화된 상태로 처음 시작할 때, "
#~ "사용자 테이블이 비어 있으면 Xinference는 ``admin``"
#~ " 권한을 가진 ``admin`` 사용자를 자동으로 생성하고, "
#~ "무작위로 생성된 일회용 비밀번호를 서버 로그에 출력합니다."

#~ msgid ""
#~ "This password is **not stored anywhere"
#~ " in plaintext** and is not shown "
#~ "again — save it from the log, "
#~ "and change it on first login (the"
#~ " account is flagged ``must_change_password`` "
#~ "until you do)."
#~ msgstr ""
#~ "이 비밀번호는 **평문으로 어디에도 저장되지 않으며** 다시"
#~ " 표시되지 않습니다 — 로그에서 저장해 두고, 처음"
#~ " 로그인할 때 변경하세요(변경할 때까지 계정에는 "
#~ "``must_change_password`` 플래그가 설정됩니다)."

#~ msgid "Advanced-system permissions"
#~ msgstr "고급 시스템 권한"

#~ msgid ""
#~ "The advanced system uses the same "
#~ "permission names as the simple system"
#~ " (``models:list``, ``models:read``, "
#~ "``models:register``, ``models:unregister``, "
#~ "``models:start``, ``models:stop``, ``admin``), plus"
#~ " additional scopes for managing the "
#~ "advanced system itself:"
#~ msgstr ""
#~ "고급 시스템은 간단한 시스템과 동일한 권한 "
#~ "이름(``models:list``, ``models:read``, ``models:register``,"
#~ " ``models:unregister``, ``models:start``, "
#~ "``models:stop``, ``admin``)을 사용하며, 고급 시스템 "
#~ "자체를 관리하기 위한 추가 범위를 제공합니다."

#~ msgid "Login and API-key usage"
#~ msgstr "로그인 및 API 키 사용 방법"

#~ msgid ""
#~ "Login and API-key usage (signin, "
#~ "``--api-key``, ``Authorization: Bearer`` header,"
#~ " OpenAI-SDK compatibility) work the "
#~ "same way as described in the "
#~ "`Usage`_ section above for the simple"
#~ " system."
#~ msgstr ""
#~ "로그인 및 API 키 사용 방법(로그인, ``--api-"
#~ "key``, ``Authorization: Bearer`` 헤더, OpenAI"
#~ " SDK 호환성)은 위의 간단한 시스템의 `Usage`_ "
#~ "섹션에서 설명한 것과 동일한 방식으로 작동합니다."

