重要

このページの日本語コンテンツは古くなっている可能性があります。最新の英語版コンテンツをご覧になるには、こちらをクリックしてください。

Confluent Cloud でのロールベースアクセス制御(RBAC)の使用

Confluent Cloud の ロールベースアクセス制御(RBAC) は、組織、環境、クラスター、または細かい Kafka リソース(トピック、コンシューマーグループ、トランザクション ID)へのアクセスを、事前定義されたロールとアクセス許可に基づいて制御できるようにするものです。RBAC を使用すると、ユーザーアカウントとサービスアカウントによるアクセスを認可および制限したり、アクセスの認可を組織内の適切な部署やチームに委任したりして、Confluent Cloud のリソースとデータを保護できます。

重要

既存の組織のユーザーとサービスアカウントに RBAC が及ぼす影響の詳細については、「既存組織の RBAC ロールの管理に関する推奨事項」を参照してください。

RBAC を使用する前に、次の概念について理解することが重要です。

制限

Confluent Cloud の RBAC には、次の制限があります。

  • きめ細かい Kafka RBAC は、スタンダードクラスターと専用クラスターでのみ利用可能です。
  • ユーザーアカウントが削除されると、そのユーザーに関連付けられているすべての API キーとロールバインディングも削除されます。
  • サービスアカウントを作成するには、OrganizationAdmin ロールが付与されている必要があります。その他のすべてのクラスター管理ロール(EnvironmentAdmin、CloudClusterAdmin、ResourceOwner)は、その管理下にあるリソースに対する既存のサービスアカウントのアクセス許可を付与または取り消すことができます。
  • ロールバインディングの数は、組織ごとに 1,000 に制限されています。
  • Confluent CLI は、最新バージョン(v. 2.8.1 以降)を使用してください。

リソースごとのロールの制限

Confluent Cloud リソースには、一時的に次の制限が適用されることに注意してください。

  • Consumers and producers
    • クラスターへのアクセス権限を付与されたユーザーは、クラスターのコンシューマーとプロデューサーをすべて表示できます。これは変更される可能性があるため、このアクセス権限には依存しないでください。コンシューマーとプロデューサーを表示するには、Operator ロールを付与する必要があります。
  • ksqlDB clusters
    • If you remove role bindings for a user with an Organization, Environment, or Cluster scope that includes ksqlDB resource access, the user’s API keys are not automatically deleted. A user with an administrator role binding (OrganizationAdmin, EnvironmentAdmin, or CloudClusterAdmin) can create an API key for a ksqlDB cluster while they are an administrator and continue using that key even after their administrator role binding is removed. The API key continues allowing full access to the ksqlDB clusters. As a best practice, when you remove role bindings, make sure to remove any corresponding API keys.
    • ksqlDB クラスターを含むスコープにバインドされた MetricsViewer ロールを付与されたユーザーは、ksqlDB クラスター内のクエリに対するフルアクセス権限を持ちます。これは変更される可能性があるため、このアクセス権限には依存しないでください。
    • Operator ロールを付与されたユーザーは、ksqlDB クラスターへのアクセス権限を持たず、ksqlDB クラスターに関連する情報を表示することはできません。
  • Metrics
    • クラスターまたはクラスター内のリソースへのアクセス権限を付与されたユーザーは、そのクラスターのメトリクスをすべて表示できます。これは変更される可能性があるため、このアクセス権限には依存しないでください。サービスアカウントからメトリクスへのアクセスが必要な場合は、MetricsViewer ロールを付与します。ユーザーアカウントからメトリクスへのアクセスが必要な場合は、Operator ロールを付与します。
  • Schema Registry
    • If you remove role bindings for a user with an Organization or Environment scope that includes スキーマレジストリ resource access, the user’s API keys are not automatically deleted. A user with an administrator role binding (OrganizationAdmin or EnvironmentAdmin) can create an API key for a スキーマレジストリ cluster while they are an administrator and continue using that key even after their administrator role binding is removed. The API key continues allowing full access to the スキーマレジストリ clusters. As a best practice, when you remove role bindings, make sure to remove any corresponding API keys.
    • CloudClusterAdmin ロールまたは MetricsViewer ロールを付与されたユーザーは、そのロールが適用される環境内のスキーマサブジェクトへのフルアクセス権限を持ちます。これは変更される可能性があるため、この動作には依存しないでください。
    • Operator ロールを付与されたユーザーは、スキーマレジストリ へのアクセス権限を持たず、スキーマレジストリ に関連する情報を表示することはできません。

ACL と RBAC の使用

RBAC ロールバインディングは、ACL と組み合わせて使用できます。プリンシパル(ユーザーアカウントおよびサービスアカウント)には、ACL、RBAC ロールバインディング、またはこれら 2 つの組み合わせを付与できます。アクセスを許可するかどうかを決定するときには、これらの付与がすべて考慮されます。ACL ルールと RBAC ロール間の相互作用の詳細については、以下の「優先順位」を参照してください。

