サポートされている操作と Schema Registry リソース

Schema Registry セキュリティプラグインにより、Kafka トピックに対応する サブジェクト 用のスキーマに対する操作の認可を行うことができます。

サポートされている操作および対応する Schema Registry URI はこのページに記載されています。これらは、role-based access control (RBAC) と ACL による認可の両方に適用されます。

ちなみに

RBAC と ACL の両方を組み合わせて使用することも、個別に使用することもできます。どちらのアクセス制御方法にも、それぞれの長所とユースケースがあります。詳細については、「RBAC の概要」の「RBAC と ACL」を参照してください。

サポートされる操作

Schema Registry の操作 リソース
SUBJECT_READ
GET /subjects/(string: subject)/versions
POST /subjects/(string: subject)
GET /subjects/(string: subject)/versions/(versionId: version)
SUBJECT_WRITE
POST /subjects/(string: subject)/versions
POST /compatibility/subjects/(string: subject)/versions/(versionId: version)
SUBJECT_DELETE
DELETE /subjects/(string: subject)/versions/(versionId: version)
DELETE /subjects/(string: subject)
SCHEMA_READ
GET /schemas/ids/{int: id}
SUBJECT_COMPATIBILITY_READ
GET /config/(string: subject)
GET /mode/(string: subject)
SUBJECT_COMPATIBILITY_WRITE
PUT /config/(string: subject)
PUT /mode/(string: subject)
GLOBAL_COMPATIBILITY_READ
GET /config and .. http:get:: /mode
GLOBAL_COMPATIBILITY_WRITE
PUT /config and .. http:put:: /mode
GLOBAL_READ
GET /subjects

これらの操作の詳細については、「Schema Registry API」を参照してください。

ACL セットアップの例

Schema Registry ACL 構成に対する "汎用的な" 推奨事項とは意味をなさないものですが、デプロイを計画する際の参考にできる例はありますので、以下に示します。

  • 寛容なセットアップでは、ANONYMOUS を含むすべてのクライアントに対してすべての READ-ACL を提供できます。Need-to-Know の原則をより厳密に遵守する場合は、READ 操作を制限することもできます。
  • 自律型チームは、すべての SUBJECT ACL(READ、WRITE、DELETE、COMPATIBILTY_WRITE、COMPATIBILTY_READ)を必要とします。正確な構成は、チームの自律性や Schema Registry に対する必要な制御レベルに依存します。CD/CI システムは、すべての関連サブジェクトに対して同じ ACL を持ちます。
  • 管理チームには、GLOBAL_ ACL を追加でセットアップできます。

ACL の定義の詳細については、「Schema Registry ACL オーソライザー」を参照してください。

オーソライザーの構成

受信リクエストは、前述の表の Schema Registry の操作と対応付けられ、その後、構成されているオーソライザーを使用してリクエストの認可が行われます。

confluent.schema.registry.authorizer.class

Schema Registry リクエストの認可に使用される実装。これは、SchemaRegistryAuthorizer インターフェイスの実装となっている必要があります。

  • 型: string
  • デフォルト: ""
  • 重要度: 高

これらの Schema Registry オーソライザーはネイティブに提供されています。