INTEGRITY Документация

Аутентификация

Вы можете сгенерировать API-токен, который будет использоваться как Access Key для работы с существующими S3-совместимыми SDK или XML API.

Прежде чем создавать API-токен, необходимо приобрести R2.

Чтобы создать API-токен:

  1. На панели управления Cloudflare перейдите к разделу Объектное хранилище R2 страницу.

    Перейдите в Обзор ↗
  2. В разделе Сведения об аккаунте разделе выберите Управление рядом с API-токены.

  3. Выберите, что вы хотите создать:

    • Создание Account API token : эти токены привязаны к самому аккаунту Cloudflare и могут использоваться любой авторизованной системой или пользователем. Просматривать и создавать их могут только пользователи с ролью Super Administrator. Такие токены остаются действительными, пока их не отзовут вручную.
    • Создание User API token : эти токены привязаны к вашей личной учётной записи Cloudflare. Они наследуют ваши личные разрешения и становятся неактивными, если ваш пользователь удаляется из аккаунта.
  4. В разделе Разрешения, выберите типы разрешений для токена. См. Разрешения для получения информации о каждой опции.

  5. (Необязательно) Если вы выберете Object Read and Write или Object Read разрешения, вы можете ограничить область действия токена набором бакетов.

  6. Выберите Создание Account API token или Создание User API token.

После успешного создания токена проверьте свой Secret Access Key и Access Key ID значения. Их также часто называют Client Secret и Client ID соответственно.

Вам также потребуется настроить endpoint в вашем S3-клиенте, чтобы https://<ACCOUNT_ID>.r2.cloudflarestorage.com.

Найдите свой account ID в панели управления Cloudflare.

К бакетам, созданным с указанием юрисдикции, необходимо обращаться через конечные точки, специфичные для этой юрисдикции:

Разрешения

Разрешение Описание
Admin Read & Write Позволяет создавать, получать список и удалять бакеты, изменять их конфигурацию, читать, записывать объекты и получать их список, а также читать и записывать таблицы каталога данных и связанные с ними метаданные.
Admin Read only Позволяет получать список бакетов и просматривать их конфигурацию, читать объекты и получать их список, а также читать данные из таблиц каталога данных и связанных с ними метаданных.
Object Read & Write Позволяет читать, записывать объекты в отдельных бакетах и получать их список.
Object Read only Позволяет читать объекты в отдельных бакетах и получать их список.

Создание API-токенов через API

Вы можете создавать API-токены через API и использовать их для генерации соответствующих значений Access Key ID и Secret Access Key. Чтобы начать, см. Создание API-токенов через API. Ниже приведены особенности для R2.

Access Policy

Access Policy определяет, к каким ресурсам у токена есть доступ и какие у него разрешения.

Материалы

Для R2 актуальны два типа ресурсов: Account и Bucket. Дополнительную информацию о типе ресурса Account см. Аккаунт.

Бакет

Включите набор бакетов R2 или все бакеты в аккаунте.

Конкретный бакет представлен как:

"com.cloudflare.edge.r2.bucket.<ACCOUNT_ID>_<JURISDICTION>_<BUCKET_NAME>": "*"

Все бакеты аккаунта представлены следующим образом:

"com.cloudflare.api.account.<ACCOUNT_ID>": {
  "com.cloudflare.edge.r2.bucket.*": "*"
}

Группы разрешений

Определите, что группы разрешений должно быть применено.

Группа разрешений

Ресурс

Описание

Workers R2 Storage Write

Аккаунт

Позволяет создавать, удалять и получать список бакетов, изменять их конфигурацию, а также читать, записывать и получать список объектов.

Workers R2 Storage Read

Аккаунт

Позволяет получать список бакетов и просматривать их конфигурацию, а также читать и получать список объектов.

Workers R2 Storage Bucket Item Write

Бакет

Позволяет читать, записывать объекты в бакетах и получать их список.

Workers R2 Storage Bucket Item Read

Бакет

Позволяет читать объекты в бакетах и получать их список.

Workers R2 Data Catalog Write

Аккаунт

Позволяет читать и записывать данные в каталогах данных. Это разрешение предоставляет доступ к интерфейсу каталога Iceberg REST.

Workers R2 Data Catalog Read

Аккаунт

Позволяет читать данные из каталогов данных. Это разрешение предоставляет доступ к интерфейсу каталога Iceberg REST только для чтения.

Пример политики доступа

[
	{
		"id": "f267e341f3dd4697bd3b9f71dd96247f",
		"effect": "allow",
		"resources": {
			"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_default_my-bucket": "*",
			"com.cloudflare.edge.r2.bucket.4793d734c0b8e484dfc37ec392b5fa8a_eu_my-eu-bucket": "*"
		},
		"permission_groups": [
			{
				"id": "6a018a9f2fc74eb6b293b0c548f38b39",
				"name": "Workers R2 Storage Bucket Item Read"
			}
		]
	}
]

Получение учётных данных S3 API из токена API

Значения Access Key ID и Secret Access Key можно получить из ответа Create Token API:

См. Аутентификация в R2 API с помощью токенов аутентификации для руководства с примерами на JavaScript, Python и Go.

Временные учётные данные

Чтобы выпустить краткосрочные учетные данные с ограниченной областью действия на основе API-токена, используйте временные учётные данные. R2 поддерживает их генерацию через Temporary Credentials API либо локально путем подписания JWT секретным ключом доступа родительского токена.