Kafka リソース(トピック、コンシューマーグループ、トランザクション ID)のデータプレーンで RBAC を有効にした場合、次のようになります。

  • Kafka クラスターへの super.user アクセスはユーザーに許可されなくなり、明示的に付与されたアクセス許可だけが有効になります。
  • ユーザーアカウントとサービスアカウントに対する ACL とロールバインディングを使用して、きめ細かいアクセス権限をリソースに付与できます。
  • サービスアカウントでも、きめ細かいアクセス権限をリソースに付与する ACL とロールバインディングの両方を使用できます。

優先順位

Confluent Cloud では、ACL と RBAC は次の優先順位に基づいて動作します。

  1. 最初に ACL DENY ルールが適用されます。ACL DENY が適用される場合は、ACL ALLOW ルールや RBAC ロールバインディングにかかわらずアクセスが拒否されます。
  2. ACL ALLOW および RBAC ロールが適用されます。すべての RBAC ロールは ALLOW です。

適用される ACL DENY ルールがない場合は、次のようになります。

  • 特定のリソースに対して RBAC アクセス許可のみが割り当てられていて、ACL は割り当てられていない場合、そのリソースへのアクセス許可が与えられます。
  • ACL アクセス許可のみが割り当てられている場合、そのリソースへのアクセス許可が与えられます。
  • RBAC と ACL の両方のアクセス許可が割り当てられている場合、そのリソースへのアクセス許可が与えられます。

Confluent Cloud RBAC ロール

Confluent Cloud RBAC ロールを使用すると、組織、環境、各環境内のクラスター、それらのクラスター内の Kafka リソースに対するアクセスを制御できます。プリンシパルには、複数のロールを割り当てることができます。

以下の表は、利用可能なロールを、アクセスのスコープが最も広いものから最も限定的なものの順に示しています。すべてのロールがクラスタースコープでバインドされる Confluent Platform とは異なり、Confluent Cloud でのロールバインディングは、より上位のスコープで行われることがあります。

ロール 表示スコープ 管理スコープ
OrganizationAdmin All All
EnvironmentAdmin 組織、サポートプラン、ユーザー 環境内のすべてのクラスター、スキーマレジストリ、ネットワーク
CloudClusterAdmin 組織、環境、サポートプラン、ユーザー、スキーマレジストリ 指定されたクラスター、トピック、ksqlDB アプリケーション、コネクター、スキーマサブジェクト
Operator 組織、環境、クラスター 該当なし
NetworkAdmin 組織、環境、クラスター(読み取り専用アクセス、クラスターリソースデータへのアクセスなし)、ネットワーク ネットワーク(組織内のすべての環境間)
MetricsViewer 組織、環境、クラスター 該当なし
ResourceOwner 組織、環境、クラスター 指定されたリソース(トピック、コンシューマーグループ、またはトランザクション ID)
DeveloperManage 組織、環境、クラスター 指定されたリソース(トピック、コンシューマーグループ、またはトランザクション ID)
DeveloperRead 組織、環境、クラスター Specified Resource (Topic, Consumer Group, Connector, or Transactional ID)
DeveloperWrite 組織、環境、クラスター Specified Resource (Topic, Consumer Group, Connector, or Transactional ID)

警告

MetricsViewer ロールをユーザーに割り当てると、ksqlDB クラスターと スキーマレジストリ への無制限のアクセスがユーザーに許可されるため、この割り当ては 行わないことを強く推奨 します。MetricsViewer ロールを付与されたユーザーは、ksqlDB クエリと スキーマレジストリ サブジェクトを作成および削除できます。

重要

リソース固有のロールバインディングは、Kafka での認可の動作を変更します。その結果、以前にロールバインディングが割り当てられていなかったユーザーでも、有効な API キーを持っていた場合は "例外" となり、組織のクラスター内のすべてのリソース(Topic:*Group:*TransactionalId:* と同等)に対する ResourceOwner ロールが付与されます。このようなユーザーに組織内のすべてのトピックとコンシューマーグループに対する ResourceOwner ロールバインディングを与えないようにするには、これらのロールバインディングを明示的に削除する必要があります。

これについては、Confluent Cloud Console のサイドバーのメニューに表示されるオプションでも確認できます。たとえば、OrganizationAdmin ロールを割り当てられたプリンシパルが使用できるオプションは、そのロールに許可されているアクションを反映しており、EnvironmentAdmin ロールや CloudClusterAdmin ロールを割り当てられたプリンシパルのそれとは異なります。

以降では、各 Confluent Cloud RBAC ロールについて詳しく説明します。

注意

以下のいずれのロールも付与されていない新しいプリンシパルは、Confluent Cloud Console も Confluent CLI も使用できません。Confluent Cloud Console を使用したトピックの検査やメッセージの表示をプリンシパルに許可するには、少なくとも DeveloperRead ロールをそのアカウントに付与する必要があります。

OrganizationAdmin

