[z/OS]

Classes et profils de SAF (System Authorization Facility)

Si vous utilisez RACF (Resource Access Control Facility) ou SAF (System Authorization Facility), vous serez amené à effectuer les opérations suivantes :
  1. Utilisation des rôles pour les beans enterprise, les applications Web et les servlets
  2. Utilisation des profils de classe RACF
    1. Utilisation de CBIND pour accéder aux serveurs et aux objets de ces derniers
    2. Utilisation de SERVER pour accéder aux contrôleurs à l'aide des régions du serveur
    3. Utilisation de STARTED pour associer les ID utilisateur et les groupes aux procédures démarrées
    4. Utilisation de APPL pour limiter l'accès des utilisateurs authentifiés aux applications du serveur
    5. utilisation de FACILITY pour autoriser l'activation de l'option Synchronisation autorisée avec l'unité d'exécution du système et autorisation de mappage des identités réparties aux identités SAF à l'aide des modules de connexion de mappage JAAS.
    6. Utilisation de SURROGAT pour autoriser en option l'activation de l'option Synchronisation autorisée avec l'unité d'exécution du système
  3. Création de plusieurs configurations de sécurité dans un sysplex
  4. Génération d'ID utilisateur et de profils pour un nouveau serveur
  5. Utilisation de profils minimalistes

Rôles pour les applications Enterprise JavaBeans et Web et les servlets

Les rôles sont associés aux applications Java™ EE (Java Platform, Enterprise Edition). Les modules des applications font référence aux rôles à l'aide de la référence de rôle qui pointe vers le rôle des applications. L'accès aux applications Web, aux servlets ou aux méthodes EJB dépend de l'utilisateur ou de l'appelant. Les rôles sont associés à des applications Web, des servlets ou des beans enterprise lors de l'assemblage. Le rôle requis pour utiliser un servlet ou une méthode EJB est nommé dans les descripteurs de déploiement de l'application.

L'affectation des rôles aux utilisateurs et aux groupes est déterminée à l'aide de profils RACF dans la classe EJBROLE (si le mécanisme d'autorisation SAF est sélectionné). Si un utilisateur se trouve dans la liste des accès d'un profil EJBROLE, il possède ce rôle. Si un groupe se trouve dans la liste des accès d'un profil EJBROLE, les utilisateurs de ce groupe possèdent ce rôle. Si le profil EJBROLE dispose d'un accès en LECTURE, tous les utilisateurs possèdent ce rôle.

S'il est spécifié, le préfixe de profil SAF (précédemment appelé domaine de sécurité z/OS) devient un préfixe utilisé par WebSphere Application Server for z/OS et RACF lors de la vérification des profils EJBROLE. Cela fournit une granularité des rôles au niveau du préfixe de profil SAF WebSphere.

Exemple :
Test
Cell has Security Domain=TEST Production Cell has Security Domain=PROD

Par exemple, une application utilisant le rôle Clerk est déployée sur les deux cellules. Sur la cellule de test, les utilisateurs doivent disposer d'un accès en LECTURE au profil EJBROLE TEST.Clerk. Sur la cellule de production, les utilisateurs doivent disposer d'un accès en LECTURE au profil EJBROLE PROD.Clerk.

Les profils suivants sont définis dans la classe EJBROLE de RACF pour l'autorisation administrative : administrateur, configurateur, moniteur, opérateur, déployeur, administrateur du gestionnaire de sécurité et auditeur.

Pour plus d'informations sur la manière dont SAF peut être utilisé pour l'autorisation des rôles Java EE, voir Mécanisme d'autorisation SAF (System Authorization Facility) fondé sur les rôles.

Utilisation des profils RACF

Il est important de comprendre les mécanismes de sécurité utilisés pour protéger les ressources du serveur à l'aide des classes CBIND, SERVER et STARTED de la fonctionnalité RACF (ou d'un autre logiciel de sécurité équivalent). Vous devez également comprendre les techniques de gestion de l'environnement de sécurité.

