[z/OS]

Classes et profils de SAF (System Authorization Facility)

Lorsque vous utilisez Resource Access Control Facility ( RACF® ) ou System Authorization Facility (SAF), vous devez prendre en compte :
  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 l'entreprise JavaBeans et applications Web et servlets

Les rôles sont associés à Java™ Platform, Enterprise Edition ( Java EE ) applications. 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.

Le préfixe du profil SAF (anciennement appelé z/OS® domaine de sécurité), s'il est spécifié, devient un préfixe utilisé par WebSphere® Application Server pour z/OS et RACF lors de la vérification des profils EJBROLE. Cela fournit WebSphere Granularité des rôles au niveau du préfixe du profil SAF.

Par 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 le RACF Classe EJBROLE pour l'autorisation administrative : administrateur, configurateur, moniteur, opérateur, déployeur, adminsecuritymanager et auditeur.

Faire référence à Fonction d'autorisation système pour une autorisation basée sur les rôles pour plus d'informations sur la façon dont SAF peut être utilisé pour Java EE autorisation de rôle basée sur .

En utilisant le RACF profils

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é.

Le RACF profils qui protègent le WebSphere Application Server pour z/OS les ressources 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
Faire référence à Considérations relatives à l'installation d'autorisation système pour les niveaux du système d'exploitation et des applications pour plus d'informations.

Informations de base sur le RACF profils utilisés par WebSphere Application Server pour z/OS peuvent être trouvés dans l’autorisation basée sur 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, leBBOCBRAK le travail génère le RACF commandes. 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 = Controller Region SR = Servant
Region CFG = Configuration (group) server = server short name cluster = generic
server (short) name (also called cluster transition name) 
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 :
<CR_userid> <CR_groupid>, <CFG_groupid> <SR_userid> <SR_groupid>, <CFG_groupid> <demn_userid> <demn_groupid>, 
<CFG_groupid> <admin_userid> <CFG_groupid> <client_userid> <client_groupid> <ctracewtr_userid> <ctracewtr_groupid> 

Voici les différents profils utilisés pour protéger le WebSphere Application Server pour z/OS ressources, ainsi que les autorisations et les niveaux d’accès.

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 :
CBIND Class profiles - access to generic servers CB.BIND.<cluster> UACC(READ); PERMIT <CR_group> ACC(CONTROL)
CBIND Class profiles - access to objects in servers
CB.<cluster> UACC(READ) PERMIT <CR_group> ACC(CONTROL)
Si vous utilisez le préfixe de profil SAF, les profils CBIND sont qualifiés par le préfixe de profil, profilPréfixe, comme suit:
CBIND Class profiles - access to generic servers CB.BIND.<profilePrefix>.<cluster> UACC(READ) 
CBIND Class profiles - access to objects in servers
CB.<profilePrefix>.<cluster> 	UACC(READ) 
Les profils CBIND contrôlent l’accès à WebSphere Application Server pour z/OS serveurs, y compris les serveurs Web exécutant le WebSphere Application Server plug-in et aux objets des serveurs, des clients d'application Java et d'autres WebSphere Application Server les serveurs. Pour accéder aux serveurs, entrez :
CB.CBIND.<cluster>
CB.CBIND.<SAF profile prefix>.<cluster> 
Pour accéder aux objets des serveurs, entrez :
CB.<cluster> CB.<SAF profile prefix>.<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
class profiles – access to controllers using static Application Environments
 CB.<server>.<cluster>   	UACC(NONE) PERMIT <SR_userid> ACC(READ)
             SERVER class profiles – access to controllers using dynamic Application
Environments  CB.<server>.<cluster>.<cell> 	UACC(NONE) PERMIT <SR_userid>
ACC(READ) 
En utilisant le WebSphere z/OS Outil de gestion de profil ou lezpmt , les deux formats sont prédéfinis et l'un d'eux est réellement requis au moment de l'exécution. Le format requis est déterminé dynamiquement par le WebSphere Application Server pour z/OS Runtime basé sur la disponibilité de la prise en charge de Dynamic Application Environment (DAE). La commande suivante permet d'accéder aux contrôleurs à l'aide d'environnements d'application statiques :
RDEFINE
CB.&<server<cluster> UACC(NONE); PERMIT &<SR_userid> ACCESS(READ) 
Dans cet exemple, serveur = nom du serveur, cluster = nom du cluster ou nom de transition du cluster si aucun cluster n'a été encore créé et SR correspond à l'ID utilisateur MVS de la région serviteur.
La commande suivante permet d'accéder aux contrôleurs à l'aide d'une application dynamique :
CB.& <server>.&<cluster>.<cell>
UACC(NONE); PERMIT &<SR_userid> ACC(READ) 
Dans cet exemple, serveur = nom du serveur, cluster = nom du cluster ou nom de transition du cluster si aucun cluster n'a été encore créé, cellule = nom abrégé de la cellule et SR correspond à l'ID utilisateur MVS de la région serviteur.

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.<server>.<cluster>
CB.<SAF profile prefix>.<server>.<cluster> 
Pour accéder au contrôleur à l'aide d'un environnement d'application dynamique, entrez :
CB.<server>.<cluster>.<cell>
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 :
STARTED Class profiles - (MGCRE) - for control regions, daemons, and Node agents
<<CR_proc>.<CR_jobname> STDATA(USER(CR_userid) GROUP(CFG_groupid))
<demn_proc>.* STDATA(USER(demn_userid) GROUP(CFG_groupid))

