4.5.3. Red Hat Single Sign-On の Authorization Services でのポリシーおよびパーミッションの管理
本セクションでは、Red Hat Single Sign-On Authorization Services および Kafka によって使用される承認モデルについて説明し、各モデルの重要な概念を定義します。
Kafka にアクセスするためのパーミッションを付与するには、Red Hat Single Sign-On で OAuth クライアント仕様を作成して、Red Hat Single Sign-On Authorization Services オブジェクトを Kafka リソースにマップできます。Kafka パーミッションは、Red Hat Single Sign-On Authorization Services ルールを使用して、ユーザーアカウントまたはサービスアカウントに付与されます。
トピックの作成や一覧表示など、一般的な Kafka 操作に必要なさまざまなユーザーパーミッションの例を紹介します。
4.5.3.1. Kafka および Red Hat Single Sign-On 承認モデルの概要
Kafka および Red Hat Single Sign-On Authorization Services は、異なる承認モデルを使用します。
Kafka 承認モデル
Kafka の承認モデルはリソース型を使用します。Kafka クライアントがブローカーでアクションを実行すると、ブローカーは設定済みの KeycloakRBACAuthorizer
を使用して、アクションおよびリソースタイプを基にしてクライアントのパーミッションをチェックします。
Kafka は 5 つのリソースタイプを使用してアクセスを制御します( Topic
、Group
、Cluster
、TransactionalId
、および DelegationToken
)。各リソースタイプには、利用可能なパーミッションセットがあります。
トピック
-
作成
-
Write
-
読み取り
-
Delete
-
Describe
-
DescribeConfigs
-
Alter
-
AlterConfigs
グループ
-
読み取り
-
Describe
-
Delete
クラスター
-
作成
-
Describe
-
Alter
-
DescribeConfigs
-
AlterConfigs
-
IdempotentWrite
-
ClusterAction
TransactionalId
-
Describe
-
Write
DelegationToken
-
Describe
Red Hat Single Sign-On の Authorization Services モデル
Red Hat Single Sign-On の Authorization Services には、パーミッションを定義および付与するための 4 つの概念があります。これらは リソース、承認スコープ、ポリシー、および パーミッション です。
- リソース
- リソースは、リソースを許可されたアクションと一致するために使用されるリソース定義のセットです。リソースは、個別のトピックであったり、名前が同じプレフィックスで始まるすべてのトピックであったりします。リソース定義は、利用可能な承認スコープのセットに関連付けられます。これは、リソースで利用可能なすべてのアクションのセットを表します。多くの場合、これらのアクションのサブセットのみが実際に許可されます。
- 承認スコープ
- 承認スコープは、特定のリソース定義で利用可能なすべてのアクションのセットです。新規リソースを定義するとき、すべてのスコープのセットからスコープを追加します。
- ポリシー
ポリシーは、アカウントのリストと照合するための基準を使用する承認ルールです。ポリシーは以下と一致できます。
- クライアント ID またはロールに基づくサービスアカウント
- ユーザー名、グループ、またはロールに基づくユーザーアカウント
- パーミッション
- パーミッションは、特定のリソース定義の承認スコープのサブセットをユーザーのセットに付与します。
その他のリソース