Les requêtes à la base de données dans ABAP sont traitées par l'interface de base de données. L'interface de base de données est chargée de s'assurer que l'instruction SQL est traitée correctement. Comme une opération de base de données peut provenir de n'importe quelle application et être pour n'importe quelle activité (créer, lire, mettre à jour, supprimer), l'interface de base de données doit pouvoir exécuter presque n'importe quelle opération. En revanche, les utilisateurs fonctionnels ne doivent pouvoir effectuer que certaines actions sur certaines données.

Par conséquent, l'interface de base de données se connecte à la base de données avec un utilisateur spécial qui peut faire n'importe quoi, et non avec l'utilisateur de l'utilisateur fonctionnel. Pour limiter les utilisateurs fonctionnels à certains droits, ABAP utilise un système de contrôles des autorisations logiques.
Regardez cette vidéo pour comprendre comment affecter une autorisation aux utilisateurs à l'aide de l'application IAM.

Dans ABAP, il existe deux types de contrôle des autorisations. Le premier est un contrôle que vous liez à une vue CDS. Lorsque le système lit les données, il filtre les données récupérées en fonction des autorisations de l'utilisateur. Le second est un contrôle explicite à l'aide de l'instruction AUTHORITY-CHECK. Cela définit une valeur de code retour, indiquant si l'utilisateur dispose de l'autorisation requise. Dans ce cas, le développeur doit s'assurer lui-même que l'action demandée n'est pas exécutée si l'utilisateur ne dispose pas de l'autorisation. Dans le modèle de programmation d'applications ABAP RESTful, vous utilisez généralement des contrôles d'accès pour les opérations de lecture et des instructions AUTHORITY-CHECK pour valider les autorisations avant d'autoriser la modification des données.