Comment utiliser les rôles SQL Server

Comment utiliser les rôles SQL Server

Les utilisations du serveur SQL consiste à stocker, récupérer et manipuler les données. L'une des principales caractéristiques du serveur SQL est sa capacité à accorder et à gérer les autorisations à différents utilisateurs et groupes. Les rôles SQL Server sont un outil puissant qui permet aux administrateurs de la base de données d'attribuer un ensemble d'autorisations à un groupe d'utilisateurs ayant des besoins similaires.

Cet article fournit un guide sur la façon d'utiliser les rôles SQL Server, y compris un aperçu des différents types de rôles disponibles, des exemples de comment attribuer ces rôles aux utilisateurs et des conseils sur la façon de gérer ces rôles.

Quels sont les rôles SQL?

Les rôles permettent au DBA de gérer les autorisations plus efficacement. Nous devons d'abord créer les rôles. Ensuite, nous attribuons les autorisations aux rôles, puis ajoutons les connexions aux rôles, en conséquence.

Le serveur SQL prend en charge principalement deux types de rôles:

  • Rôles de serveur fixe: Ces rôles ont déjà un ensemble prédéfini d'autorisations.
  • Rôles de serveur défini par l'utilisateur: Ces rôles peuvent être modifiés pour répondre aux exigences de votre organisation.

Types de rôles SQL Server

Le serveur SQL fournit plusieurs rôles intégrés qui peuvent être utilisés pour attribuer des autorisations aux utilisateurs. Voici quelques-uns des rôles les plus courants et leurs autorisations correspondantes:

  • Bulkadmin: Les membres du rôle de serveur fixe de Bulkadmin peuvent exécuter l'instruction «insert en vrac».
  • Sysadmin: Ce rôle a le plus haut niveau d'autorisations et peut effectuer n'importe quelle action sur l'instance SQL Server, y compris la création, la modification et la suppression des bases de données et des connexions.
  • serverAdmin: Ce rôle peut configurer les paramètres au niveau du serveur tels que l'allocation de mémoire et les protocoles réseau, mais il ne peut pas modifier les bases de données.
  • SecurityAdmin: Ce rôle peut gérer les connexions et leurs autorisations, y compris la création et la modification des connexions, des rôles et des mots de passe.
  • ProcessAdmin: Le rôle de serveur fixe processadmin accorde à ses membres la possibilité de mettre fin ou d'arrêter les processus qui s'exécutent actuellement dans une instance du moteur de base de données SQL Server.
  • dbcreator: Cela a les autorisations pour créer, modifier et supprimer les bases de données, mais il ne possède pas le pouvoir d'exécuter d'autres tâches administratives.
  • Diskadmin: Ce rôle peut gérer les fichiers de disque tels que la création et la suppression de fichiers et l'ajout ou la suppression des disques.
  • DataReader: Le rôle de DataReader a la capacité d'accéder et de lire toutes les informations stockées dans les tableaux d'utilisateurs d'une base de données.
  • Datawriter: Le rôle de DataWriter possède le pouvoir d'insérer, de mettre à jour et de supprimer les données de toutes les tables d'utilisateurs d'une base de données.
  • ddladmin: Ce rôle peut créer, modifier et supprimer les déclencheurs et objets DDL (vues, tableaux et procédures stockées).
  • public: Par défaut, tous les utilisateurs, groupes et rôles de SQL Server sont automatiquement inclus dans le rôle de serveur fixe public.

Création du rôle de serveur défini par l'utilisateur à l'aide de l'interface graphique

La création d'un rôle de serveur défini par l'utilisateur dans SQL Server peut être effectuée via GUI à l'aide du SQL Server Management Studio (SSMS). Pour créer un rôle de serveur défini par l'utilisateur à l'aide de l'interface graphique dans SSMS, suivez ces étapes:

1. Lancez le SQL Server Management Studio (SSMS) et établissez une connexion à l'instance SQL Server spécifique.

2. Allez à la sécurité -> Rôles du serveur-> nouveau rôle de serveur.

3. Spécifiez un nom pour le nouveau rôle dans la page générale.

4. Spécifiez les tirables au niveau du serveur sur lesquels le rôle aura des autorisations sur la page Securables.

5. Ajouter des utilisateurs ou d'autres rôles dans la page des membres.

Créer et utiliser le rôle du serveur via T-SQL

La création et l'utilisation d'un rôle de serveur à l'aide de T-SQL dans le serveur SQL est une autre façon de gérer les autorisations au niveau du serveur. Pour créer un rôle de serveur défini par l'utilisateur à l'aide de T-SQL, nous devons suivre ces étapes:

1. Ouvrez une nouvelle fenêtre de requête et exécutez le code suivant pour créer le nouveau rôle de serveur:

-- << Create a user defined Server role
Utiliser [Master]
ALLER
Créer un rôle de serveur [Junior DBA]
ALLER

Dans cet exemple, nous créons un nouveau rôle de serveur - «Junior DBA».

2. Exécutez le code suivant pour accorder des autorisations au nouveau rôle:

Utiliser [Master]
ALLER
Grant Créer une base de données --<< now can create db
À [dba junior]
ALLER

Dans cet exemple, nous permettons à la permission du nouveau rôle, «Junior DBA», pour créer les bases de données.

Accordez une base de données --<< only can view any db but not tables
À [dba junior]
ALLER

Dans cet exemple, la commande «Grant View toute base de données» est utilisée pour accorder une autorisation au niveau du serveur qui permet au rôle de voir les métadonnées pour toute base de données sur le serveur. Dans ce cas, nous accordons cette autorisation au rôle de serveur «Junior DBA» que nous avons créé plus tôt.

Cependant, il est important de noter que l'octroi de l'autorisation «Afficher toute base de données» ne donne pas à l'utilisateur ou à l'autorisation de rôle pour accéder à toutes les données dans les bases de données - cela leur permet simplement de voir les métadonnées (telles que les noms de base de données et les schémas).

3. Ajoutez un compte de connexion ou d'utilisateur au nouveau rôle en exécutant le code suivant:

--Ajouter des connexions SQL au nouveau rôle de serveur
Alter Server Role [Junior DBA]
Ajouter un membre [Papan]
ALLER
Alter Server Role [Junior DBA]
Ajouter un membre [Rima]
ALLER

Dans cet exemple, nous ajoutons les comptes «Papan» et «Rima» en tant que membres du rôle de «dba junior».

Conclusion

Les rôles SQL Server fournissent un outil puissant pour gérer les autorisations dans un environnement de base de données. En attribuant des rôles aux utilisateurs, vous pouvez vous assurer qu'ils ont le niveau d'accès approprié aux données dont ils ont besoin sans leur donner des privilèges inutiles. Que vous gériez une petite base de données ou un grand système d'entreprise, comprendre comment utiliser les rôles SQL Server est une compétence importante qui peut vous aider à maintenir la sécurité et l'intégrité de vos données.