Skip to content

ClickStackにおけるロールベースアクセス制御(RBAC)の提供開始

mike shi
2026年4月1日 · 10分で読む

ClickStack のローンチ以来、最も要望の多かった機能の 1 つをリリースしました。Managed ClickStack 向けのロールベースアクセス制御 (RBAC) です。ClickStack RBAC を使用すると、チームはロールに基づいて権限を定義し、ダッシュボード、保存済み検索、ノートブックなどの特定リソースにアクセスできるユーザーを制御できます。アクセス権は広範なレベルで付与することも、個々のリソースに絞り込んで付与することも可能で、プラットフォーム全体の主要機能を作成、変更、管理できるユーザーも統制できます。

これによりプラットフォームのエンタープライズ対応が確実なものとなり、さらに高度なアクセス制御の基盤も整います。今後のアップデートでは、行レベルアクセス制御など RBAC 機能の拡張を予定しています。

RBAC の基盤

RBAC の導入前は、すべての ClickStack ユーザーが同じグループに属し、アプリケーション全体で同じ権限を共有していたため、単一のインスタンス内でユーザーやチームごとにアクセス権を分ける手段がありませんでした。

何らかの分離を導入するには、チームごとに別々の HyperDX インスタンスを用意する必要がありました。各インスタンスに独自の接続認証情報とデータソースを設定し、プロダクト自体の中ではなく環境レベルでアクセスを事実上分割していました。この方法により基盤データへのアクセス制限という回避策は得られたものの、重複したセットアップと運用オーバーヘッドの増加が犠牲となっていました。

このモデルは実際の現場のチームにはスケールしませんでした。特定のダッシュボードへのアクセス制御や読み取り専用権限の適用、ダッシュボード作成やノートブックといった機能へのアクセス制限を行う手段がなかったためです。アクセス制御には、より柔軟で一元化されたアプローチが必要であることは明白でした。

グループベースのアクセス制御モデル

ユーザーからのフィードバックに基づき、ClickStack にはより柔軟なグループベースのアクセス制御アプローチが必要であることが明らかになりました。RBAC の核心は、ロールを定義してそこにユーザーを割り当てる機能であり、各ロールがプラットフォーム全体の主要リソースへのアクセスを制御します。これにはダッシュボード、保存済み検索、ソース、アラート、Webhook、ノートブックが含まれます。

リソースタイプごとに、ロールには「アクセスなし (no access)」、「読み取り (read)」、「管理 (manage)」の 3 つのアクセスレベルのいずれかを割り当てられます。このモデルはユースケースの大部分をカバーしており、誰がデータを閲覧できるか、誰が変更を加えられるか、誰が完全な制御権を持つかをチームで制御できます。「管理」アクセス権を持つユーザーはリソースの作成、編集、削除が可能になり、「読み取り」アクセス権では変更のリスクなく閲覧のみを許可できます。

example_role.png

リソースへのアクセスにとどまらず、RBAC はロールレベルでの管理者向け制御機能も導入します。チームメンバーとその割り当てロールを閲覧できるロールを定義できる一方で、ユーザーや権限の管理といった機密性の高いアクションは管理者にのみ制限できます。これにより、データを閲覧・利用するユーザーと、アクセス権のガバナンスを担当するユーザーとの役割分担を明確に分離できます。

今すぐ始める

自社のオブザーバビリティデータでManaged ClickStackがどのように活用できるかご興味がおありですか?数分ですぐに開始でき、300ドル分の無料クレジットを受け取れます。

無料トライアルを開始

きめ細かな制御

リソースレベルでアクセス権なし、読み取りアクセス、管理アクセスのいずれかを割り当てる機能は強固な基盤となりますが、多くのチームではより精密な制御が必要です。そのため、ClickStack の RBAC はきめ細かなアクセするールに対応しており、権限を一律に適用するのではなく、特定のリソースにスコープを絞り込むことができます。

manage_role.png

デフォルトでは、リソースタイプごとにすべてのリソースへ適用される単一のアクセスポリシーが使用されます。きめ細かな制御に切り替えると、ロールごとに複数のアクセスルールを定義でき、それぞれが個別に評価されます。いずれかのルールに一致した場合、そのグループに属するユーザーはリソースにアクセスできますが、一致しないリソースにはアクセスできません。これにより、特定のチームやロールに関連するアセットのみを選択して公開することが可能になります。

fine_grained_control.png

アクセスルールは、名前、ID、タグなどのリソース属性を使用して定義できます。たとえば上の図では、このロールに対して「errors」という用語を含むすべての保存済み検索への読み取りアクセス権と、特定のチームラベルが付与された検索への管理アクセス権が付与されています。各ルールには一致条件およびアクセスレベルの両方が指定されるため、柔軟で対象を絞った権限モデルを実現できます。このきめ細かなフィルターは、ダッシュボード、ソース、ノートブックにも同様に適用できます。

