Subvention SQL Server

Subvention SQL Server
Dans cet article, vous comprendrez comment utiliser l'instruction de subvention dans SQL Server pour accorder des autorisations sur un directeur sécurisé.

SQL Server Securable et Principal

Un sécurisable fait référence aux ressources auxquelles le système d'autorisation du moteur de la base de données SQL Server contrôle l'accès. Un exemple serait une table de base de données.

Un directeur fait référence à toute entité qui nécessite l'accès à toute ressource SQL Server. Par exemple, un utilisateur demandant des autorisations sur une table est un principal.

Instruction de subvention SQL Server

Ce qui suit montre la syntaxe de la commande Grant dans SQL Server:

Autorisation d'octroi
Sur le capital sécable;

Vous devez spécifier l'autorisation que vous souhaitez attribuer au directeur en tant que liste séparée par des virgules.

Le mot clé ON vous permet de spécifier le sécurisable sur lequel les autorisations sont appliquées. Enfin, le mot-clé TO vous permet de définir le principal cible.

Par exemple, la création d'un utilisateur à l'aide de l'instruction CREATE User ne définit pas les autorisations pour cet utilisateur. Il est donc essentiel d'utiliser l'énoncé de subvention pour définir les autorisations pour cet utilisateur.

prenons un exemple.

Créer un exemple de connexion

Commençons par créer un exemple de connexion à des fins d'illustration. La requête est fournie ci-dessous:

Créer Login Linuxhint
avec mot de passe = "mot de passe";

La commande ci-dessus doit créer un utilisateur avec le nom d'utilisateur LinuxHint et le mot de passe spécifié.

Créer une exemple de base de données

Nous pouvons créer une base de données où l'utilisateur résidera une fois que nous aurons défini une connexion. Les requêtes sont telles que montrées:

Drop Base de données s'il existe un résolveur;
Créer un résolveur de base de données;
Utiliser Resolver;
Tableau de dépôt si existe des entrées;
Créer des entrées de table (
id int not null identité (1,
1) Clé primaire,
server_name varchar (50),
server_address varchar (255) pas null,
compression_method varchar (100) par défaut «Aucun»,
size_on_disk float pas nul,
Float de taille_compressée,
total_records int not null,
Init_Date Date
));
insérer
dans
Entrées (server_name,
adresse du serveur,
méthode de compression,
taille sur le disque,
size_compressed,
total_records,
init_date)
valeurs
(«Mysql», «LocalHost: 3306», «lz77», 90.66,40.04 560000, '2022-01-02'),
(«Redis», «localhost: 6307», «Snappy», 3.55 998.2 100000, «2022-03-19»),
('Postgresql', 'LocalHost: 5432', 'PGLZ', 101.2,98.01 340000, '2022-11-11'),
(«Elasticsearch», «LocalHost: 9200», «lz4», 333.2 300.2 1200000, '2022-10-08'),
(«MongoDB», «LocalHost: 27017», «Snappy», 4.55,4.10 620000, «2021-12-12»),
('Apache Cassandra', 'LocalHost: 9042', 'ZSTD', 300.3 200.12 10000000, «2020-03-21»);

Créer un utilisateur pour la connexion

Une fois que nous avons créé la base de données et la table, nous pouvons créer un utilisateur pour la connexion LinuxHint comme:

Utiliser le résolveur
Créer un utilisateur Linuxhint
pour la connexion LinuxHint;

Connectez-vous en tant que nouvel utilisateur

Ensuite, nous connectons en tant qu'utilisateur nouvellement créé. La commande est comme indiqué:

SetUser 'LinuxHint';

Une fois connecté, nous pouvons essayer d'afficher les tables en exécutant la commande SELECT:

Sélectionner * à partir des entrées;

L'exécution de la requête ci-dessus doit renvoyer une erreur:

MSG 229, niveau 14, État 5, ligne 379
L'autorisation de sélection a été refusée sur l'objet «entrées», «Resolver» de la base de données, schéma «DBO».

En effet.

Accorder l'autorisation à l'utilisateur

Nous devons accorder les autorisations sélectionnées pour permettre à l'utilisateur d'afficher les informations stockées dans les tables.

Pour cela, vous devez vous connecter avec le compte administratif SQL Server.

Ensuite, exécutez la requête comme:

Grant Select sur les entrées à LinuxHint;

Une fois exécuté, connectez-vous en tant qu'utilisateur LinuxHint et utilisez l'instruction SELECT.

Sélectionner * à partir des entrées;

Dans ce cas, la commande renvoie le tableau car l'utilisateur a sélectionné les autorisations

Vous pouvez également attribuer une autre autorisation à l'utilisateur, comme insérer et supprimer comme:

insert de subvention, supprimer les entrées à LinuxHint;

Dans ce cas, l'utilisateur de LinuxHint doit avoir les autorisations sélectionnées, insérer et supprimer sur le tableau des entrées.

Conclusion

Dans cet article, nous avons exploré l'utilisation de la commande Grant dans SQL Server. La commande vous permet d'attribuer des autorisations à un principal donné.