Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Accorder des autorisations au niveau de la table dans SQL Server

Lancez SQL Server Management Studio et connectez-vous avec les informations d'identification auxquelles le rôle "sa" a été accordé.

Développer Sécurité , faites un clic droit sur Connexions et sélectionnez Nouvelle connexion .

Saisissez un nom de connexion descriptif , sélectionnez Authentification SQL Server , et saisissez un mot de passe sécurisé. En bas de la page, sélectionnez la base de données à laquelle Chartio se connectera en tant que base de données par défaut .

Sélectionnez le mappage des utilisateurs cochez la case à côté de la base de données souhaitée, confirmez que seul "public" est sélectionné, puis cliquez sur OK .

Cliquez sur Nouvelle requête et sélectionnez la base de données que vous connectez à Chartio.

Collez la requête suivante dans la fenêtre de requête et exécutez-la. Remplacez "chartio_read_only" par le nom d'utilisateur réel de l'utilisateur que vous avez créé.

SELECT 'GRANT SELECT ON "' + TABLE_SCHEMA + '"."' + TABLE_NAME + '" TO "chartio_read_only"' FROM information_schema.tables

Sélectionnez et copiez les résultats de la requête dans la fenêtre de requête.

Supprimez toutes les tables ou vues auxquelles vous ne souhaitez pas que l'"utilisateur chartio_read_only" ait accès. Dans cet exemple, j'ai supprimé les tables Invoice et InvoiceLine car elles contiennent des informations sensibles.

GRANT SELECT ON "dbo"."Customer" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Employee" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Genre" TO "chartio_read_only"
GRANT SELECT ON "dbo"."MediaType" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Playlist" TO "chartio_read_only"
GRANT SELECT ON "dbo"."PlaylistTrack" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Track" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Album" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Artist" TO "chartio_read_only"

Exécutez la requête.

Ensuite, vous devrez accorder la définition de vue sur le schéma dbo. Copiez la requête ci-dessous et exécutez-la dans SQL Server. Remplacez le nom d'utilisateur par le nom d'utilisateur que vous avez créé précédemment.

GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only

Vous pouvez maintenant utiliser ces informations d'identification pour connecter Chartio à votre base de données avec des autorisations en lecture seule uniquement sur les tables que vous avez spécifiées.