Confluent Cloud で OrganizationAdmin ロールを付与されたプリンシパルには、次のアクセス許可が与えられます。

  • 組織内のすべてのリソース(環境、クラスター、トピック、コンシューマーグループ、トランザクション ID、ksqlDB クラスター、コネクター、スキーマレジストリ、ロールバインディング、ACL など)を管理するためのフルアクセス権限。
  • 組織で最初に作成されたユーザーアカウントには、自動的に OrganizationAdmin ロールが付与されます。これによりそのユーザーは、組織内の他のプリンシパルに適切なロールを付与することができます。

OrganizationAdmin ロールを持つプリンシパルは、次のアクションを実行できます。

  • 組織全体にわたるアクセス権限の付与と取り消し
  • ユーザーの招待と削除
  • サービスアカウントの作成
  • 請求およびサポートプランの管理
  • スキーマレジストリ の有効化または無効化とスキーマの管理
  • 環境の作成と管理
  • クラスターの作成と管理
  • すべての環境のすべてのクラスターに対するクラスターネットワーク構成の管理
  • 監査ログへのアクセスと管理
  • Kafka リソース(トピック、コンシューマーグループ、トランザクション ID)の作成と管理
  • ストリーム系列ビューへのフルアクセス
  • ksqlDB クラスターの作成と管理
  • コネクターの作成と管理

注釈

ユーザーアカウントまたはサービスアカウントを削除するには、OrganizationAdmin ロールとのロールバインディングが必要です。

自分の OrganizationAdmin ロールバインディングを削除することはできません。管理権限を返上する場合は、OrganizationAdmin ロールを持つ別のユーザーに依頼して権限を削除してもらう必要があります。各組織には、OrganizationAdmin ロールが割り当てられたプリンシパルが少なくとも 1 つ必要です。

EnvironmentAdmin

Confluent Cloud で EnvironmentAdmin ロールを付与されたプリンシパルには、次のアクセス許可が与えられます。

  • 指定された環境のすべてのリソースを管理するためのフルアクセス権限
  • 任意の環境や、ロールが割り当てられていない他の環境内のリソースを表示したり管理したりすることはできません

環境を作成したりその名前を変更したりする方法の詳細については、「環境」を参照してください。

EnvironmentAdmin ロールを持つプリンシパルは、そのロールに指定された環境内で次のアクションを実行できます。

  • 環境内のアクセス権限の付与と取り消し
  • Grant and revoke access permissions for existing service accounts. To create service accounts, you must be granted the OrganizationAdmin.
  • ユーザーの招待
  • スキーマレジストリ の有効化または無効化とスキーマの管理
  • クラスターの作成と管理
  • すべてのクラスターに対するクラスターネットワーク構成の管理
  • Kafka リソース(トピック、コンシューマーグループ、トランザクション ID)の作成と管理
  • ストリーム系列ビューへのフルアクセス
  • ksqlDB クラスターの作成と管理
  • コネクターの作成と管理

CloudClusterAdmin

Confluent Cloud で CloudClusterAdmin ロールを付与されたプリンシパルには、次のアクセス許可が与えられます。

  • 指定されたクラスターを管理するためのフルアクセス権限。
  • ロールが割り当てられていない他のクラスター、環境、またはネットワーク構成を表示したり管理したりすることはできません。
  • 注意する必要のある一時的な制限については、「制限」を参照してください。

CloudClusterAdmin ロールを持つプリンシパルは、そのロールに指定されたクラスター内で次のアクションを実行できます。

  • クラスター内のアクセス権限の付与と取り消し
  • Grant and revoke access permissions for existing service accounts. To create service accounts, you must be granted the OrganizationAdmin.
  • ユーザーの招待
  • ksqlDB クラスターの作成と構成
  • コネクターの作成と構成
  • 既存のスキーマレジストリにあるスキーマの管理
  • Confluent Cloud Console および Confluent CLI を使用したトピックの表示と操作
  • クラスターのネットワーク構成を表示または管理するためのアクセス権限はない

NetworkAdmin

NetworkAdmin ロールにより、ネットワーク管理者は、Confluent Cloud ネットワーク のライフサイクルとネットワーク接続を管理したり、Confluent Cloud ネットワーク内の専用クラスターへのアクセスをプロビジョニングしたりできるようになります。

NetworkAdmin ロールを割り当てられたユーザーは、次のアクションを実行できます。

  • 組織内のすべての環境に対して Confluent Cloud ネットワークとネットワーク接続を作成およびプロビジョニングし、これらのネットワークをプラットフォームチームやインフラストラクチャチームに提供して専用 Confluent Cloud クラスターをデプロイできるようにする。
  • ストリーム系列ビューへのフルアクセス

NetworkAdmin ロールを割り当てられたユーザー(通常は専任のネットワーク管理者)は、トピック、コンシューマーグループ、コネクター、ksqlDB クラスター、スキーマレジストリ などのクラスターリソースデータにはアクセスできません。

Operator

Confluent Cloud で Operator ロールを付与されたプリンシパルには、次のアクセス許可が与えられます。

  • 指定された組織、環境、またはクラスター内のあらゆるものに対する読み取り専用("ビューアー")アクセス
  • 複数のスコープでバインド可能(組織全体、特定の環境、特定のクラスターなど)
  • 注意する必要のある一時的な制限については、「リソースごとのロールの制限」を参照してください。

