> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# カスタムロールの管理

> このページでは、管理者がカスタムロールを追加、変更、削除する方法を説明します

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <span>ベータ</span>
            </a>;
  }
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>ベータ機能</span>
        </a>;
};

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

このガイドは、ClickHouse Cloud で Admin ロールを持つユーザーを対象としています。

ClickHouse Cloud のお客様は、あらかじめ定義されたシステムロールを選択することも、ユーザーに割り当てるカスタムロールを作成することもできます。システムロールと、それに関連付けられた権限の詳細については、[Console roles and permissions](/ja/products/cloud/reference/security/console-roles)を参照してください。このガイドでは、カスタムロールの管理方法について詳しく説明します。

<div id="create-custom-role">
  ## カスタムロールを作成する
</div>

カスタムロールには、組織、サービス、データベースの権限を組み合わせて含めることができます。権限は、すべてのサービスとデータベース、またはその一部に適用できます。

<Steps>
  <Step title="組織設定にアクセスし、`Users and roles` を選択する" id="users-and-roles-1">
    サービスページで、組織名を選択します。ポップアップメニューから `Users and roles` を選択します。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/avthXRFo-wpxxds8/images/cloud/guides/control_plane/1_users_and_roles.webp?fit=max&auto=format&n=avthXRFo-wpxxds8&q=85&s=465bb65edffc806a153c4ca370a49a81" size="lg" width="3418" height="1702" data-path="images/cloud/guides/control_plane/1_users_and_roles.webp" />
  </Step>

  <Step title={<>`Roles` タブを選択する</>} id="roles-tab">
    画面上部中央の `Roles` タブを選択します。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/avthXRFo-wpxxds8/images/cloud/guides/control_plane/manage_custom_roles/2_custom_role.webp?fit=max&auto=format&n=avthXRFo-wpxxds8&q=85&s=e852f599ac4390cd5d39823e1d71f07e" size="lg" width="3414" height="984" data-path="images/cloud/guides/control_plane/manage_custom_roles/2_custom_role.webp" />
  </Step>

  <Step title={<>右上の <code>Create new role</code> を選択する</>} id="create-new-role">
    画面右上の `Create new role` ボタンを選択します。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/avthXRFo-wpxxds8/images/cloud/guides/control_plane/manage_custom_roles/3_custom_role.webp?fit=max&auto=format&n=avthXRFo-wpxxds8&q=85&s=72a6f738fc7b1143ae02c2d96a51df5c" size="lg" width="3418" height="1706" data-path="images/cloud/guides/control_plane/manage_custom_roles/3_custom_role.webp" />
  </Step>

  <Step title="ロールに名前を付ける" id="name-the-role">
    わかりやすいロール名を入力します。この名前は、ユーザーや API キーにロールを割り当てる際に表示されます。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/avthXRFo-wpxxds8/images/cloud/guides/control_plane/manage_custom_roles/4_custom_role.webp?fit=max&auto=format&n=avthXRFo-wpxxds8&q=85&s=6c57d29e02640cc5d285bdd568f3348f" size="md" width="1200" height="1704" data-path="images/cloud/guides/control_plane/manage_custom_roles/4_custom_role.webp" />
  </Step>

  <Step title={<>`Allow` をクリックし、権限のスコープを選択する</>} id="scope-permissions">
    `Allow` ボタンをクリックし、Organization、Service、Database の権限から選択します。すべての権限の説明については、[Console roles and permissions](/ja/products/cloud/reference/security/console-roles) を参照してください。

    <Tip>
      コンソールにログインするユーザーには、最低でも Organization > Access organization 権限が必要です。
    </Tip>

    <Info>
      **Data Sources タブへのアクセス**

      **Data Sources** タブにアクセスするには、現在このロールに `Manage selected services` 権限が必要です。
    </Info>

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/avthXRFo-wpxxds8/images/cloud/guides/control_plane/manage_custom_roles/5_custom_role.webp?fit=max&auto=format&n=avthXRFo-wpxxds8&q=85&s=90001bfe74b8ca1f528b7aea343884c3" size="md" width="1192" height="1700" data-path="images/cloud/guides/control_plane/manage_custom_roles/5_custom_role.webp" />
  </Step>

  <Step title="新しいロールを確認する" id="review-role">
    作成を確定する前に、新しいロールに割り当てた権限を確認します。完了したら `Create role` をクリックします。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/avthXRFo-wpxxds8/images/cloud/guides/control_plane/manage_custom_roles/6_custom_role.webp?fit=max&auto=format&n=avthXRFo-wpxxds8&q=85&s=95310ec2a3576945f6b9222803cbf934" size="md" width="1190" height="1696" data-path="images/cloud/guides/control_plane/manage_custom_roles/6_custom_role.webp" />
  </Step>
</Steps>

