Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation des privilèges liés à l’appartenance à un groupe de sécurité AD
Hériter des privilèges au niveau du serveur
Les utilisateurs AD membres d’un groupe de sécurité AD donné héritent des privilèges de niveau serveur accordés à l’identifiant du groupe Windows mappé. Par exemple, considérez le groupe de sécurité AD accounts-group, qui est autorisé à appartenir au rôle serveur sysadmin sur Babelfish. Vous pouvez hériter des privilèges au niveau serveur à l’aide de la commande suivante :
1>ALTER SERVER ROLE sysadmin ADD MEMBER [corp\accounts-group];
Par conséquent, tout utilisateur Active Directory membre du groupe de sécurité AD accounts-group hérite des privilèges de niveau serveur associés au rôle sysadmin. Cela signifie qu’un utilisateur comme corp\user1, en tant que membre de accounts-group, a désormais la possibilité d’effectuer des opérations au niveau du serveur dans Babelfish.
Note
Pour exécuter des instructions DDL au niveau du serveur, il doit exister un identifiant Windows pour l’utilisateur AD individuel. Pour plus d’informations, consultez Limitations.
Hériter des privilèges au niveau de la base de données
Pour accorder des privilèges au niveau de la base de données, un utilisateur de base de données doit être créé et mappé avec un identifiant de groupe Windows. Les utilisateurs AD membres d’un groupe de sécurité AD donné héritent des privilèges accordés à cet utilisateur de base de données au niveau de la base de données. Dans l’exemple suivant, vous pouvez voir comment les privilèges au niveau de la base de données sont attribués au groupe Windows [corp\accounts-group].
1>CREATE DATABASE db1;2>GO1>USE db1;2>GO Changed database context to 'db1'.1>CREATE TABLE dbo.t1(a int);2>GO
Créez un utilisateur de base de données [corp sales-group] pour la connexion du groupe Windows [corp\accounts-group]. Pour effectuer cette étape, connectez-vous via le point de terminaison TDS en utilisant un identifiant qui est membre de sysadmin.
1>CREATE USER [corp\accounts-group] FOR LOGIN [corp\accounts-group];2>GO
Maintenant, connectez-vous en tant qu’utilisateur AD user1 pour vérifier l’accès à la table t1. Comme nous n’avons pas encore accordé les privilèges au niveau de la base de données, cela entraîne une erreur de refus d’autorisation.
1>SELECT * FROM dbo.t1;2>GO Msg 33557097, Level 16, State 1, Server db-inst, Line 1 permission denied for table t1
Accordez SELECT sur la table t1 à l’utilisateur de base de données [corp\accounts-group]. Pour effectuer cette étape, connectez-vous via le point de terminaison TDS en utilisant un identifiant qui est membre de sysadmin.
1>GRANT SELECT ON dbo.t1 TO [corp\accounts-group];2>GO
Connectez-vous en tant qu’utilisateur AD user1 pour valider l’accès.
1>SELECT * FROM dbo.t1;2>GO a ----------- (0 rows affected)