title: Pulsarにおける認可

認可モデル

Pulsarにおいて、認証プロバイダは特定のクライアントを識別しロールトークンと関連付けます。

ロールは単一または複数のクライアントを表す文字列で、
これらのクライアントは、特定のトピックに対してproduceまたはconsumeを行う権限、または特定のプロパティの設定を管理する権限が付与されます。

新規プロパティの作成

Pulsarのプロパティはテナントを示す識別子で、一般的にPulsarインスタンスの管理者またはセルフサービスのポータルなどによって提供されます。

$ bin/pulsar-admin properties create my-property   \
        --admin-roles my-admin-role                \
        --allowed-clusters us-west,us-east

このコマンドはクラスタus-westus-eastを利用可能な新規プロパティmy-propertyを作成します。

ロールmy-admin-roleと識別されたクライアントは、このプロパティ上での全ての管理操作が許可されます。

ネームスペースの管理

プロパティ管理者は指定されたクラスタ内に複数ネームスペースを作成できます。

$ bin/pulsar-admin namespaces create my-property/us-west/my-namespace

作成後、このネームスペースの利用権限の付与ができます:

$ bin/pulsar-admin namespaces grant-permission \
                        my-property/us-west/my-namespace \
                        --role my-client-role \
                        --actions produce,consume

コマンド実行後、ロールmy-client-roleと識別されたクライアントは指定されたネームスペースのトピックを利用可能になります。

スーパーユーザ

Pulsarでは、システムのスーパーユーザを特定のロールに割り当てることができます。

スーパーユーザは全てのプロパティとネームスペースに対する全ての管理操作、および全てのトピックに対する発行と購読が許可されます。

スーパーユーザはBrokerの設定ファイルconf/broker.confで設定されます:

superUserRoles=my-super-user-1,my-super-user-2

一般的に、スーパーユーザロールはadminクライアントやBroker間の認可で利用されます。
ジオレプリケーションにおいては、各Brokerが他クラスタのトピックに発行できる必要があります。