Les profils RACF qui protègent les ressources WebSphere Application Server for z/OS utilisent les classes suivantes :
  1. CBIND : Cette classe permet d'accéder aux serveurs et aux objets des serveurs
  2. SERVER : Cette classe permet d'accéder aux contrôleurs par régions servantes
  3. STARTED : Cette classe permet d'associer des ID utilisateur et des groupes à des procédures démarrées
  4. APPL: Cette classe permet de limiter l'accès des utilisateurs authentifiés aux applications exécutées sur le serveur
  5. FACILITY : cette classe permet de :
    • associer des ID utilisateur et des groupes à l'option Synchronisation autorisée avec l'unité d'exécution du système
    • contrôler les configurations de sécurité qui sont autorisées à mapper des identités réparties aux identités SAF à l'aide des modules de connexion de mappage JAAS
  6. SURROGAT : cette classe facultative permet d'associer des ID utilisateur et des groupes à l'option Synchronisation autorisée avec l'unité d'exécution du système d'exploitation
Pour plus d'informations, voir Remarque SAF (System Authorization Facility) pour le système d'exploitation et les niveaux d'application.

Des informations de base sur les profils RACF utilisés par WebSphere Application Server for z/OS sont fournies dans l'autorisation SAF. Cette section fournit des détails supplémentaires sur les profils de classe CBIND, SERVER, FACILITY, SURROGAT et STARTED.

ID utilisateur et ID de groupe

Lors de la création d'un profil pour un serveur d'applications, le travail BBOCBRAK génère des commandes RACF. Lors de la création d'un profil pour une cellule, un gestionnaire de déploiement, un gestionnaire de travaux ou un agent d'administration, le nom du travail est BBODBRAJ. Lors de la création d'un profil pour un noeud personnalisé, le nom du travail est BBOMBRAJ. Entrez les informations suivantes :
CR = Région du contrôleur SR = Région serviteur
CFG = Configuration (groupe) server = nom abrégé du serveur cluster = nom (abrégé)
du serveur générique (aussi appelé nom de transition du cluster) 
Six utilisateurs et six groupes, définis comme indiqué ci-dessous, sont illustrés de manière symbolique pour vous permettre de mieux comprendre leur mode d'utilisation dans les différents droits d'accès présentés ultérieurement :
<ID_utilisateur_CR> <ID_groupe_CR>, <ID_groupe_CFG> <ID_utilisateur_SR> <ID_groupe_SR>, <ID_groupe_CFG> <ID_utilisateur_demn> <ID_groupe_demn>, 
<ID_groupe_CFG> <ID_admin> <ID_groupe_CFG> <ID_utilisateur_client> <ID_groupe_client> <ID_utilisateur_ctracewtr> <ID_groupe_ctracewtr> 

Les divers profils utilisés pour protéger les ressources WebSphere Application Server for z/OS, ainsi que les autorisations et les niveaux d'accès, figurent ci-dessous.

Utilisation des profils de classe CBIND

Il existe deux formats et niveaux de profils de classe CBIND pour la protection des accès aux serveurs d'applications et aux objets qu'ils contiennent :
Profils de classe CBIND profiles - accès aux serveurs génériques CB.BIND.<cluster> UACC(READ); PERMIT <groupe_CR> ACC(CONTROL)
Profils de classe CBIND - accès aux objets contenus sur les serveurs
CB.<cluster> UACC(READ) PERMIT <groupe_CR> ACC(CONTROL)
Si vous utilisez “Préfixe de profil SAF”, les profils CBIND sont qualifiés par “profilePrefix” de la manière suivante :
Profils de classe CBIND - accès aux serveurs génériques CB.BIND.<préfixe_profil>.<cluster> UACC(READ) 
Profils de classe CBIND - accès aux objets contenus sur les serveurs
CB.<préfixe_profil>.<cluster> 	UACC(READ) 
Les profils CBIND contrôlent l'accès aux serveurs WebSphere Application Server for z/OS, y compris aux serveurs Web exécutant le plug-in WebSphere Application Server, et aux objets des serveurs, à partir de clients d'application Java et d'autres serveurs WebSphere Application Server. Pour accéder aux serveurs, entrez :
CB.CBIND.<cluster>
CB.CBIND.<préfixe_profil_SAF>.<cluster> 
Pour accéder aux objets des serveurs, entrez :
CB.<cluster> CB.<préfixe_profil_SAF>.<cluster> 

