> ## 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.

# Gérer les rôles personnalisés

> Cette page explique comment les administrateurs peuvent ajouter, modifier et supprimer des rôles personnalisés

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>Beta</span>
            </a>;
  }
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>Fonctionnalité en bêta</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>;
};

Ce guide s’adresse aux utilisateurs disposant du rôle Admin dans ClickHouse Cloud.

Les clients de ClickHouse Cloud peuvent choisir parmi des rôles système prédéfinis ou créer des rôles personnalisés à attribuer aux utilisateurs. Pour plus d’informations sur les rôles système et les permissions associées, consultez [Console roles and permissions](/fr/products/cloud/reference/security/console-roles). Ce guide présente la gestion des rôles personnalisés en détail.

<div id="create-custom-role">
  ## Créer des rôles personnalisés
</div>

Les rôles personnalisés peuvent inclure une combinaison de permissions d’organisation, de service et de base de données. Ces permissions peuvent s’appliquer à l’ensemble des services et des bases de données, ou seulement à un sous-ensemble.

<Steps>
  <Step title="Accéder aux paramètres de l’organisation et sélectionner Users and roles" id="users-and-roles-1">
    Depuis la page des services, sélectionnez le nom de votre organisation. Dans le menu contextuel, sélectionnez l’élément `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={<>Sélectionner l’onglet <code>Roles</code></>} id="roles-tab">
    Sélectionnez l’onglet `Roles` en haut, au centre de l’écran.

    <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={<>Sélectionner <code>Create new role</code> en haut à droite</>} id="create-new-role">
    Sélectionnez le bouton `Create new role` en haut à droite de l’écran.

    <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="Nommer le rôle" id="name-the-role">
    Saisissez un nom de rôle descriptif. C’est ce nom qui s’affichera lorsque vous attribuerez des rôles à des utilisateurs et à des clés 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={<>Cliquer sur <code>Allow</code> et sélectionner la portée des permissions</>} id="scope-permissions">
    Cliquez sur le bouton `Allow`, puis sélectionnez des permissions d’organisation, de service et/ou de base de données. Pour obtenir la description de toutes les permissions, consultez [Console roles and permissions](/fr/products/cloud/reference/security/console-roles).

    <Tip>
      Assurez-vous que les utilisateurs qui se connecteront à la console disposent au minimum de la permission Organization > Access organization.
    </Tip>

    <Info>
      **Accès à l’onglet Data Sources**

      Pour accéder à l’onglet **Data Sources**, le rôle doit actuellement disposer de la permission `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="Vérifier votre nouveau rôle" id="review-role">
    Vérifiez les permissions attribuées à votre nouveau rôle avant de finaliser. Cliquez sur `Create role` lorsque vous avez terminé.

    <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">
  ## Gérer les rôles de base de données (bêta)
</div>

<BetaBadge />

Outre les permissions de la console, les rôles personnalisés peuvent inclure des permissions sur les données qui contrôlent l'accès aux bases de données des services sélectionnés. Vous pouvez ainsi gérer les accès à la console et aux bases de données à un seul endroit, au lieu de maintenir des rôles distincts dans chaque base de données.

<Note>
  Cette fonctionnalité est en bêta et est disponible pour les services exécutant ClickHouse version 26.4 ou ultérieure.
</Note>

Lorsque vous ajoutez des permissions sur les données à un rôle personnalisé, ClickHouse Cloud crée un rôle correspondant dans chaque service sélectionné, avec le préfixe `cloud:`. Par exemple, un rôle personnalisé nommé `readonly` apparaît dans la base de données sous le nom `cloud:readonly`. Les membres du rôle personnalisé reçoivent ces permissions de base de données lorsqu'ils se connectent au service via l'authentification sans mot de passe de la console SQL.

<Info>
  Les rôles attribués manuellement dans la base de données à l'aide de la [convention de nommage `sql-console-role:<email>`](/fr/products/cloud/guides/security/cloud-access-management/manage-database-users#sql-console-users-and-roles) prévalent sur les rôles attribués via la console.
</Info>

<Steps>
  <Step title="Ajouter des permissions sur les données à un rôle" id="add-data-permissions">
    [Créez un rôle personnalisé](#create-custom-role) ou modifiez-en un existant. Dans la boîte de dialogue du rôle, cliquez sur le bouton `Allow permissions`, puis sélectionnez `Data`.
  </Step>

  <Step title="Sélectionner le service" id="select-data-permissions-service">
    Sélectionnez le service auquel s'appliquent les permissions. Ajoutez d'autres services pour appliquer les permissions à plusieurs services.
  </Step>

  <Step title="Choisir le niveau d'accès" id="choose-data-access-level">
    Sélectionnez l'accès `Read-only`, `Admin` ou `Custom`. Avec l'accès `Custom`, définissez des permissions d'accès aux données spécifiques à l'aide d'instructions ClickHouse [`GRANT`](/fr/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="Boîte de dialogue de création d'un rôle avec des permissions sur les données définies par des instructions GRANT personnalisées" size="md" width="1174" height="1230" data-path="images/cloud/guides/control_plane/manage_custom_roles/create_role_data_permissions.webp" />
  </Step>

  <Step title="Créer le rôle" id="create-role-with-data-permissions">
    Cliquez sur `Create role`. Les rôles de base de données sont créés dans les services sélectionnés.
  </Step>
</Steps>

<div id="verify-database-roles">
  ### Vérifier les rôles de base de données
</div>

Les rôles gérés via la console sont créés dans la base de données avec le préfixe `cloud:` et le type de stockage `cloud`. Pour les afficher, interrogez la table `system.roles` du service :

```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">
  ## Mettre à jour les rôles personnalisés
</div>

Les rôles personnalisés peuvent être modifiés après leur création. Les utilisateurs perdront toutes les permissions retirées du rôle et obtiendront toutes les permissions ajoutées.

<Tip>
  Les permissions des utilisateurs sont cumulatives. Si un utilisateur est autorisé à effectuer une opération via plusieurs rôles, il ne perdra pas nécessairement immédiatement l’accès si la permission n’est retirée que d’un seul rôle.
</Tip>

1. Accédez aux paramètres de l’organisation et sélectionnez `Users and roles`
2. Sélectionnez l’onglet `Roles`
3. Sélectionnez les trois points à côté du rôle que vous souhaitez modifier
4. Sélectionnez `Edit`
5. Modifiez les permissions
6. Sélectionnez `Edit role`

<div id="delete-custom-role">
  ## Supprimer les rôles personnalisés
</div>

Les rôles personnalisés peuvent être supprimés à tout moment.

<Warning>
  Vous devez avoir au moins un utilisateur dans l’organisation disposant de droits d’administration. Si la suppression du rôle retire ces droits au dernier utilisateur concerné, vous ne pourrez pas le supprimer. Pour résoudre ce problème, attribuez à au moins un utilisateur le rôle système Admin avant de supprimer le rôle personnalisé.
</Warning>

1. Accédez aux paramètres de l’organisation et sélectionnez `Users and roles`
2. Sélectionnez l’onglet `Roles`
3. Sélectionnez les trois points à côté du rôle que vous souhaitez supprimer
4. Vérifiez quels utilisateurs et quelles clés API perdront l’accès lorsque le rôle sera supprimé. Ajustez les attributions si nécessaire.
5. Sélectionnez `Delete role` pour terminer l’opération
