Vous êtes sur la page 1sur 21

INSFP Ziane Belkacem

TP ADMIN SQL SERVER


Les autorisations

A. Boukhatemi

2016-2017
Rappel compte de connexion
Création de compte windows sous T-SQL

CREATE LOGIN <nom_utilisateur_Windows>

FROM WINDOWS;

Création de compte SQL Server sous T-SQL

CREATE LOGIN <nom_connexion_SQL>

WITH PASSWORD = '<un_mot_de_passe>‘


Les Autorisations
Le Moteur de base de données
gère une collection hiérarchisée
d'entités qui peuvent être
sécurisées à l'aide d'autorisations.

Ces entités sont dites sécurisables


tel que les serveurs, les bases de
données, table, vue, Instruction
Les Autorisations
SQL Server a des autorisations
(permissions) associées qui
peuvent être accordées à une
entité de sécurité: utilisateur,
Rôle de base de données et Rôle
Conventions de noms d'autorisations
Un utilisateur a un accès à la base et doit appartenir au moins à un rôle.
Un rôle est un groupe d'utilisateur possédant des droits communs.
Pour gérer facilement les autorisations dans vos bases de données, SQL Server
fournit plusieurs rôles, qui sont des entités de sécurité regroupant d'autres entités
Conventions de noms d'autorisations : pour voir la liste des autorisations :
SELECT * FROM fn_builtin_permissions(default);
Pour voir la liste des autorisations sur une classe
SELECT * FROM fn_builtin_permissions('database');
Formalisme GRANT
Octroi (GRANT) : Accorde des GRANT permission [ ,...n ]
ON
autorisations à une entité de { [ USER :: database_user ]
sécurité sur un élément sécurisable. | [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
GRANT CONNECT SQL TO [user] [ AS <database_principal> ]
<database_principal> ::=
Database_user
GO | Database_role
| Application_role
……
| Database_user_with_no_login
Formalisme DENY
Refus (DENY) : Refuse une DENY { ALL [ PRIVILEGES ] }
autorisation à une entité de
sécurité. Empêche cette entité de | permission [ ( column [ ,...n ] ) ] [ ,...n ]

sécurité d'hériter de [ ON [ class :: ] securable ] TO principal [ ,...n ]


l'autorisation par ses
appartenances à des groupes ou [ CASCADE] [ AS principal ]
à des rôles. USE AdventureWorks;
DENY VIEW DEFINITION TO CarmineEs
CASCADE;
GO
Formalisme REVOKE
REVOKE [ GRANT OPTION FOR ]
Révocation (REVOKE) : {
[ ALL [ PRIVILEGES ] ]
|
Supprime une autorisation permission [ ( column [ ,...n ] ) ] [ ,...n ]
}
accordée ou refusée [ ON [ class :: ] securable ]
{ TO | FROM } principal [ ,...n ]
antérieurement [ CASCADE] [ AS principal ]

USE AdventureWorks;
REVOKE VIEW DEFINITION FROM CarmineEs
CASCADE;
GO
Les rôles
Rôle Utilisation

Public par défaut

créateur par défaut des objets de la base, il possède toutes les


db_owner autorisations sur la base de données.

db_accessadmin gère les accès : ajoute ou supprime des ID utilisateur.

db_securituadmin gère les droits : accès, propriétés d'objet, rôles et membres des rôles

gestion des droits au niveau du sous ensemble DDl du SQL : lance


db_ddladmin l'instruction ALL DDL mais pas les instructions GRANT, REVOKE ou
DENY
Les rôles
Rôle Utilisation

db_backupope opérateur de sauvegarde (mais pas de restauration !). Lance les


rator instructions DBCC, CHECKPOINT et BACKUP.
droit de consultation des données de la base (lecture uniquement).
db_datareader Sélectionne toutes les données de toutes les tables utilisateur dans la
base de données.
droit en lecture, écriture des données de la base. Modifie les données
db_datawriter
de toutes les tables utilisateur dans la base de données.
db_denydatare
révocation des droits en lecture sur tous les objets de la base
ader
db_denydataw
Les rôles au niveau server
Rôle Utilisation
Les membres du rôle serveur fixe sysadmin
sysadmin peuvent effectuer n'importe quelle activité
sur le serveur.
Les membres du rôle serveur fixe
serveradmin peuvent modifier les options de
serveradmin configuration à l'échelle du serveur et arrêter
le serveur.
Les rôles au niveau server
Rôle Utilisation
Les membres du rôle serveur fixe securityadmin gèrent les
connexions et leurs propriétés. Ils peuvent assigner des
autorisations GRANT, DENY et REVOKE au niveau du
securityadmin serveur. Ils peuvent aussi assigner, refuser et révoquer
(GRANT, DENY et REVOKE) des autorisations au niveau
de la base de données. En outre, ils peuvent réinitialiser les
mots de passe pour les connexions SQL Server.
Les rôles au niveau server
Rôle Utilisation
Les membres du rôle serveur fixe processadmin
processadmin peuvent mettre fin aux processus en cours
d'exécution dans une instance de SQL Server.
Les membres du rôle serveur fixe setupadmin
setupadmin peuvent ajouter et supprimer des serveurs liés.
Les rôles au niveau server
Rôle Utilisation

Les membres du rôle serveur fixe bulkadmin peuvent


bulkadmin
exécuter l'instruction BULK INSERT.
Le rôle serveur fixe diskadmin permet de gérer les
diskadmin
fichiers disque.
Les membres du rôle serveur fixe dbcreator peuvent
dbcreator créer, modifier, supprimer et restaurer n'importe quelle
base de données.
Conventions de noms d'autorisations
CREATE <Server Securable> Confère au bénéficiaire la
capacité de créer l'objet sécurisable de type serveur ou Server
Securable.

CREATE <Database Securable> Confère au bénéficiaire la


capacité de créer l'objet sécurisable de type base de données
ou Database Securable.
Conventions de noms d'autorisations
ALTER
Confère la capacité de modifier les propriétés, excepté l'appartenance,
d'un objet sécurisable particulier.

ALTER octroie également la capacité de modifier, de créer ou de


supprimer tous les objets sécurisables contenus dans cette portée.

Par exemple, l'autorisation ALTER sur un schéma inclut la capacité de


créer, de modifier et de supprimer les objets du schéma.
Conventions de noms d'autorisations
ALTER ANY <Server Securable>, où Server Securable désigne n'importe quel objet
sécurisable de type serveur. Confère la capacité de créer, de modifier ou de
supprimer des instances individuelles du Server Securable

ALTER ANY <Database Securable>, où Database Securable désigne n'importe quel


objet sécurisable au niveau de la base de données. Confère la capacité de créer, de
modifier ou de supprimer des instances individuelles du Server Securable. Par
exemple, ALTER ANY SCHEMA confère la capacité de créer, de modifier ou de
supprimer n'importe quel schéma dans la base de données.
Conventions de noms d'autorisations
CONTROL : Confère des fonctionnalités de type propriété au bénéficiaire de l'autorisation. Le
bénéficiaire dispose effectivement de toutes les autorisations définies sur l'objet sécurisable.

Une entité de sécurité qui dispose de l'autorisation CONTROL peut elle-même accorder des
autorisations sur l'objet sécurisable.

Appliquer l'autorisation CONTROL sur un objet particulier étend implicitement CONTROL à tous les
objets sécurisables inclus dans cette portée.
USE AdventureWorks;

GRANT CONTROL ON USER::Wanida TO RolandX;

GO
Autorisations applicables à des objets sécurisables
spécifiques
Autorisation S'applique à
Synonymes
Tables et colonnes
SELECT
Fonctions table, Transact-SQL et CLR (Common Language Runtime) et colonnes
Vues et colonnes
VIEW CHANGE Tables
TRACKING Schémas
Synonymes
UPDATE Tables et colonnes
Vues et colonnes
Fonctions scalaires et d'agrégation (Transact-SQL et CLR)
Files d'attente Service Broker
REFERENCES Tables et colonnes
Autorisations applicables à des objets sécurisables
spécifiques
Autorisation S'applique à
Procédures (Transact-SQL et CLR)
Fonctions scalaires et d'agrégation (Transact-SQL et CLR)
CONTROL
Files d'attente Service Broker
Synonymes / Tables/ Fonctions table (Transact-SQL et CLR) / Vues
Chaque connexion SQL Server appartient au rôle serveur public. Lorsqu'une entité
de sécurité de serveur ne s'est pas vu accorder ou refuser des autorisations
PUBLIC spécifiques sur un objet sécurisable, l'utilisateur hérite des autorisations accordées à
public sur cet objet. Vous ne devez affecter des autorisations publiques à un objet
que lorsque vous souhaitez que ce dernier soit disponible pour tous les utilisateurs.
Synonymes
INSERT
Tables et colonnes /
DELETE
Vues et colonnes
Formalisme
GRANT <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <database_principal> ]

<permission>::=
permission | ALL [ PRIVILEGES ]

<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
……
| Database_user_with_no_login

Vous aimerez peut-être aussi