Operator ロールを持つプリンシパルは、指定されたスコープ内で次のアクションを実行できます。

  • Confluent Cloud Console や Confluent CLI によるトピックの表示(ただし、メッセージの生成と消費は不可)
  • アプリケーションとクラスターの正常性のモニタリング(稼働時間のモニタリングを含む)
  • ストリーム系列ビューへのフルアクセス

MetricsViewer

MetricsViewer ロールは、カスタマーメトリクスプラットフォームとの統合のために、サービスアカウントに Confluent Cloud のメトリクス へのアクセスを許可することを目的としたものです。このロールをユーザーに付与することは推奨されません。メトリクスへの対話型アクセスを必要とするユーザーには、Operator ロールを使用してください。Confluent Cloud で MetricsViewer ロールを付与されたプリンシパルには、次のアクセス許可が与えられます。

  • 組織内のすべてのクラスターの Confluent Cloud のメトリクス へのアクセス
  • サードパーティのメトリクスプラットフォームへのメトリクスのインポート
  • ストリーム系列ビューへのフルアクセス
  • 注意する必要のある一時的な制限については、「リソースごとのロールの制限」を参照してください。

サービスアカウントに MetricsViewer ロールバインディングを割り当てる方法の詳細については、「Confluent Cloud Console で MetricsViewer ロールを新しいサービスアカウントに追加する」を参照してください。

警告

MetricsViewer ロールをユーザーに割り当てると、ksqlDB クラスターと スキーマレジストリ への無制限のアクセスがユーザーに許可されるため、この割り当ては 行わないことを強く推奨 します。MetricsViewer ロールを付与されたユーザーは、ksqlDB クエリと スキーマレジストリ サブジェクトを作成および削除できます。

ResourceOwner

Confluent Cloud で ResourceOwner ロールを付与されたプリンシパルには、指定されたリソース(トピック、コンシューマーグループ、またはトランザクション ID)に対する次のアクセス許可が与えられます。

  • リソースへの読み取りおよび書き込みアクセス
  • Grant and revoke access permissions for existing service accounts. To create service accounts, you must be granted the OrganizationAdmin.
  • リソースの作成と削除
  • リソースの構成の変更
  • リソースのアクセス許可の管理
  • ストリーム系列ビューへのアクセスは不可
  • 注意する必要のある一時的な制限については、「リソースごとのロールの制限」を参照してください。

アクセス許可のスコープは、次の範囲に制限することができます。

  • 指定したリソース
  • 指定したプレフィックスで始まる名前を持つ、特定のタイプのすべてのリソース
  • 特定のタイプのすべてのリソース

DeveloperManage

Confluent Cloud で DeveloperManage ロールを付与されたプリンシパルには、指定されたリソース(トピック、コンシューマーグループ、またはトランザクション ID)に対する次のアクセス許可が与えられます。

  • リソースの作成と削除
  • リソースの構成の変更
  • リソースへのアクセスの管理は不可
  • ストリーム系列ビューへのアクセスは不可
  • 注意する必要のある一時的な制限については、「リソースごとのロールの制限」を参照してください。

アクセス許可のスコープは、次の範囲に制限することができます。

  • 指定したリソース
  • 指定したプレフィックスで始まる名前を持つ、特定のタイプのすべてのリソース
  • 特定のタイプのすべてのリソース

DeveloperRead

Confluent Cloud で DeveloperRead ロールを付与されたプリンシパルには、指定されたリソース(トピック、コンシューマーグループ、またはトランザクション ID)に対する次のアクセス許可が与えられます。

  • リソースへの読み取り専用アクセス
    • トピックに対して読み取り専用アクセスが付与されている場合、トピックにサブスクライブするには、コンシューマーグループに対する読み取りアクセス許可も必要です。これは、コンシューマーが手動でパーティションの割り当てを行う場合は必要ありません。「コンシューマーグループ」も参照してください。
    • Confluent CLI を使用してトピックから消費する場合、CLI は confluent_cli_consumer_ で始まるコンシューマーグループ名をデフォルトで選択するため、プリンシパルには、そのプレフィックスに対する DeveloperRead ロールバインディングが必要です。または、--group フラグを使用してコンシューマーグループを指定すれば、選択したグループ名に対して DeveloperRead ロールバインディングを割り当てることができます。「confluent kafka topic consume」を参照してください。
  • ストリーム系列ビューへのアクセスは不可
  • 注意する必要のある一時的な制限については、「リソースごとのロールの制限」を参照してください。

アクセス許可のスコープは、次の範囲に制限することができます。

  • 指定したリソース
  • 指定したプレフィックスで始まる名前を持つ、特定のタイプのすべてのリソース
  • 特定のタイプのすべてのリソース

DeveloperWrite

Confluent Cloud で DeveloperWrite ロールを付与されたプリンシパルには、指定されたリソース(トピック、コンシューマーグループ、またはトランザクション ID)に対する次のアクセス許可が与えられます。

  • リソースへの書き込み専用アクセス
  • ストリーム系列ビューへのアクセスは不可
  • 注意する必要のある一時的な制限については、「リソースごとのロールの制限」を参照してください。