Utilisation des profils de classe SERVER

Il existe actuellement deux formats de profil de classe SERVER pour la protection de l'accès aux contrôleurs du serveur.
SERVER
SERVER – accès aux contrôleurs à l'aide d'environnements d'applications statiques
 CB.<serveur>.<cluster>   	UACC(NONE) PERMIT <ID_utilisateur_SR> ACC(READ)
             Profils de classe SERVER – accès aux contrôleurs à l'aide d'environnements d'applications
statiques CB.<serveur>.<cluster>.<cell> 	UACC(NONE) PERMIT <ID_utilisateur_SR>
ACC(READ) 
Dans l'outil de gestion des profils WebSphere z/OS ou dans la commande zpmt, les deux formats sont prédéfinis, et l'un d'entre eux est requis lors de l'exécution. Le format requis est déterminé de manière dynamique par le module d'exécution de WebSphere Application Server for z/OS en fonction de la disponibilité du support DAE (Dynamic Application Environment). La commande suivante permet d'accéder aux contrôleurs à l'aide d'environnements d'application statiques :
RDEFINE
CB.&<serveur<cluster> UACC(NONE); PERMIT &<ID_utilisateur_SR> ACCESS(READ) 
Dans cet exemple, serveur = nom du serveur, cluster = nom du cluster ou nom de transition du cluster si aucun cluster n'a encore été créé et SR correspond à l'ID utilisateur MVS de la région du serveur.
La commande suivante permet d'accéder aux contrôleurs à l'aide d'une application dynamique :
CB.& <serveur>.&<cluster>.<cellule>
UACC(NONE); PERMIT &<ID_utilisateur_SR> ACC(READ) 
Dans cet exemple, serveur = nom du serveur, cluster = nom du cluster ou nom de transition du cluster si aucun cluster n'a encore été créé, cellule = nom abrégé de la cellule et SR correspond à l'ID utilisateur MVS de la région du serveur.

Les profils de classe SERVER contrôlent si un servant peut appeler des routines autorisées dans le contrôleur associé.

Pour accéder au contrôleur à l'aide d'un environnement d'application statique, entrez :
CB.<serveur>.<cluster>
CB.<préfixe_profil_SAF>.<serveur>.<cluster> 
Pour accéder au contrôleur à l'aide d'un environnement d'application dynamique, entrez :
CB.<serveur>.<cluster>.<cellule>
22 

Utilisation des profils de classe STARTED

Trois formats de profil de classe STARTED sont utilisés pour affecter les ID utilisateur et les ID de groupe aux contrôleurs :
Profils de classe STARTED - (MGCRE) - pour les régions de contrôle, les démons et les agents de noeud
<<proc_CR>.<nom_travail_CR> STDATA(USER(ID_utilisateur_CR) GROUP(ID_groupe_CFG))
<proc_demn>.* STDATA(USER(ID_utilisateur_demn) GROUP(ID_groupe_CFG))

Profils de classe STARTED - (ASCRE) - pour les régions et les auxiliaires serviteurs
<nom_travail_SR>.<nom_travail_SR> STDATA(USER(ID_utilisateur_SR) GROUP(ID_groupe_CFG))

Profils de classe STARTED pour IJP - (MGCRE)
<nom_MQ_s>.* STDATA(USER(ID_utilisateur_IJP) GROUP(ID_groupe_CFG)) - Ces IJP n'existent pas dans WAS 6.1
 
Les profils de classe STARTED sont générés pour affecter des ID utilisateur aux diverses régionsWebSphere Application Server for z/OS. Ces régions incluent :
  • Démon
  • Un gestionnaire de déploiement (contrôleur et servant)
  • Un agent de noeud
  • Serveurs d'applications (contrôleur, serviteur et auxiliaire)
  • Agents d'administration (contrôleur et serviteur)
  • Gestionnaires de travaux (contrôleur et serviteur)

