← Artifacts / artifacts / guides
Аутентификация
Artifacts использует отдельный способ аутентификации для каждого интерфейса. Выбирайте способ аутентификации в зависимости от того, как ваш код обращается к репозиторию.
Проверьте Пространства имён сначала, затем используйте одно и то же имя пространства имён во всех интерфейсах.
Сравнение способов аутентификации
| Интерфейс | Аутентификация через | Разрешения или области действия | Используйте для |
|---|---|---|---|
| привязка Workers | Настроенный artifacts привязка |
Аутентификация Wrangler предназначена только для локальных команд Wrangler, таких как dev и deploy. |
Код Worker, который вызывает env.ARTIFACTS |
| REST API | API-токен Cloudflare в Authorization: Bearer ... |
Артефакты > Чтение для маршрутов чтения и Артефакты > Изменить для маршрутов записи. | HTTP-запросы плоскости управления |
| Протокол Git | Токен Artifacts, привязанный к репозиторию | read для clone, fetch и pull. write для push. |
Стандартный Git по HTTPS |
API-токены Cloudflare аутентифицируют доступ к плоскости управления. Токены Artifacts с областью действия на репозиторий аутентифицируют доступ к Git.
Аутентификация для привязки Workers
Привязка Workers использует artifacts binding, который вы настраиваете в Wrangler. Код вашего Worker не передаёт токен при вызове env.ARTIFACTS.
Добавьте привязку в конфигурацию Wrangler:
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "artifacts-worker",
"main": "src/index.ts",
// Set this to today's date
"compatibility_date": "2026-08-28",
"artifacts": [
{
"binding": "ARTIFACTS",
"namespace": "default"
}
]
}name = "artifacts-worker"
main = "src/index.ts"
# Set this to today's date
compatibility_date = "2026-08-28"
[[artifacts]]
binding = "ARTIFACTS"
namespace = "default"Во время выполнения развёрнутые Workers используют настроенную привязку напрямую. Для локальных команд Wrangler, таких как wrangler dev, wrangler deploy, или wrangler types, сначала выполните аутентификацию Wrangler. Подробнее о локальной OAuth аутентификации см. wrangler login. Для CI или headless окружений см. Запуск Wrangler в CI/CD.
Аутентификация для REST API
REST API использует токен API Cloudflare в Authorization заголовок.
export ACCOUNT_ID="<YOUR_ACCOUNT_ID>"
export ARTIFACTS_NAMESPACE="default"
export CLOUDFLARE_API_TOKEN="<YOUR_API_TOKEN>"
export ARTIFACTS_BASE_URL="https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/artifacts/namespaces/$ARTIFACTS_NAMESPACE"Читайте метаданные репозитория:
curl "$ARTIFACTS_BASE_URL/repos/starter-repo" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"Создайте репозиторий:
curl --request POST "$ARTIFACTS_BASE_URL/repos" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "starter-repo"
}'Аутентификация для протокола Git
Git использует токены Artifacts, привязанные к репозиторию, а не токены Cloudflare API. Выпускайте такие токены через привязку Workers или REST API, а затем используйте их с репозиторием remote URL.
| Область действия токена | Разрешённые команды |
|---|---|
read |
git clone, git fetch, git pull |
write |
git clone, git fetch, git pull, git push |
Используйте точное имя репозитория remote значение, возвращаемое привязкой Workers или REST API:
export ARTIFACTS_REMOTE="<PASTE_REMOTE_FROM_CREATE_OR_GET_RESPONSE>"Используйте токен на чтение для клонирования:
git -c http.extraHeader="Authorization: Bearer <YOUR_READ_TOKEN>" clone "$ARTIFACTS_REMOTE" artifacts-cloneИспользуйте токен на запись для push:
git -c http.extraHeader="Authorization: Bearer <YOUR_WRITE_TOKEN>" push "$ARTIFACTS_REMOTE" HEAD:mainДополнительную информацию об обработке токенов и аутентифицированных удалённых репозиториях см. в Протокол Git.