DBM1 labo3 - IlanRuiz/Cours-TechES GitHub Wiki

Questionnaire

  1. Les utilisateurs sont définis au niveau :
  • B. Base de données
  1. Pour travailler sur une base de données, est-il nécessaire de posséder un compte utilisateur nominatif ?
  • B. Non.
  1. À quoi servent les rôles ?
  • C. Définir des groupes de privilèges
  1. Quel(s) type(s) de rôle est-il possible d'accorder à un utilisateur ?

    • B. Rôle de base de données
    • C. Rôle personnalisé
  2. Quelle instruction faut-il utiliser pour enlever un privilège à un utilisateur ?

  • B. REVOKE.
  1. À quel niveau est-il possible de définir ses propres rôles ?
  • C. Base de données
  1. Quel rôle permet d'accorder les privilèges d'administration d'une base ?
  • D. db_owner
  1. En tant qu'administrateur du serveur sur lequel s'exécute l'instance SQL server, de quels privilèges je dispose par défaut au niveau de SQL Server ?
  • D. SysAdmin
  1. Est-il possible d'utiliser un rôle d'application depuis un script Transact SQL ?
  • A. Oui
  1. Quel type de privilège peut être accordé à un rôle d'application ?

    • A. Privilèges systèmes
    • B. Privilèges objets
  2. Quel est le rôle du compte d'utilisateur de base de données guest

    C'est un compte qui est utilisé pour permettre de se connecter aux base de données lorsque la connexion utilisé n'est pas associé à un compte dans la base de donnée choisi

  3. Si aucun schéma n'est associé à l'utilisateur de base de données, quel sera son schéma par défaut ?

  • B. DBO

1. Configurer le mode de sécurité

USE Master;
ALTER LOGIN [sa] WITH PASSWORD = 'Qaywsx123456'

2. Définir une nouvelle connexion

image-20240323161046721

USE TSQL
CREATE LOGIN Pierre   
    WITH PASSWORD = 'Qaywsx123456';
ALTER LOGIN Pierre WITH DEFAULT_DATABASE = TSQL

3. Integrer des comptes et groupes Windows

image-20240323161349947

image-20240323161439778

image-20240323161645659

Use master;
go
create login  [DBM\leon] from windows with default_database=TSQL;

image-20240323161911382

Validation des authentifications

image-20240323162504107

image-20240323162101334

image-20240323162112067

image-20240323162234741

image-20240325141850017

image-20240323162413831

image-20240323162428925

4. Définir des utilisateurs de base de données

image-20240323153856559

use tsql; 
go 
create user leon from login [DBM\leon];

5. Travailler avec le compte guest

image-20240323163059611

USE TSQL;
GO
grant connect to guest;

Pierre parvient à accéder aux deux bases en utilisant la commande use <dbname>;

6. Accorder des droits spécifiques

image-20240323163414224

USE TSQL;
GO
grant create table, create view, create procedure to leon;

7. Définir un rôle de base de données

image-20240323164042807

use ssms;
go
grant create table, create view, create procedure to roleSSMS;
USE TSQL;
GO
create role roleTSQL;
grant create table, create view, create procedure to roleTSQL;

8. Accorder des rôles de bases de données à des utilisateurs

image-20240323154046368

image-20240323154116522

1.2

image-20240323154300096

image-20240323154337923

2

USE TSQL;
GO
EXEC sp_addrolemember @rolename='db_datareader', @membername='DBM\leon'
EXEC sp_addrolemember @rolename='db_datawriter', @membername='guest'
EXEC sp_addrolemember @rolename='roleTSQL', @membername='guest'

9. Interdire l'utilisation de certains privilèges

USE TSQL;
GO
revoke create procedure, create function to leon;

10. Définir un rôle d'application

image-20240323164438122

use SSMS;
go
grant create table, create view to roleApplication;

11. Utiliser un rôle d'application

image-20240323165051548

L'utilisateur n'a pas les permissions

image-20240325103044211

image-20240325102527832

L'utilisateur utilise le rôle d'application qui possède les privilèges pour effectuer l'opération

source

https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-ad-auth-adutil-tutorial?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/t-sql/statements/create-login-transact-sql?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/t-sql/statements/grant-transact-sql?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/t-sql/statements/create-user-transact-sql?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/relational-databases/policy-based-management/guest-permissions-on-user-databases?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/t-sql/statements/create-role-transact-sql?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addrolemember-transact-sql?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/t-sql/statements/revoke-transact-sql?view=sql-server-ver16

⚠️ **GitHub.com Fallback** ⚠️