Utilisation des profils de classe APPL

Un profil de classe APPL contrôle si un utilisateur authentifié peut utiliser une application dans la cellule. Si un préfixe de profil SAF est spécifié, le nom du profil de classe APPL correspond au nom du préfixe de profil SAF. Si aucun préfixe de profil SAF n'est spécifié, le nom du profil de classe APPL est CBS390. Reportez-vous à Remarque SAF (System Authorization Facility) pour le système d'exploitation et les niveaux d'application.

Le profil de classe APPL n'est effectif que lorsque la classe APPL est active dans RACF et que l'option d'utilisation du profil APPL est activée dans WebSphere. L'option WebSphere peut être activée ou désactivée depuis la console d'administration en accédant au panneau des options d'autorisation SAF et en cochant la case Utiliser le profil APPL pour restreindre l'accès au serveur. Pour plus d'informations sur ce paramètre, voir Autorisation SAF (System Authorization Facility) z/OS.

Création de plusieurs configurations de sécurité dans une cellule

Il se peut que vous ayez besoin de jeux de profils distincts dans une cellule donnée pour séparer les domaines de sécurité logiques de WebSphere dans votre entreprise (par exemple, utilisateurs de test et utilisateurs de production).

Lors de la personnalisation, vous pouvez définir un préfixe de profil SAF à l'aide de l'outil de gestion des profils z/OS, de la commande zpmt ou du panneau Options d'autorisation SAF de la console d'administration.

Utilisez la console d'administration de WebSphere Application Server for z/OS pour définir un préfixe de profil SAF sous Sécurité > Sécurité globale > Fournisseur d'autorisation externe > Autorisation SAF (System Authorization Facility) > Configurer > Préfixe de profil SAF ; la propriété suivante est créée dans le fichier security.xml.

xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix"
value="<préfixe_profile>"  required="false"/> 
Si un identificateur de préfixe de profil SAF est défini, les définitions et vérifications de profil suivantes sont affectées :
Tableau 1. Vérifications et définitions de profil affectées par la définition de l'identificateur à préfixe du profil SAF.

Ce tableau répertorie les vérifications et définitions de profil affectées par la définition de l'identificateur à préfixe du profil SAF.

Classe Sans préfixe de profil SAF Avec un préfixe de profil SAF
CBIND
  • CB.clustername
  • CB.BIND.clustername
  • CB.<préfixe_profil>.nom_cluster
  • CB.BIND.<préfixe_profil>.nom_cluster
EJBROLE ApplicationRoleName <préfixe_profil>.nom_rôle_application
APPL CBS390 <préfixe_profil>

Génération d'ID utilisateur et de profils pour un nouveau serveur

Si vous souhaitez utiliser des ID utilisateur uniques pour chaque nouveau serveur d'applications, vous devez définir ces utilisateurs, groupes et profils dans la base de données RACF.

Lorsque vous utilisez WebSphere z/OS Profile Management Tool ou la commande zpmt, vous devez éditer une copie de l'ensemble de données partitionnées .DATA cible du travail du membre BBOWBRAK (ou BBODBRAK selon le type de profil) et remplacer les entrées suivantes par les nouveaux utilisateurs et les profils uniques Nom_nouveau_serveur et Nom_nouveau_cluster :
  • Si vous souhaitez utiliser des ID utilisateurs uniques pour les nouveaux serveurs, définissez trois nouveaux utilisateurs et connectez-les aux groupes suivants :
    • <nouvel_ID_utilisateur_CR> <ID_groupe_CR>, <ID_groupe_CFG>
    • <,nouvel_ID_utilisateur_SR> <<ID_groupe_SR>, <ID_groupe_CFG>
    • <nouvel_ID_utlisateur_ADJUNCT> <<ID_groupe_ADJUNCT>, <ID_groupe_CFG>
    • <nouvel_ID_utilisateur_client> <ID_groupe_client>
  • Profils de classe CBIND pour le nouveau cluster (nom abrégé du serveur générique) :
    • CB.BIND.<nouveau_cluster>
    • CB.<nouveau_cluster>
  • Profils de classe SERVER pour le nouveau serveur et cluster :
    • CB.<nouveau_serveur>.<nouveau_cluster>
    • CB.<nouveau_serveur>.<nouveau_cluster>.<cell>
  • Profils de classe STARTED pour le contrôleur du nouveau serveur et les régions du serveur :
    • <proc_CR>.<nouveau_nom_travail_CR> STDATA(USER(nouvel_ID_utiisateur_CR) GROUP(ID_groupe_CFG))
    • <nouveau_nom_travail_SR>.* STDATA(USER(nouvel_ID_utilisateur_SR) GROUP(ID_groupe_CFG))
    • <nouveau_nom_travail_ADJUNCT>.* STDATA(USER(nouvel_ID_utilisateur_ADJUNCT) GROUP(ID_groupe_CFG))