アクセス許可のスコープは、次の範囲に制限することができます。

  • 指定したリソース
  • 指定したプレフィックスで始まる名前を持つ、特定のタイプのすべてのリソース
  • 特定のタイプのすべてのリソース

Confluent Cloud Console を使用した RBAC の管理

ユーザーアカウントの追加

組織内のすべての管理ユーザーは、User accounts タブの + Add user をクリックすることで他のユーザーを招待できます。

新しいユーザーを招待するときに、そのユーザーのロールを指定するよう求められます。他のユーザーを招待するときにロールを付与することは必須ではありません。ユーザーには、後日ロールを付与することもできます。ただし、ロールを指定しない場合、招待されたユーザーが Confluent Cloud Console を使用することはできません。自分のロールのスコープよりも広範囲なロールを付与することはできません。たとえば、EnvironmentAdmin ロールを持つプリンシパルが他のユーザーに OrganizationAdmin ロールを付与したり、あるクラスターで CloudClusterAdmin を付与されたプリンシパルが、他のユーザーに別のクラスターの CloudClusterAdmin ロールを付与したりすることはできません。

重要

組織に参加するためには、"ユーザーは、既にその組織に存在する他のユーザーから招待してもらう必要があります"。同僚が confluent.io または confluent.cloud から Confluent Cloud へのサインアップを試み、同じ組織名をサインアップページで指定した場合、Confluent Cloud は、そのユーザーのサインアップ処理を行い、そのユーザーのために新しい組織を作成します。このユーザーは、意図した組織には表示 "されません"。

新しいユーザーを追加するときには、そのユーザーに複数のロールを同時に付与することができます。いずれかのロール(OrganizationAdmin と MetricsViewer 以外)を付与するときは、そのロールのリソースとスコープ(クラスター名または環境名)も指定する必要があることに注意してください。

完了したら、Review をクリックし、入力したメールアドレスとロールの割り当てが正しいことを確認します。問題がなければ、Create をクリックします。

ユーザーアカウントの削除

組織からユーザーアカウントを削除するには、OrganizationAdmin ロールが付与されている必要があります。

組織からユーザーアカウントを削除するには、以下の手順に従います。

  1. Confluent Cloud Console で、Administration、Accounts & access の順に移動します。
  2. 組織から削除するユーザーアカウントを選択し、Remove from organization をクリックします。
  3. Delete user で、ユーザーの名前を入力し、Confirm をクリックします。ユーザーアカウントを削除すると、そのすべてのロールバインディングおよび関連付けられているすべての API キーも削除されます。

ロールバインディングの表示と管理

Confluent Cloud Console を使用すると、次の 2 つの視点からロールバインディングを管理できます。

  • プリンシパルのアクセス許可
  • リソースのアクセス許可

たとえば、チームに新しいユーザーが参加するときに、そのユーザーにさまざまなアクセス許可を付与することが必要な場合があります。または、新しいクラスターをセットアップするときに、そのクラスターに対するアクセス許可を多数のユーザーに付与する場合もあります。このセクションでは、これらの 2 つのアプローチに関する詳細と、Confluent Cloud での RBAC ロールバインディングの表示と管理に関連するタスクについて説明します。次のタスクについて取り上げます。

注釈

ナビゲーションメニューの太字のテキストは、表示しているナビゲーションツリーノードが展開可能であり、他のリソースが含まれていることを示します。たとえば、環境内にクラスターが存在することを示しています。個々のリソースのテキストがグレーで表示されている場合は、選択されたプリンシパルに、選択されたリソースに対するロールバインディングがないことを示します。

組織内のユーザーアカウントとサービスアカウントの表示

組織内のすべてのユーザーアカウントまたはサービスアカウントを表示するには、以下の手順に従います。

  1. Confluent Cloud Console を開き、Administration、Accounts & access の順に移動します。Accounts タブが開き、デフォルトで User accounts が表示されます。組織内のすべてのサービスアカウントを表示するには、Service accounts をクリックします。すべてのアカウントの一覧が表示されます。これには、ロールが割り当てられていないアカウントも含まれます。

ロールバインディングの表示

Accounts & access では、次の 2 つのビューでロールバインディングを表示できます。

  • Accounts タブ: 特定のユーザーアカウントまたはサービスアカウントに割り当てられているロールバインディングを表示するために使用します。
  • Access タブ: 特定のリソースに割り当てられているロールバインディングを表示するために使用します。

組織内のすべてのユーザーアカウントまたはサービスアカウントのロールバインディングを表示するには、以下の手順に従います。

  1. Confluent Cloud Console で、Administration、Accounts & access の順に移動します。デフォルトで User accounts タブが表示されます。サービスアカウントを表示するには、Service accounts をクリックします。
  2. Access タブをクリックすると、組織内のすべてのユーザーアカウントまたはサービスアカウントのロールバインディングが表示されます。ナビゲーションツリーを展開すると、組織内の環境、クラスター、Kafka リソースに対する明示的なロールバインディングを確認できます。