STARTED Class profiles - (ASCRE) - for servant regions and adjuncts
<SR_jobname>.<SR_jobname> STDATA(USER(SR_userid) GROUP(CFG_groupid))

STARTED Class profiles for IJP - (MGCRE)
<MQ_ssname>.* STDATA(USER(IJP_userid) GROUP(CFG_groupid)) - These IJPs don't exist in WAS 6.1
 
Les profils de classe STARTED sont générés pour attribuer des ID utilisateur aux différents WebSphere Application Server pour z/OS Régions. Ces régions incluent :
  • Démon
  • Un gestionnaire de déploiement (contrôleur et servant)
  • 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. Faire référence à Considérations relatives à l'installation d'autorisation système pour les niveaux du système d'exploitation et des applications.

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, lisez z/OS Autorisation du système Autorisation de l'installation.

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

Vous pourriez avoir besoin d'ensembles distincts de profils au sein d'une cellule donnée pour séparer les données logiques. WebSphere domaines de sécurité de votre entreprise (par exemple, utilisateurs de test et de production).

Vous pouvez définir un préfixe de profil SAF lors de la personnalisation à l'aide de l'outil z/OS Outil de gestion de profil, le zpmt ou le panneau d'options d'autorisation SAF dans la console d'administration.

Utilisez leWebSphere Application Server pourz/OS console d'administration pour définir un préfixe de profil SAF sous Sécurité > Sécurité mondiale > Fournisseur d'autorisation externe > Autorisation du système d'autorisation du système (SAF) > Configurer > Préfixe du profil SAF , ce qui crée la propriété suivante dans lesecurity.xml déposer.

xmi:id="Property_47" name="com.ibm.security.SAF.profilePrefix"
value="<profile_prefix>"  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. Les définitions et vérifications de profil sont affectées lorsque l'identifiant de préfixe de profil SAF est défini. .

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 <profilePrefix>.ApplicationRoleName
APPL CBS390 <profilePrefix>

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.

Grâce à l'utilisation du WebSphere z/OS Outil de gestion de profil ou lezpmt commande, vous devez modifier une copie de l'ensemble de données partitionné .DATA cible du membre BBOWBRAK (ou BBODBRAK selon le type de profil), et remplacer les entrées suivantes par les nouveaux utilisateurs, groupes, nom unique du nouveau serveur et nom du nouveau cluster. profils :
  • 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 donnent le RACF contrôle de l'administrateur sur l'utilisation de Synch to OS Thread Allowed et de l'option d'identité de thread Run-As du gestionnaire de connexions.
Attention: Si ces profils ne sont pas définis dans RACF, La synchronisation avec le fil de discussion ne sera pas autorisée et le RACF L'administrateur utilisera l'ID du serveur.
  • Profil de classe INSTALLATIONBBO.SYNC.<cell short name>.<cluster short name>
    • 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 la WebSphere le contrôleur a un accès en lecture 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 CONTROLE 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 SURROGATBBO.SYNC.<user ID>
    • Si la WebSphere Le contrôleur a uniquement un accès en LECTURE au profil de classe FACILITY deBBO.SYNC.<cell short name>.<cluster short name> qui active la synchronisation avec le thread du système d'exploitation autorisé, la vérification du profil de classe SURROGAT est utilisée pour vérifier que le WebSphere Le serviteur 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.<cell short name>.<cluster short name> UACC(NONE) 
PE BBO.SYNC.<cell short name>.<cluster short name> CLASS(FACILITY)ID(<CR user ID>) ACC(READ or CONTROL)
RDEF SURROGAT BBO.SYNC.<Run-As user ID> UACC(NONE) 
PE BBO.SYNC.<Run-As user ID> CLASS(SURROGAT) ID(<SR user ID>) ACC(READ)
Note: Le nom abrégé du cluster est le nom abrégé générique du serveur si aucun clustering n'est défini. 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 la<CR user ID> est donnéCONTROL accès, tous les ID utilisateur individuels qui demandent la synchronisation avec le thread du système d'exploitation autorisé sont autorisés à se synchroniser. Si la<CR user ID> est donnéREAD accès, alors tous les ID utilisateur individuels qui demandent la synchronisation avec le thread du système d'exploitation autorisé doivent avoir un profil de classe SURROGAT défini, et la région serviteur (SR) doit également avoirREAD accéder. Par exemple, supposons un système avec le nom abrégé de la cellule : SY1, un nom court de cluster (le nom court générique du serveur) de BBOC001,CR user ID de CBSYMCR,SR user ID de CBSYMSR, et une application fonctionnant sousRun-As user ID de 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 application sécurisées. Pour activer les applications approuvées, vous devez définir le profil de classe FACILITY suivant et donner l'ID utilisateur de la région du contrôleurREAD y accéder.
RDEF FACILITY BBO.TRUSTEDAPPS.<cell
short name>.<cluster short name> UACC NONE PE
BBO.TRUSTEDAPPS.<cell short name>.<cluster
short name> CLASS(FACILITY) ID(CR userid) 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 le fournisseur Integral Java Message Service et WebSphere Application Server Network Deployment configurations.

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.