Utilisation des profils de classe FACILITY et SURROGAT (option Synchronisation autorisée avec l'unité d'exécution du système d'exploitation et de l'option d'identité d'unité d'exécution RunAs du gestionnaire de connexion)

Les profils de classe FACILITY et SURROGAT permettent à l'administrateur RACF de contrôler l'utilisation de l'option Synchronisation autorisée avec l'unité d'exécution du système d'exploitation et de l'option d'identité d'unité d'exécution RunAs du gestionnaire de connexion.
Avertissement : Si ces profils ne sont pas définis dans RACF, la synchronisation avec l'unité d'exécution n'est pas autorisée et l'administrateur RACF utilise l'ID du serveur.
  • Profil de classe FACILTY BBO.SYNC.<nom abrégé de cellule>.<nom abrégé de cluster>
    • Si le contrôleur WebSphere n'a pas accès au profil, l'option Synchronisation autorisée avec l'unité d'exécution du système est désactivée.
    • Si le contrôleur WebSphere a un accès de type READ au profil. L'option Synchronisation autorisée avec l'unité d'exécution du système peut être utilisée, mais elle est limitée aux environnements de sécurité qui représentent certains utilisateurs. Le profil de classe SURROGATE a besoin d'être défini.
    • Le contrôleur WebSphere a un accès de type CONTROL au profil. L'option Synchronisation autorisée avec l'unité d'exécution du système peut être utilisée pour créer des environnements de sécurité destinés à représenter un utilisateur quelconque. Le profil de classe SURROGATE n'est pas sélectionné.
  • Profil de classe SURROGAT BBO.SYNC.<ID utilisateur>
    • Si seul le contrôleur WebSphere dispose d'un accès en lecture (READ) au profil de classe FACILITY de BBO.SYNC.<nom abrégé de cellule>.<nom abrégé de cluster> qui autorise l'option Synchronisation autorisée avec l'unité d'exécution du système, la sélection du profil de classe SURROGAT est utilisée pour vérifier que le servant WebSphere est autorisé à établir un environnement de sécurité pour l'utilisateur cible.
    • Les sélections de profil de classe sont cohérentes dans les différents produits dotés de fonctions similaires.
Le format et la syntaxe des profils de classe FACILITY et SURROGAT sont les suivants :
RDEF FACILITY BBO.SYNC.<nom_cellule_abrégé>.<nom_cluster_abrégé> UACC(NONE) 
PE BBO.SYNC.<nom abrégé de cellule>.<nom abrégé de cluster> CLASS(FACILITY)ID(<ID utilisateur CR>) ACC(READ ou CONTROL)
RDEF SURROGAT BBO.SYNC.<ID utilisateur Run-As> UACC(NONE) 
PE BBO.SYNC.<ID_utilisateur_Run-As> CLASS(SURROGAT) ID(<ID_utilisateur_SR>) ACC(READ)
Remarque : Le nom abrégé de cluster est le nom abrégé générique du serveur si aucune mise en cluster n'est définie. De plus, le profil de classe SURROGAT doit être placé dans une table de mémoire (RACLIST) afin d'améliorer les performances des vérifications d'accès.
Si un accès CONTROL est accordé à l'<ID utilisateur CR>, tous les ID utilisateur individuels qui demandent l'option Synchronisation autorisée vers l'unité d'exécution du système peuvent procéder à la synchronisation. Si l'<ID_utilisateur_CR> se voit accorder l'accès READ, tout ID utilisateur individuel qui demande Synchronisation autorisée avec l'unité d'exécution du système doit avoir un profil de classe SURROGAT défini et la région serviteur (SR) doit aussi avoir un accès READ. Supposons qu'un système dispose du nom de cellule abrégé SY1, du nom de cluster abrégé (nom abrégé de serveur génériquee) BBOC001, de ID utilisateur CR CBSYMCR et de l'ID utilisateur SR CBSYMSR et qu'une application s'exécute sous l'ID utilisateur Run-As JavaEEID. Les commandes suivantes peuvent être utilisées pour établir un contrôle Synchronisation autorisée avec l'unité d'exécution du système.
RDEF FACILITY BBO.SYNC.SY1.BBOC001 UACC(NONE) 
PE BBO.SYNC.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ) 
RDEF SURROGAT BBO.SYNC.J2EEID UACC(NONE) 
PE BBO.SYNC.J2EEID CLASS(SURROGAT) ID(CBSYMSR) ACC(READ)

