API в Managed Service for Apache Kafka®
В кластере доступно несколько видов API, позволяющих выполнять различные операции.
Облачные API
Этот набор API предоставляется Yandex Cloud и включает в себя REST API и gRPC API. Любой из этих API может использоваться, чтобы работать со следующими объектами:
- Кластерами Managed Service for Apache Kafka® и логами кластеров.
- Некоторыми сущностями Apache Kafka®: топиками, пользователями и коннекторами.
Использование
Чтобы получить доступ к этим API, не нужно никаких дополнительных действий — они доступны всегда. Для работы с этими API необходимо пройти аутентификацию при выполнении запросов к API.
Доступные операции определяются ролями аккаунта, от имени которого выполняются запросы к API.
Описания методов REST API и вызовов gRPC API приведены в справочнике API. Примеры запросов см. в пошаговых инструкциях.
Ограничения
С помощью этих API можно управлять только частью сущностей Apache Kafka®. Чтобы получить расширенные возможности по управлению сущностями Apache Kafka®, используйте Managed Service for Apache Kafka® REST API или Client API.
Managed Service for Apache Kafka® REST API
Этот набор REST API предоставляется Yandex Cloud и включает в себя:
- 
REST API для Managed Schema Registry, совместимый с Confluent Schema Registry API версии 6.1 (с некоторыми ограничениями). Этот API позволяет работать с управляемым реестром схем формата данных. 
- 
REST API для Apache Kafka®, совместимый с Confluent REST Proxy API версии 6.1 (с некоторыми ограничениями). Этот API позволяет работать с производителями и потребителями, используя схемы формата данных из реестра, а также просматривать информацию о брокерах, топиках и разделах. 
В кластерах Managed Service for Apache Kafka® используется продукт с открытым исходным кодом Karapace
Использование
Чтобы использовать любой из этих API:
- 
Получите доступ к API. По умолчанию Managed Schema Registry и оба REST API выключены и недоступны. Чтобы воспользоваться ими, укажите соответствующие настройки при создании или изменении кластера: - Реестр схем данных. В кластере станут доступны Managed Schema Registry и соответствующий ему REST API.
- Kafka Rest API. В кластере станет доступен REST API для Apache Kafka®.
 Хотя оба REST API предоставляются Karapace, они независимы друг от друга: например, можно использовать только Managed Schema Registry и его REST API, только REST API для Apache Kafka®, или все сразу. 
- 
Выполните все шаги по предварительной настройке для подключения к кластеру. 
- 
Пройдите аутентификацию при выполнении запросов к API. Используется механизм HTTP Basic Authentication 
Доступные операции определяются ролями пользователя Apache Kafka®, от имени которого выполняются запросы к API:
- 
REST API для Managed Schema Registry: - Роль ACCESS_ROLE_SCHEMA_READER: пользователю доступны операции чтения над субъектами, на которые назначена роль.
- Роль ACCESS_ROLE_SCHEMA_WRITER: пользователю доступны операции чтения и записи над субъектами, на которые назначена роль.
- Роль ACCESS_ROLE_CONSUMER: пользователю доступны операции чтения над субъектами, связанными с топиком, на который назначена роль.
- Роль ACCESS_ROLE_PRODUCER: пользователю доступны любые операции над субъектами, связанными с топиком, на который назначена роль.
- Роль ACCESS_ROLE_ADMIN: пользователю доступны любые операции над субъектами, связанными с любым топиком (эта роль назначается на все топики).
- Роль ACCESS_ROLE_TOPIC_ADMIN: пользователю доступны любые операции над субъектами, связанными с топиком, на который назначена роль.
 Перечень субъектов, с которыми можно работать, также определяется ролью пользователя. Подробнее о ролевой модели Managed Schema Registry см. в разделе Управление схемами данных. 
- Роль 
- 
REST API для Apache Kafka®: - Роль ACCESS_ROLE_CONSUMER: пользователь может получать информацию об объектах Apache Kafka®, а также работать с потребителями.
- Роль ACCESS_ROLE_ADMIN,ACCESS_ROLE_PRODUCERилиACCESS_ROLE_TOPIC_ADMIN: пользователь может работать с объектами Apache Kafka® в полном объеме.
 
- Роль 
Описания методов REST API для Managed Schema Registry
Ограничения
- 
REST API для Managed Schema Registry: Ограничено использование методов для управления режимом работы реестра - Просматривать информацию о режимах работы реестра может только пользователь с правами ACCESS_ROLE_ADMIN.
- Нельзя изменить режим работы реестра.
 
- Просматривать информацию о режимах работы реестра может только пользователь с правами 
- 
REST API для Apache Kafka®: - Нельзя управлять кластерами и другими объектами Apache Kafka®, кроме производителей и потребителей.
- Доступны только методы Confluent REST Proxy API
 
Client API Apache Kafka®
Client API — общее название для набора нативных API Apache Kafka®:
- Producer API- Consumer API- Streams API- Connect API- Admin API
Эти API позволяют управлять объектами Apache Kafka® (с некоторыми ограничениями).
Использование
Чтобы использовать любой из этих API:
- 
Выполните предварительную настройку для подключения к кластеру. 
- 
Встройте нужный API в код приложения-клиента Apache Kafka®. Для работы с Client API необходимо вызывать нужные функции из кода приложений-клиентов — эти API не являются REST API. 
- 
Настройте в коде приложения-клиента нужный механизм аутентификации, чтобы взаимодействовать с API. При аутентификации используются реквизиты пользователя Apache Kafka®. Механизмы аутентификации описаны в документации Confluent для приложений-клиентов 
Доступные операции определяются ролями пользователя Apache Kafka®, от имени которого выполняются запросы к Client API.
Описания Client API приведены в документации Apache Kafka®
Ограничения
- 
Нельзя управлять кластерами и пользователями Apache Kafka®. 
- 
Можно управлять топиками с помощью Admin API, но со следующими ограничениями: - 
Для управления топиками используются: - пользователь-администратор с ролью ACCESS_ROLE_ADMIN, которая действует для всех топиков кластера. Если такого пользователя в кластере нет, создайте его;
- пользователь с ролью ACCESS_ROLE_TOPIC_ADMIN, которая задается на произвольные топики.
 Подробнее о правах, которые предоставляет каждая роль. 
- пользователь-администратор с ролью 
- 
Права доступа пользователей для производителей и потребителей настраиваются с помощью стандартных интерфейсов Yandex Cloud, а не Admin API Apache Kafka®. 
 
-