<div id="manage-database-roles">
  ## データベースロールを管理する (ベータ)
</div>

<BetaBadge />

コンソールの権限に加え、カスタムロールには、選択したサービスのデータベースへのアクセスを制御するデータ権限を含めることができます。これにより、各データベースで個別にロールを管理する代わりに、コンソールとデータベースへのアクセスを一元管理できます。

<Note>
  この機能はベータ版であり、ClickHouse バージョン 26.4 以降を実行しているサービスで利用できます。
</Note>

カスタムロールにデータ権限を追加すると、ClickHouse Cloud は選択した各サービスに、`cloud:` をプレフィックスとする対応するロールを作成します。たとえば、`readonly` というカスタムロールは、データベースでは `cloud:readonly` として表示されます。カスタムロールのメンバーは、SQL コンソールのパスワードレス認証を使用してサービスに接続すると、これらのデータベース権限を取得します。

<Info>
  データベースで手動で割り当てられた、[`sql-console-role:<email>` 命名規則](/ja/products/cloud/guides/security/cloud-access-management/manage-database-users#sql-console-users-and-roles)を使用するロールは、コンソールを通じて割り当てられたロールよりも優先されます。
</Info>

<Steps>
  <Step title="ロールにデータ権限を追加する" id="add-data-permissions">
    [カスタムロールを作成](#create-custom-role)するか、既存のロールを編集します。ロールダイアログで、`Allow permissions` ボタンをクリックし、`Data` を選択します。
  </Step>

  <Step title="サービスを選択する" id="select-data-permissions-service">
    権限を適用するサービスを選択します。複数のサービスに権限を適用するには、サービスを追加します。
  </Step>

  <Step title="アクセスレベルを選択する" id="choose-data-access-level">
    `Read-only`、`Admin`、または `Custom` アクセスを選択します。`Custom` アクセスでは、ClickHouse の [`GRANT` ステートメント](/ja/reference/statements/grant)を使用して、特定のデータアクセス権限を定義します。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/avthXRFo-wpxxds8/images/cloud/guides/control_plane/manage_custom_roles/create_role_data_permissions.webp?fit=max&auto=format&n=avthXRFo-wpxxds8&q=85&s=0e3d1544276432eb02a1298aabd3f0cd" alt="カスタムGRANTステートメントでデータ権限が定義された新しいロールの作成ダイアログ" size="md" width="1174" height="1230" data-path="images/cloud/guides/control_plane/manage_custom_roles/create_role_data_permissions.webp" />
  </Step>

  <Step title="ロールを作成する" id="create-role-with-data-permissions">
    `Create role` をクリックします。選択したサービスにデータベースロールが作成されます。
  </Step>
</Steps>

<div id="verify-database-roles">
  ### データベースロールを確認する
</div>

コンソール で管理されるロールは、データベース内に `cloud:` プレフィックスと `cloud` ストレージタイプを使用して作成されます。これらを一覧表示するには、サービス の `system.roles` テーブルにクエリを実行します。

```sql theme={null}
SELECT * FROM system.roles;
```

```response theme={null}
┌─name───────────┬─id───────────────────────────────────┬─storage─┐
│ cloud:readonly │ 9a4910f4-abcf-4904-466a-717c8c75ac42 │ cloud   │
└────────────────┴──────────────────────────────────────┴─────────┘
```

<div id="update-custom-role">
  ## カスタムロールを更新する
</div>

カスタムロールは、作成後に更新できます。ロールから削除された権限はユーザーから失われ、追加された権限はユーザーに付与されます。

<Tip>
  ユーザーの権限は加算式です。ユーザーが複数のロールを通じてある操作を実行する権限を持っている場合、1 つのロールからのみ権限が削除されても、すぐにアクセスできなくなるとは限りません。
</Tip>

1. 組織設定に移動し、`Users and roles` を選択します
2. `Roles` タブを選択します
3. 更新するロールの横にある三点メニューを選択します
4. `Edit` を選択します
5. 権限を変更します
6. `Edit role` を選択します

<div id="delete-custom-role">
  ## カスタムロールを削除する
</div>

カスタムロールはいつでも削除できます。

<Warning>
  組織内には、管理権限を持つユーザーが少なくとも 1 人必要です。ロールを削除すると最後のユーザーから管理権限が失われる場合、そのロールは削除できません。この問題を回避するには、カスタムロールを削除する前に、少なくとも 1 人のユーザーに `Admin` システムロールを割り当ててください。
</Warning>

1. 組織設定に移動し、`Users and roles` を選択します
2. `Roles` タブを選択します
3. 削除するロールの横にある 3 点メニューを選択します
4. ロールの削除によってアクセスを失うユーザーと API キーを確認します。必要に応じて割り当てを調整してください。
5. `Delete role` を選択して完了します
