Документация / AsyncAPI
Безопасность и привязки
Security Scheme — схемы безопасности
Схемы описываются в components.securitySchemes, а применяются в security сервера.
type | Назначение | Поля |
|---|---|---|
userPassword | логин и пароль | — |
apiKey | ключ | in: user или password |
X509 | сертификат клиента | — |
symmetricEncryption, asymmetricEncryption | шифрование | — |
httpApiKey | ключ в HTTP | name, in: query, header, cookie |
http | HTTP-авторизация | scheme, bearerFormat |
oauth2 | OAuth 2.0 | flows (как в OpenAPI) |
openIdConnect | OpenID Connect | openIdConnectUrl |
plain, scramSha256, scramSha512, gssapi | механизмы SASL (Kafka) — с версии 2.1 | — |
Требование безопасности сервера — объект «имя схемы → список областей доступа» (для схем без областей —
пустой список); элементы массива security — альтернативы.
asyncapi: 2.6.0
info:
title: Сервис заказов
version: 1.0.0
servers:
production:
url: kafka.example.ru:9093
protocol: kafka-secure
security:
- saslScram: []
channels:
orders.created:
subscribe:
message:
payload:
type: object
components:
securitySchemes:
saslScram:
type: scramSha512
description: SASL/SCRAM-SHA-512 поверх TLS
Bindings — привязки к протоколам
Bindings задают настройки конкретного протокола, которые не описываются общей моделью: ключ сообщения Kafka, тип обменника RabbitMQ, уровень QoS в MQTT. Их можно указать у сервера, канала, операции и сообщения:
| Уровень | Примеры |
|---|---|
servers.*.bindings | параметры подключения, реестр схем |
channels.*.bindings | тип обменника и очереди AMQP, настройки топика |
operation.bindings | группа потребителей и идентификатор клиента Kafka, qos MQTT |
message.bindings | ключ сообщения Kafka, заголовки HTTP |
Kafka
channels:
orders.created:
subscribe:
bindings:
kafka:
clientId:
type: string
enum: [orders-service]
message:
bindings:
kafka:
key:
type: string
description: Идентификатор заказа — сообщения одного заказа идут в одну партицию
payload:
type: object
AMQP (RabbitMQ)
channels:
orders.events:
bindings:
amqp:
is: routingKey
exchange:
name: orders
type: topic
durable: true
autoDelete: false
subscribe:
bindings:
amqp:
deliveryMode: 2
message:
payload:
type: object
MQTT
channels:
devices/{deviceId}/telemetry:
parameters:
deviceId:
schema:
type: string
publish:
bindings:
mqtt:
qos: 1
retain: false
message:
payload:
type: object
Состав полей привязок зависит от протокола и версии привязок; полный перечень — в репозитории asyncapi/bindings.
Похожие инструменты
Обновлено: 30 сентября 2026 г.