特定のユーザーアカウントのロールバインディングを表示するには、ユーザーの名前をクリックし、Access タブをクリックします。ナビゲーションツリーを展開すると、ユーザーのロールバインディングがリソースごとに表示されます。

特定のサービスアカウントのロールバインディングを表示するには、Service accounts タブをクリックし、ロールバインディングを表示するサービスアカウントをクリックして、Access タブをクリックします。ナビゲーションツリーを展開すると、サービスアカウントのロールバインディングがリソースごとに表示されます。

注釈

Accounts & accessAccess タブには、次の 2 通りの表示があります。

  • ユーザーを選択する前の最初の Access タブには、すべてのユーザーのロールバインディングが表示されます。
  • ユーザーを選択した後の 2 番目の Access タブには、選択したユーザーのロールバインディングだけが表示されます。

ロールバインディングの追加

RBAC ロールバインディングは、任意のプリンシパル(ユーザーアカウントまたはサービスアカウント)に追加できます。

ユーザーアカウントまたはサービスアカウントにロールバインディングを追加するには、以下の手順に従います。

  1. Confluent Cloud Console で、Administration、Accounts & access の順に移動し、ロールバインディングを追加するユーザーアカウントまたはサービスアカウントを選択します。デフォルトで User accounts タブが表示されます。サービスアカウントを表示するには、Service accounts をクリックします。

  2. ロールバインディングを追加するユーザーアカウントまたはサービスアカウントを選択します。

  3. Access タブをクリックします。ロールバインディングを作成する組織、環境、クラスター、または Kafka リソースをクリックし、+Add role assignment をクリックします。

    注釈

    ユーザーアカウントまたはサービスアカウントの Access タブをクリックすると、特定のリソースに対してそのアカウントに割り当てられているロールがすべて表示されます。ただし、クラスターへのアクセス権限は、OrganizationAdmin ロールと EnvironmentAdmin ロールを割り当てられたすべてのユーザーにもあることに注意してください。クラスターへのアクセス権限を持つすべてのアカウントを正しく特定するには、組織と環境の管理者ロールを持つアカウントをすべて含める必要があります。

    また、ある環境で EnvironmentAdmin ロールを割り当てられたユーザーは、別の環境のアカウントやリソースを表示できないことにも注意してください。

  4. 追加するロールバインディングを選択し、Save をクリックします。以降、このアカウントの Access タブを表示すると、このロールバインディングが追加されたリソースが太字で表示されます。

ロールバインディングの削除

プリンシパル(ユーザーアカウントまたはサービスアカウント)のロールバインディングを削除するには、以下の手順に従います。

  1. Administration、Accounts & access の順に移動し、ロールバインディングを削除するユーザーアカウントまたはサービスアカウントを選択して、Access タブをクリックします。デフォルトで User accounts が表示されます。サービスアカウントを表示するには、Service accounts をクリックします。
  2. 削除するロールの名前の上にカーソルを置き、ごみ箱アイコンをクリックします。
  3. リソース名を入力してロールバインディングの削除を確認し、Delete をクリックします。

リソースアクセスの表示と管理

このセクションでは、Confluent Cloud クラスターの RBAC でのリソースの表示と管理に関連するタスクの実行方法について説明します。次のタスクについて取り上げます。

Confluent Cloud Console で MetricsViewer ロールを新しいサービスアカウントに追加する」も参照してください。

注釈

ナビゲーションツリーの太字のテキストは、表示しているナビゲーションツリーノードが展開可能であり、他のリソースが含まれていることを示します。たとえば、環境内にクラスターが存在することを示しています。個々のリソースのテキストがグレーで表示されている場合は、選択されたユーザーアカウントまたはサービスアカウントに、選択されたリソースに対するロールバインディングがないことを示します。

リソースの表示

Confluent Cloud のリソースはすべて同じ場所で表示できます。Confluent Cloud RBAC のスコープには、次のようなリソースがあります。

  • 組織
  • 環境
  • クラスター
  • ksqlDB クラスター
  • コネクター
  • トピック
  • コンシューマーグループ
  • トランザクション ID

使用中のユーザーアカウントからアクセスできるすべてのリソースを表示するには、Administration、Accounts & access の順に移動し、Access タブをクリックします。

リソースに対するロールバインディングの表示

特定のリソースに対するロールバインディングが付与されたユーザーアカウントとサービスアカウントを表示するには、以下の手順に従います。

  1. Administration、Accounts & access の順に移動し、Access タブをクリックします。すべてのリソースが表示されます。
  2. 環境、クラスター、または Kafka リソースをクリックすると、そのリソースに対するロールを割り当てられているアカウントがすべて表示されます。

リソースへのロールバインディングの追加

リソースにロールバインディングを追加するには、次の手順に従います。

  1. Administration、Accounts & access の順に移動し、Access タブをクリックします。
  2. ロールバインディングを追加するリソースを選択し、+Add role assignment をクリックします。選択したリソースで利用できるロールが、Confluent Cloud のユーザーインターフェイスに表示されます。
  3. Save をクリックします。

リソースからのロールバインディングの削除