Utilisation des profils de classe FACILITY (activation des applications accréditées)

Le profil de classe FACILITY permet à l'administrateur RACF de contrôler l'activation des applications sécurisées. Pour activer les applications sécurisées, vous devez définir le profil de classe FACILITY suivant et octroyer à l'ID utilisateur des droits accès en LECTURE à la région du contrôleur.
RDEF FACILITY BBO.TRUSTEDAPPS.<nom
abrégé de cellule>.<nom abrégé de cluster> UACC NONE PE
BBO.TRUSTEDAPPS.<nom abrégé de cellule>.<nom
abrégé de cluster> CLASS(FACILITY) ID(ID utilisateur CR) ACC(READ)
L'exemple général ci-après peut être utilisé pour tous les serveurs :
RDEFINE FACILITY BBO.TRUSTEDAPPS.mycell01.**UACC(NONE)
PERMIT BBO.TRUSTEDAPPS.mycell01.**  CLASS(FACILITY) ID(MYCBGROUP) ACCESS(READ)
SETROPTS RACLIST(FACILITY) REFRESH
L'exemple suivant concerne un serveur spécifique, c'est-à-dire un système dont le nom de cellule abrégé est SY1, dont le nom de cluster abrégé est BBOC001 (nom abrégé du serveur générique) et dont l'ID utilisateur de la région de contrôleur est CBSYMCR :
RDEF FACILITY BBO.TRUSTEDAPPS.SY1.BBOC001 UACC
NONE PE BBO.TRUSTEDAPPS.SY1.BBOC001 CLASS(FACILITY) ID(CBSYMCR) ACC(READ)

Utilisation de profils minimalistes

Pour réduire le nombre d'utilisateurs, de groupes et de profils dans l'ensemble de données RACF, vous pouvez utiliser un ID utilisateur, un ID de groupe et des profils très génériques capables de couvrir plusieurs serveurs installés dans la même cellule. Cette technique peut également être utilisée avec les configurations de fournisseur Integral Java Message Service et WebSphere Application Server, Network Deployment.

L'utilisation de profils minimalistes permet d'avoir moins de :
  • Définitions de profil à créer
  • Certificats numériques à prendre en compte pour les communications SSL (Secure Sockets Layer) entre processus
Par contre, vous devez surveiller les applications de plus près car si plusieurs serveurs sont exécutés avec les mêmes ID utilisateur ou groupes, une application peut provoquer des incidents sur un serveur et éventuellement corrompre la configuration de son propre serveur (par exemple, en désactivant la sécurité) et des autres serveurs.

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_safclasses
Nom du fichier : csec_safclasses.html