PASSWORD IS |
Mot de passe est |
|---|---|
| Cobol | |
Syntaxe
|
FILE-CONTROL. ((SELECT [OPTIONAL] filename ASSIGN TO [label][S] AS JCLvariable) [RESERVE integer AREAS] | ORGANIZATION IS [SEQUENTIAL]/RELATIVE/INDEXED | | ACCESS MODE IS [SEQUENTIAL]/RANDOM/DYNAMIC | |RELATIVE/RECORD KEY alphanumericdatafiled| [ALTERNATIVE RECORD KEY alphanumericrecordfield [WITH DUPLICATES] [PASSWORD IS literaldataname] [FILE STATUS IS alphanumericdataitem, groupdataitem] |
Paramètres
| Nom | Description |
|---|---|
| filename | Ce paramètre permet d'indiquer le nom logique du fichier tel qu'il sera utilisé dans le programme COBOL. |
| label | Ce paramètre permet d'identifier l'étiquette du fichier physique ou logique, souvent utilisée dans l'environnement d'exécution pour lier le fichier. |
| JCLvariable | Ce paramètre permet de spécifier une variable utilisée dans le système JCL pour associer dynamiquement un fichier au moment de l'exécution. |
| integer | Ce paramètre permet d'indiquer un nombre entier précisant le nombre de zones mémoire (AREAS) à réserver pour un fichier. |
| alphanumericdatafiled | Ce paramètre permet d'indiquer une donnée alphanumérique utilisée comme clé principale pour accéder aux enregistrements d'un fichier relatif ou indexé. |
| alphanumericrecordfield | Ce paramètre permet de définir une clé de substitution pour accéder à un enregistrement, en complément ou en alternative à la clé principale. |
| alphanumericdataitem | Ce paramètre permet d'indiquer un champ alphanumérique destiné à recevoir le code de statut d'un fichier à l'ouverture, lecture, écriture ou fermeture. |
| groupdataitem | Ce paramètre permet d'indiquer une variable structurée (groupe de données) pouvant recevoir plusieurs valeurs de statut associées au fichier. |
| literaldataname | Ce paramètre permet d'indiquer la valeur littérale ou la donnée contenant le mot de passe requis pour accéder à un fichier. Il s'agit généralement d'une constante alphanumérique ou d'un nom de variable COBOL contenant le mot de passe. |
Description
Cette instruction permet d'indiquer le mot de passe d'un fichier dans une instruction de clause «SELECT».
Remarques
- L'instruction PASSWORD IS permet de protéger l'accès à un fichier en exigeant un mot de passe lors de l'exécution : C'est une fonctionnalité rarement utilisée aujourd'hui, mais historiquement importante pour le contrôle des accès dans les applications sensibles. Elle permettait d'implémenter une forme rudimentaire de sécurité directement dans la configuration des fichiers du programme.
- Le mot de passe peut être spécifié soit comme une valeur littérale directement écrite dans le code COBOL, soit comme une variable (littérale ou référence à une donnée): Cela permet une certaine flexibilité dans la gestion des mots de passe, y compris leur lecture à l'exécution. Cependant, stocker un mot de passe en clair dans le source est déconseillé pour des raisons évidentes de sécurité.
- L'instruction PASSWORD IS s'emploie uniquement dans la clause SELECT à l'intérieur de la section FILE-CONTROL de la division ENVIRONMENT : Elle ne peut pas être utilisée en dehors de ce contexte et ne s'applique qu'aux fichiers protégés. Si le fichier ciblé n'a pas besoin de mot de passe, cette clause est simplement ignorée.
- Tous les types d'organisation de fichiers ne prennent pas nécessairement en charge la clause PASSWORD IS : Par exemple, certains compilateurs COBOL ne la reconnaîtront que pour des fichiers INDEXED. Il est donc important de consulter la documentation du compilateur utilisé pour s'assurer de la compatibilité.
- Lorsque le mot de passe fourni dans le SELECT ne correspond pas à celui requis par le fichier, le programme lève une erreur à l'ouverture du fichier : Cette erreur peut être capturée via la clause FILE STATUS IS, qui doit être prévue à cet effet. Cela permet de programmer une gestion d'erreur ou un mécanisme de réauthentification.
- L'usage de la clause PASSWORD IS repose sur l'idée que le système d'exploitation ou le gestionnaire de fichiers COBOL reconnaît et applique cette restriction. Ce n'est pas toujours garanti, surtout dans les systèmes modernes où la sécurité est gérée en dehors du programme (système de fichiers, base de données,...). Dans certains environnements, cette clause peut donc être ignorée ou désactivée.
- La présence d'un mot de passe dans la clause PASSWORD IS n'empêche pas l'utilisateur d'accéder physiquement au fichier, elle ne protège que l'accès via le programme COBOL : Cela signifie que des outils externes pourraient toujours accéder au contenu si aucune autre mesure de sécurité n'est en place. Il s'agit donc d'un contrôle d'accès logique, non d'un véritable chiffrement.
- La clause PASSWORD IS peut être utile dans des scénarios d'utilisation multi-utilisateurs où plusieurs programmes ou utilisateurs ont accès à différents niveaux du fichier : Par exemple, un mot de passe pourrait permettre l'accès en lecture seule pour certains utilisateurs, et un autre permettre l'accès complet. Toutefois, cette gestion fine des droits suppose une architecture COBOL complexe et cohérente avec le système d'exploitation sous-jacent.
Voir également
Informatique - Sécurité - Les mots de passe
Dernière mise à jour : Jeudi, le 28 juillet 2011