リソースからロールバインディングを削除するには、次の手順に従います。

  1. Administration、Accounts & access の順に移動し、Access タブをクリックします。
  2. ロールバインディングを削除するリソースを選択します。表示された名前の一覧で、アクセス権を削除するユーザーの名前の上にカーソルを置いて、ごみ箱アイコンをクリックします。
  3. リソース名を入力し、Delete をクリックして、ロールバインディングの削除を確定します。

Confluent CLI を使用した RBAC の管理

Confluent CLI をインストールしておく必要があります。

特定のリソースに対するアクセス権限を持つプリンシパルの特定

ロールを割り当てる前に、まず、特定のリソースへのアクセス権限を持つプリンシパルを特定することが必要な場合があります。

すべての環境を一覧表示するには、次のようにします。

confluent environment list

      Id      |      Name
+-------------+-----------------+
  * env-nx5jd | RBAC_DEV
    env-r0onp | kunal_rbac_test
    env-qjdrd | AL_Ded
    env-0d1z2 | Peter-Prod
    env-m20ww | Peter-Dev

重要

--resource を使用して Kafka リソースに対するロールバインディングを作成、削除、または表示するときは、Kafka クラスター(--kafka-cluster-id を使用)と、格納している Confluent Cloud クラスター(--cloud-cluster を使用)の両方を含める必要があります。

Kafka クラスター lkc-zyxmz でリソース Topic:connect-config に対してロール DeveloperRead を持つすべてのユーザーを表示するには、次のようにします。

confluent iam rbac role-binding list  --role DeveloperRead --kafka-cluster-id lkc-xyxmz --cloud-cluster lkc-xyxmz --environment env-nx5jd --resource Topic:connect-config
    Principal   |    Email
------------------------------------
  User:u-dk33dx | fred@acme.com
  User:u-7naodk | jane@acme.com

すべての Kafka クラスターを一覧表示するには、次のようにします。

confluent kafka cluster list

      Id      |   Name    |   Type    | Provider |  Region   | Availability | Status
+-------------+-----------+-----------+----------+-----------+--------------+--------+
    lkc-xyxmz | cluster_0 | STANDARD  | aws      | us-east-2 | single-zone  | UP

すべてのユーザーを一覧表示するには、次のようにします。

confluent iam user list

  Resource ID |              Email              | First Name | Last Name | Status
+-------------+---------------------------------+------------+-----------+--------+
  u-l772kw    | fred@acme.com                   | Fred       | Jones     | Active
  u-l772dp    | jane@acme.com                   | Jane       | Smith     | Active

すべてのサービスアカウントを一覧表示(さらに、ロールバインディングに使用されるサービスアカウントのリソース ID を特定)するには、次のようにします。

confluent iam service-account list
    Id   | Resource ID |                Name                |          Description
+--------+-------------+------------------------------------+--------------------------------+
  441804 | sa-mvz5y7   | sa_org_admin                       | Service Account with Org Admin
  445655 | sa-k8j1j2   | Metrics-Data                       |
  447311 | sa-zm6vgz   | MetricsImporter                    | A service account to import
         |             |                                    | Confluent Cloud metrics into
         |             |                                    | our monitoring system

特定のユーザー u-a01bcd の詳細を表示するには、次のようにします。

confluent admin user describe u-a01bcd


+-------------+---------------------------------+
| Resource ID | u-a01bcd                        |
| Email       | mariad@acme.com                 |
| First Name  | Maria                           |
| Last Name   | Developer                       |
| Status      | Active                          |
+-------------+---------------------------------+

OrganizationAdmin ロールを付与するすべてのロールバインディングを一覧表示するには、次のようにします。

confluent iam rbac role-binding list --role OrganizationAdmin

 Principal
+---------------+
User:u-4321xy
User:u-1wx2yz
User:u-e01ef2
User:u-e0ab12
User:u-l00abc
User:u-l12ab2
User:u-l34d02

ロールバインディングの作成

Kafka クラスター lkc-xyxmz の環境 env-nx5jd で、ロール CloudClusterAdmin をプリンシパル User:u-e03vqq に付与するには、次のようにします。

confluent iam rbac role-binding create --principal User:u-a03bcd --role CloudClusterAdmin --environment env-nx5jd --cloud-cluster lkc-xyxmz
+--------------+-------------------+
| Principal    | User:u-a03bcd     |
| Role         | CloudClusterAdmin |
| ResourceType | Cluster           |
+--------------+-------------------+

Kafka クラスター lkc-xyxmz の環境 env-nx5jd で、リソース Topic:connect-config に対するロール ResourceOwner をプリンシパル User:u-e03vqq に付与するには、次のようにします。

confluent iam rbac role-binding create --principal User:u-e03vqq --role ResourceOwner \
  --environment env-nx5jd --cloud-cluster lkc-xyxmz --kafka-cluster-id lkc-xyxmz \
  --resource Topic:connect-config
+----------------+----------------+
| Principal      | User:u-e03vqq  |
| Email          |                |
| Role           | ResourceOwner  |
| Environment    |                |
| CloudCluster   |                |
| ClusterType    |                |
| LogicalCluster |                |
| ResourceType   | Topic          |
| Name           | connect-config |
| PatternType    | LITERAL        |
+----------------+----------------+

