アクセス権限と API キーを設定する
Step 1: RBAC の考え方を理解する
IBM Confluent Cloud は事前定義ロール(Predefined RBAC roles)を提供しています。ロールは「プリンシパル(ユーザーまたはサービスアカウント)」と「リソース」の両方に紐づけて付与します(ロールバインディング)。
主な管理系ロールは次のとおりです。
| ロール | スコープ | 概要 |
|---|---|---|
| OrganizationAdmin | Organization | 組織全体を管理します。サービスアカウントの作成と支払い方法の登録が可能です |
| EnvironmentAdmin | Environment | 特定の環境を管理します。他の環境のアカウントやリソースは参照できません |
| CloudClusterAdmin | Cluster | 特定のクラスターを管理します |
| ResourceOwner | 個別リソース | Topic などの個別リソースの所有者です。自身が所有するサービスアカウントの API キーの作成・参照・更新・削除も行えます |
| KsqlAdmin | ksqlDB Cluster | ksqlDB クラスターを管理します。付与するには CloudClusterAdmin 以上のロールが必要です |
| FlinkDeveloper | Compute Pool / Environment | Flink の開発権限です。Compute Pool 単位でスコープを絞って付与できます |
開発者向けには DeveloperRead、DeveloperWrite、DeveloperManage の3つのロールがあり、いずれも個別のリソースに紐づけて付与します。

ロールバインディングは、右上メニューの Accounts and access → Access タブから作成します。左のリソースツリーで Organization / Environment / Cluster のスコープを選択すると、そのスコープで付与できるロールの一覧が表示されます。上の表に挙げた主要ロールのほかにも、MetricsViewer(Metrics API へのアクセス)、DataSteward / DataDiscovery(Stream Catalog 関連)、FlinkAdmin / FlinkFunctionDeveloper(Flink 関連)、Operator 系など、用途を絞ったロールが用意されています。
【重要】Basic クラスターは Kafka 内リソースの RBAC に対応していません
Basic クラスターは、Kafka クラスター内のリソースに対する RBAC ロールをサポートしません。 本番環境と同等のアクセス制御を検証される場合は、Standard 以上のクラスタータイプを選択してください。
参考:Predefined RBAC roles in Confluent Cloud(英語)
Step 2: サービスアカウントを作成する
アプリケーションからの接続には、個人のユーザーアカウントではなくサービスアカウントを使用します。サービスアカウントの作成には OrganizationAdmin ロールが必要です。
アプリケーション単位でサービスアカウントを分け、必要最小限のロールバインディングを付与する設計をおすすめします。
Step 3: 認証情報を発行する
ワークロードからの認証方式は次の3つです。
| 方式 | 概要 |
|---|---|
| API キー | キーとシークレットの組で認証します |
| OAuth / OIDC | Identity Provider と Identity Pool を構成して認証します |
| mTLS | 証明書 CA と Certificate Identity Pool を構成し、クライアントとクラスターの双方向認証を行います。Enterprise および Freight クラスター(AWS)で一般提供されています |
API キーはクラスターの API keys タブで管理します。Create key を選択して作成を開始します。

最初のステップで、キーを紐づけるアカウントを選択します。My account は開発用と明示されており、そのユーザーの全権限がキーに引き継がれます。本番用途では Service account を選択し、必要最小限の権限のみを付与してください(画面上でも Service account が本番推奨と表示されます)。

【重要】シークレットは作成時にしか表示されません
作成の最終ステップで API キーとシークレットが表示されます。シークレットを確認できるのはこの画面が唯一の機会です。安全な場所に保管してください。また、この画面にはクラスターへの接続情報がすべて含まれるため、スクリーンショットの取得や画面共有は避けてください。誤って記録・共有した場合は、そのキーを直ちに削除して作り直してください。
【重要】ロールを削除しても API キーは自動的に削除されません
管理者ロール(OrganizationAdmin、EnvironmentAdmin、CloudClusterAdmin)を持つプリンシパルが作成した ksqlDB クラスター用の API キーは、ロールバインディングを削除しても自動的には削除されず、引き続き利用できてしまいます。
異動や退職などでロールを剥奪する際は、対応する API キーの削除も必ず併せて実施してください。