サポートされているフィルタリング条件の詳細な定義については、RBAC のドキュメントをご覧ください。

ClickHouse Cloud との統合

ClickStack の RBAC は ClickHouse Cloud とシームレスに連携するように設計されており、プラットフォーム全体でユーザー管理と権限の一貫性が保たれます。ユーザーは ClickHouse Cloud レベルで管理され、組織へ招待されて Cloud コンソールからベースラインのアクセス権が割り当てられます。

cloud_users_roles.png

ユーザーがメンバーとして ClickHouse Cloud へのアクセス権を持つと、ClickStack の Team Settings UI に表示され、ロールを割り当てられるようになります。ClickStack を使用するには、少なくとも SQL コンソールの読み取り専用アクセス権限が必要です。また、アラートなどの機能を有効にするには、完全な管理者権限(SQL コンソールの管理者アクセス権限)が必要となります。

このモデルでは、ユーザーのライフサイクル管理は ClickHouse Cloud で一元化され、ClickStack 側はアプリケーション内のロールベースの権限設定に専念します。実際には、Cloud レベルでユーザーの身元とアクセス可能な範囲を管理し、ClickStack のロールを使ってオブザーバビリティのワークフロー内でそのユーザーが表示・操作できる内容を制御することを意味します。

この運用を可能な限りシームレスにするため、新しいユーザーにはデフォルトロールが割り当てられます。この設定は ClickStack の Team Settings 内で構成可能です。

security_policies.png

さらなる制御機能の追加

今回のリリースは ClickStack における RBAC の基盤を築くものですが、これは最初の一歩にすぎません。機能やリソースに対する構造化された制御が導入された一方で、アクセスポリシーをよりきめ細かくし、アプリケーション層を超えてデータ自体にまで拡張する必要があることは明らかです。

現在、データレベルでアクセスを制限するには、通常 ClickHouse で権限を設定し、それらを特定の接続やソースにマッピングする必要があります。実際には、ClickStack のソースはテーブルにマッピングされており、前述のきめ細かな権限を通じて、それらのソースを表示または使用できるロールを制御することでアクセスを制限できます。これは、テーブルレベルでアクセスを制限する必要があるシナリオで有効に機能します。

しかし、行レベルのアクセスにはさらなる複雑さが伴います。このシナリオでは、異なるロールが各ソース内の異なる行へのアクセス権を持ち、通常は「決済サービスのログのみにアクセスする」といった SQL のフィルタリング条件によって定義されます。

これを現在実現するには、管理者が SQL コンソールユーザーごとに個別のロールを割り当てることで、ClickHouse 自体を通じてアクセスを管理する必要があります。これらのロールは sql-console-role:<email> というパターンに従い、各ユーザーが特定のデータセットにアクセスできる権限を定義します。これらの SQL コンソールユーザーは ClickStack 上に公開され、前述のように ClickStack ロールに割り当てることができます。

これによって一定レベルの制御は可能になりますが、ロールが ClickHouse と ClickStack の両方で別々に定義される分離モデルとなるため、管理者は両方の層で権限の調整を行う必要があります。ユーザーやロールの数が増えるにつれて、この管理は急速に難しくなり、効果的にスケールしなくなります。

私たちの目標は、このレベルの制御を ClickStack に直接組み込むことです。今後のアップデートでは、よりきめ細かなデータアクセスを可能にし、行レベルのアクセス要件をサポートするためにロールレベルでフィルタリング条件を定義できるようにすることに注力していきます。これにより、分断された手作業の回避策に頼ることなく、アプリケーションとデータの両方のアクセス権を単一の場所で管理できるようになります。

まとめ

RBAC は ClickStack にとって重要な前進であり、プラットフォーム内のリソースとワークフローの両方に構造化されたスケーラブルなアクセス制御をもたらします。ロール、きめ細かな権限設定、ClickHouse Cloud とのシームレスな統合の導入により、運用負荷を軽減しながら、はるかに高い精度でアクセスを管理できるようになりました。

今後もこれらの機能を拡張し、さらにきめ細かなデータアクセスに対応していく予定です。今後のアップデートにご期待ください。


この記事をシェア

  • Y Combinator icon
  • X icon
  • Bluesky icon
  • Facebook icon
  • LinkedIn icon

Subscribe to our newsletter

Stay informed on feature releases, product roadmap, support, and cloud offerings!

Follow us

XBlueskySlackGithubTelegramMeetupRSS