このガイドは、ClickHouse Cloud で Admin ロールを持つユーザーを対象としています。
ClickHouse Cloud のお客様は、あらかじめ定義されたシステムロールを選択することも、ユーザーに割り当てるカスタムロールを作成することもできます。システムロールと、それに関連付けられた権限の詳細については、Console roles and permissionsを参照してください。このガイドでは、カスタムロールの管理方法について詳しく説明します。
カスタムロールを作成する
カスタムロールには、組織、サービス、データベースの権限を組み合わせて含めることができます。権限は、すべてのサービスとデータベース、またはその一部に適用できます。
組織設定にアクセスし、`Users and roles` を選択する
サービスページで、組織名を選択します。ポップアップメニューから Users and roles を選択します。

[object Object]
画面上部中央の Roles タブを選択します。

[object Object]
画面右上の Create new role ボタンを選択します。

ロールに名前を付ける
わかりやすいロール名を入力します。この名前は、ユーザーや API キーにロールを割り当てる際に表示されます。

[object Object]
Allow ボタンをクリックし、Organization、Service、Database の権限から選択します。すべての権限の説明については、Console roles and permissions を参照してください。

新しいロールを確認する
作成を確定する前に、新しいロールに割り当てた権限を確認します。完了したら Create role をクリックします。

データベースロールを管理する (ベータ)
コンソールの権限に加え、カスタムロールには、選択したサービスのデータベースへのアクセスを制御するデータ権限を含めることができます。これにより、各データベースで個別にロールを管理する代わりに、コンソールとデータベースへのアクセスを一元管理できます。
カスタムロールにデータ権限を追加すると、ClickHouse Cloud は選択した各サービスに、cloud: をプレフィックスとする対応するロールを作成します。たとえば、readonly というカスタムロールは、データベースでは cloud:readonly として表示されます。カスタムロールのメンバーは、SQL コンソールのパスワードレス認証を使用してサービスに接続すると、これらのデータベース権限を取得します。
前提条件
サービス上のカスタムデータベースロールは、JWT 認証に依存しており、無効になっている間は適用されません。ロールにデータ権限を追加する前に、サービスに移動し、Settings を開き、Security セクションで JWT authentication カードを見つけます。SQL Console トグルが有効になっていることを確認してください。

ロールにデータ権限を追加する
カスタムロールを作成するか、既存のロールを編集します。ロールダイアログで、Allow permissions ボタンをクリックし、Data を選択します。
サービスを選択する
権限を適用するサービスを選択します。複数のサービスに同じ Read-only または Admin 権限を適用するには、サービスを追加します。
アクセスレベルを選択する
Read-only、Admin、または Custom アクセスを選択します。Custom アクセスでは、ClickHouse の GRANT ステートメントを使用して、特定のデータアクセス権限を定義します。Custom アクセスは、権限の対象が単一のサービスである場合にのみ選択できます。複数のサービスにカスタム権限を定義するには、サービスごとに個別の Data 権限を追加します。

ロールを作成する
Create role をクリックします。選択したサービスにデータベースロールが作成されます。ロールがサービスに反映されるまで最大10分かかる場合がありますが、ロールを割り当てられたユーザーは、サービスにクエリを実行するとすぐにその権限を取得します。
データベースロールを確認する
コンソール で管理されるロールは、データベース内に cloud: プレフィックスと cloud ストレージタイプを使用して作成され、作成後に表示されるまで最大 10 分かかる場合があります。これらを一覧表示するには、サービス の system.roles テーブルにクエリを実行します。
SELECT * FROM system.roles;┌─name───────────┬─id───────────────────────────────────┬─storage─┐
│ cloud:readonly │ 9a4910f4-abcf-4904-466a-717c8c75ac42 │ cloud │
└────────────────┴──────────────────────────────────────┴─────────┘カスタムロールを更新する
カスタムロールは、作成後に更新できます。ロールから削除された権限はユーザーから失われ、追加された権限はユーザーに付与されます。
- 組織設定に移動し、
Users and rolesを選択します Rolesタブを選択します- 更新するロールの横にある三点メニューを選択します
Editを選択します- 権限を変更します
Edit roleを選択します
カスタムロールを削除する
カスタムロールはいつでも削除できます。
- 組織設定に移動し、
Users and rolesを選択します Rolesタブを選択します- 削除するロールの横にある 3 点メニューを選択します
- ロールの削除によってアクセスを失うユーザーと API キーを確認します。必要に応じて割り当てを調整してください。
Delete roleを選択して完了します