Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Managed Instance
La plupart des applications Service Broker impliquant plusieurs instances s'exécutent dans le contexte de sécurité d'un principal de base de données créé spécifiquement pour l'application. Ces principaux de base de données doivent disposer des autorisations minimales requises pour accomplir les tâches que l'application exécute.
Les observations suivantes s'appliquent aux principaux de base de données créés pour les applications Service Broker.
L’autorisation à distance Service Broker s’applique quand une application Service Broker distante se connecte à SQL Server pour remettre un message à l’instance. Le principal de base de données spécifié pour l’autorisation à distance doit avoir
CONNECTl’autorisation dans la base de données qui héberge le service de lancement et doit avoirSENDl’autorisation pour le service de lancement lui-même. L'utilisateur doit disposer du certificat utilisé pour l'authentification. Outre ces conditions, l'utilisateur n'est en aucun cas obligé de posséder d'autres objets, de disposer d'autorisations supplémentaires ou d'être en mesure de se connecter via un autre dispositif.Pour qu’un principal de base de données commence une conversation, ce principal doit disposer
RECEIVEd’autorisations sur la file d’attente pour le service de lancement.Le principal de base de données propriétaire du service initial doit disposer
SENDd’autorisations sur le service cible.Pour qu’un principal de base de données envoie des messages à un service, ce principal doit disposer
SENDd’autorisations sur le service. Pour les services hébergés dans une instance différente, la sécurité du dialogue Service Broker détermine le principal de base de données dans l'instance distante. Pour plus d’informations, consultez la sécurité de la boîte de dialogue Service Broker. Service Broker ne prend pas en compte l’appartenance aux rôles Windows lors de la vérificationSENDdes autorisations.L'utilisateur spécifié comme utilisateur d'une procédure stockée d'activation doit être autorisé à exécuter la procédure. Souvent, l'utilisateur spécifié dispose des autorisations nécessaires pour exécuter les instructions dans la procédure. Toutefois, si la procédure stockée elle-même est définie avec une
EXECUTE ASclause, les instructions de la procédure stockée s’exécutent avec le contexte de sécurité défini par la procédure stockée. SQL Server définit d’abord le contexte de sécurité sur l’utilisateur spécifié pour la file d’attente. SQL Server exécute ensuite la procédure stockée, et la procédure stockée change le contexte de sécurité sur l’utilisateur spécifié pour la procédure.Lorsque service Broker transport security utilise SSPI, le compte de service de la base de données distante doit avoir
CONNECTl’autorisation dansmaster, et doit également correspondre à une connexion. Par conséquent, le compte sous lequel l’instance SQL Server distante s’exécute doit être autorisé à se connecter à SQL Server en utilisant l’authentification Windows. Il n’est pas nécessaire pour la connexion d’avoir d’autres autorisations ou de détenir des objets dans une base de données.