重要

--resource を使用して Kafka リソースに対するロールバインディングを作成、削除、または表示するときは、Kafka クラスター(--kafka-cluster-id を使用)と、格納している Confluent Cloud クラスター(--cloud-cluster を使用)の両方を含める必要があります。

サービスアカウントであるプリンシパル sa-zm6vgz にロール MetricsViewer を付与するには、次のようにします。

confluent iam rbac role-binding create --role MetricsViewer --principal User:sa-zm6vgz
+--------------+----------------+
| Principal    | User:sa-zm6vgz |
| Role         | MetricsViewer  |
| ResourceType | Cluster        |
+--------------+----------------+

特定のユーザーアカウントのロールバインディングを表示するには、次のようにします。

confluent iam rbac role-binding list --principal User:<account-ID>

  Principal   |       Role        | ResourceType |                 Name                 | PatternType
+-------------+-------------------+--------------+--------------------------------------+-------------+
User:u-4y8qjp | CloudClusterAdmin | Cluster      | lkc-122yoj                           |
User:u-4y8qjp | CloudClusterAdmin | Cluster      | lkc-222yqo                           |
User:u-4y8qjp | CloudClusterAdmin | Cluster      | lkc-9kkdrv                           |
User:u-4y8qjp | CloudClusterAdmin | Cluster      | lkc-mvv6y1                           |
User:u-4y8qjp | CloudClusterAdmin | Cluster      | lkc-nvv63k                           |
User:u-4y8qjp | CloudClusterAdmin | Cluster      | lkc-pgg61o                           |
User:u-4y8qjp | EnvironmentAdmin  | Environment  | env-620o3                            |

confluent iam コマンドでは、プリンシパルの識別に User:<email> を使用することもできます。

ロールバインディングの削除

Kafka クラスター lkc-xyxmz でリソース Topic:connect-config に対するロール ResourceOwner を削除するには、次のようにします。

重要

--resource を使用して Kafka リソースに対するロールバインディングを作成、削除、または表示するときは、Kafka クラスター(--kafka-cluster-id を使用)と、格納している Confluent Cloud クラスター(--cloud-cluster を使用)の両方を含める必要があります。

confluent iam rbac role-binding delete --principal User:u-e03vqq --role ResourceOwner \
 --environment env-nx5jd --cloud-cluster lkc-xyxmz --kafka-cluster-id lkc-xyxmz \
 --resource Topic:connect-config
+----------------+----------------+
| Principal      | User:u-e03vqq  |
| Email          |                |
| Role           | ResourceOwner  |
| Environment    |                |
| CloudCluster   |                |
| ClusterType    |                |
| LogicalCluster |                |
| ResourceType   | Topic          |
| Name           | connect-config |
| PatternType    | LITERAL        |
+----------------+----------------+

Confluent Cloud API を使用した Confluent Cloud RBAC の管理

Confluent Cloud Console や Confluent CLI を使用する方法の他に、Confluent Cloud API を使用して RBAC を管理することもできます。

トピックロールバインディングの追加

トピックにロールバインディングを追加するには、次のようにします。

curl --request POST \
    --url https://api.confluent.cloud/iam/v2/role-bindings \
    --header 'Authorization: Basic TOKEN' \
    --header 'content-type: application/json' \
    --data '{"principal":"User:u-xyz789","role_name":"DeveloperRead", \
    "crn_pattern":"crn://confluent.cloud/organization=12345678-9012-3ab4-56cd-e78901234567/ \
    environment=env-abc123/cloud-cluster=lkc-def456/kafka=lkc-def456/topic=my-topic"}'

Abridged Response:

    {
       "api_version": "iam/v2",
       "kind": "RoleBinding",
       "id": "rb-klm456",
       "principal": "User:u-xyz789",
       "role_name": "DeveloperRead"
       ...
    }

既存組織の RBAC ロールの管理に関する推奨事項

Confluent Cloud RBAC の導入に伴って、Confluent Cloud API キーを持つ既存のすべてのプリンシパルには、既存のすべての組織における OrganizationAdmin ロールが付与されました。結果として、これらのプリンシパルには、Confluent Cloud と Confluent CLI に対して RBAC のリリース前と同じアクセスレベルが与えられています。削除されたユーザーアカウントと招待された(保留中の)ユーザーアカウントには、どのロールも割り当てられていません。

OrganizationAdmin のアクセス権限が必要でない限り、Confluent では、プリンシパルを OrganizationAdmin ロールからダウングレードすることをお勧めします。クラスターを検査するためのアクセス権限、または Confluent Cloud Console を使用してトピックを検査したりトピック内のメッセージを表示したりするためのアクセス権限をユーザーが必要としている場合は、そのユーザーアカウントに CloudClusterAdmin ロールを付与できます。一方、特定のトピックへのアクセス権限だけを必要としている場合は、代わりに ResourceOwner ロールまたは Developer ロールを検討してください。