# Resource Access Control Facility

Resource Access Control Facility est un composant de l’OS/390. RACF est un programme de sécurité qui contrôle toutes les opérations effectuées sur le système d’exploitation. Ce programme a été conçu à l'origine en septembre 1976.
Il est utilisé pour :
* protéger les ressources d’un utilisateur,
* protéger les autres ressources en contrôlant leur accès.
RACF assure la sécurité du système d'exploitation par :
* l'identification et la vérification de l'utilisateur,
* l'autorisation de l'utilisateur à accéder aux ressources protégées,
* l'enregistrement et le compte-rendu des accès effectués.

## Identification et vérification des utilisateurs

Lors de la définition initiale dans RACF, l’administrateur sécurité assigne à l’utilisateur un nom d'utilisateur unique, et un mot de passe temporaire. Ce « userid » permet d’entrer dans le système une première fois. Dès la demande d’entrée effectuée, RACF requiert un changement du mot de passe temporaire, car créé avec un statut expiré.
L’administrateur de la sécurité établit les règles de validité du mot de passe, telles que longueur minimale, présence de caractères alphabétiques et numériques, expiration au bout d’un certain délai, ...

## Autorisation des utilisateurs à accéder aux ressources protégées

RACF contrôle ce qui se fait sur le système par la définition de profils utilisateur et de groupes. Un groupe est un ensemble de personnes qui ont des prérequis et des besoins communs. RACF permet la définition des autorisations d’un user ou du groupe auquel il est rattaché. Ainsi certains users auront un large éventail d’autorisations alors que d’autres n’auront que des droits limités, droits déduits des fonctions occupées et du travail requis.
RACF protège les ressources du système. Une ressource est une information de l’entreprise stockée sur le système, telle qu’un fichier par exemple.
RACF stocke dans un profil les informations sur l'utilisateur, le groupe et la ressource. Un profil est un enregistrement de la base RACF défini par l’administrateur sécurité. Il existe un profil :
* de type utilisateur,
* de type groupe,
* de type ressource.
RACF autorise l’accès à certaines ressources en exploitant les données de ces profils. Il s’appuie sur :
* les attributs de l'utilisateur,
** le profil de l'utilisateur fournit à l’utilisateur des attributs qui décrivent au niveau du système et au niveau du groupe les privilèges d’accès de l’utilisateur aux ressources protégées,
* les autorisations du groupe,
** le profil du groupe décrit le genre d’autorisation dont dispose l’utilisateur pour accéder aux ressources du groupe auquel il est rattaché,
* les permissions des ressources,
** le profil de la ressource décrit le genre d’autorisation nécessaire pour pouvoir l’utiliser,
pour contrôler l’utilisation du système.
L’administrateur sécurité gère les informations stockées dans tous les profils user, groupes et ressources. L’utilisateur final peut gérer les informations des profils de ses propres ressources, telles qu’un fichier par exemple.
Le profil d’une ressource peut consister :
* en une liste d’accès explicites : autorisation d’accès spécifiques à un user, un groupe,
* en un accès par défaut à un niveau de protection : appliqué à tout user ou groupe possédant le niveau d’autorisation requis, à l’exception de ceux cités dans la liste d’accès.
L’utilisateur final peut spécifier dans la liste d’accès de sa ressource un user donné et quelle autorisation d’accès il lui donnera, mais il ne peut modifier le profil de son user ou de son groupe, qui est exclusivement géré par l’administrateur sécurité. RACF permet ainsi la délégation d’autorité pour certaines fonctions de sécurité. Un utilisateur pourra lister ses autorisations d’accès, protéger ses ressources ou leur donner un accès particulier pour certains utilisateurs.

## Enregistrement et compte rendu des accès effectués

Outre les fonctions d’identification unique et d’autorisation, RACF peut enregistrer les opérations effectuées sur le système par les utilisateurs. Il conserve la trace des évènements survenus afin de permettre à l'administrateur de sécurité de procéder à tout moment au contrôle de qui fait quoi. Il rend également compte des actions non autorisées et de leur auteur. Il signalera, par exemple, un essai sans autorisation d’utiliser ou de modifier les données d’un utilisateur.