Utilisez un fichier descripteur XML de sécurité pour configurer une topologie de déploiement eXtreme Scale avec la sécurité activée. Vous pouvez utiliser les éléments de ce fichier pour configurer différents aspects de la sécurité.
Elément securityConfig
L'élément securityConfig est l'élément de premier niveau du fichier XML de sécurité ObjectGrid. Cet élément définit l'espace de noms du fichier et l'emplacement du schéma.
Le schéma est défini dans le fichier
objectGridSecurity.xsd.
- Nombre d'occurrences : une
- éléments enfants : security
Elément security
Utilisez l'élément security pour définir une sécurité ObjectGrid.
- Nombre d'occurrences : une
- éléments enfants : authenticator, adminAuthorization et systemCredentialGenerator
Attributs- securityEnabled
- Si la valeur est true, active la sécurité pour la grille. La valeur par défaut est false. Si la valeur est false, la sécurité est désactivée sur l'ensemble de la grille.
Pour plus d'informations, voir
Sécurité de grille de données.
(facultatif).
- singleSignOnEnabled
- Permet à un client de se connecter à n'importe quel serveur après qu'il s'est authentifié sur l'un des serveurs lorsque la valeur est true.
Dans le cas contraire, le client doit s'authentifier sur chaque serveur pour pouvoir se connecter. La valeur par défaut est false. (facultatif).
- loginSessionExpirationTime
- Indique la durée, en secondes, avant que la session de connexion expire. Si la session de connexion expire, le client doit s'authentifier à nouveau. (facultatif).
- adminAuthorizationEnabled
- Active l'autorisation administrative. Si la valeur est true, toutes les tâches administratives requièrent une autorisation. Le mécanisme d'autorisation utilisé est spécifié par la valeur de l'attribut adminAuthorizationMechanism.
La valeur par défaut est false. (facultatif).
- adminAuthorizationMechanism
- Indique le mécanisme d'autorisation à utiliser. WebSphere eXtreme Scale prend en charge deux mécanismes d'autorisation, le service JAAS (Java Authentication
and Authorization Service) et l'autorisation personnalisée. Le mécanisme d'autorisation JAAS
utilise l'approche basée sur la stratégie JAAS.
Pour définir JAAS en tant que mécanisme d'autorisation, définissez la valeur sur AUTHORIZATION_MECHANISM_JAAS.
Le mécanisme d'autorisation personnalisée fait appel à une implémentation AdminAuthorization connectée par l'utilisateur. Pour activer le mécanisme d'autorisation personnalisé, définissez la valeur sur AUTHORIZATION_MECHANISM_CUSTOM. Pour plus d'informations sur la façon dont ces deux mécanismes sont utilisés, voir Autorisation du client d'application. (Facultatif).
Le fichier security.xml suivant est un exemple de configuration permettant d'activer la sécurité de la grille de données.
security.xml
<?xml version="1.0" encoding="UTF-8"?>
<securityConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config/security ../objectGridSecurity.xsd"
xmlns="http://ibm.com/ws/objectgrid/config/security">
<security securityEnabled="true" singleSignOnEnabled="true"
loginSessionExpirationTime="20"
adminAuthorizationEnabled="true"
adminAuthorizationMechanism="AUTHORIZATION_MECHANISM_JAAS" >
<authenticator className ="com.ibm.websphere.objectgrid.security.plugins.
builtins.WSTokenAuthenticator">
</authenticator>
<systemCredentialGenerator className ="com.ibm.websphere.objectgrid.security.
plugins.builtins.WSTokenCredentialGenerator">
<property name="properties" type="java.lang.String" value="runAs"
description="Using runAs subject" />
</systemCredentialGenerator>
</security>
</securityConfig>
Elément Authenticator
Authentifie les clients sur les serveurs eXtreme Scale dans la grille de données. La classe qui est spécifiée par l'attribut className doit implémenter l'interface
com.ibm.websphere.objectgrid.security.plugins.Authenticator.
L'authentificateur peut utiliser les propriétés pour appeler des méthodes sur la classe spécifiée par l'attribut className. Reportez-vous à la section sur l'élément property pour en savoir plus sur l'utilisation des propriétés.
Dans l'exemple de fichier security.xml précédent, la classe com.ibm.websphere.objectgrid.security.plugins.builtins.WSTokenAuthenticator est définie comme authentificateur. Cette classe implémente l'interface com.ibm.websphere.objectgrid.security.plugins.Authenticator.
- nombre d'occurrences : zéro ou une
- élément enfant : property
Attributs- className
- Définit une classe qui implémente l'interface com.ibm.websphere.objectgrid.security.plugins.Authenticator.
Utilisez cette classe pour authentifier les clients sur les serveurs dans la grille eXtreme Scale.
(Requis)
Elément adminAuthorization
Utilisez l'élément adminAuthorization pour configurer un accès administratif à la grille de données.
- nombre d'occurrences : zéro ou une
- élément enfant : property
Attributs- className
- Définit une classe qui implémente l'interface com.ibm.websphere.objectgrid.security.plugins.AdminAuthorization.
(Requis)
Elément systemCredentialGenerator
Utilisez un élément systemCredentialGenerator
pour configurer un générateur de données d'identification système. Cet élément s'applique uniquement à un environnement dynamique. Dans le modèle de configuration dynamique, le serveur de conteneur dynamique se connecte au serveur de catalogue en tant que client
eXtreme Scale
et le serveur de catalogue peut se connecter au serveur de conteneur eXtreme Scale en tant que client également. Le générateur de données d'identification système représente une fabrique pour les données d'identification système.
- nombre d'occurrences : zéro ou une
- élément enfant : property
Attributs- className
- Spécifie une classe qui implémente l'interface com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator. (Requis)
Voir l'exemple de fichier security.xml précédent pour savoir comment utiliser une classe systemCredentialGenerator.
Dans cet exemple, le générateur de données d'identification système est com.ibm.websphere.objectgrid.security.plugins.builtins.WSTokenCredentialGenerator qui extrait l'objet RunAs Subject à partir de l'unité d'exécution.
Elément property
Appelle des méthodes
set sur l'authentificateur et les classes
adminAuthorization.
Le nom de la propriété correspond à une méthode set dans l'attribut
className de l'élément authenticator ou adminAuthorization.
- nombre d'occurrences : zéro ou plus
- élément enfant : property
Attributs- name
- Indique le nom de la propriété. La valeur affectée à cet attribut doit correspondre à une méthode set dans la classe fournie comme attribut className dans le bean conteneur. Par exemple, si l'attribut className du bean est défini sur com.ibm.MyPlugin,
et si le nom de la propriété fournie est size, alors la classe com.ibm.MyPlugin
doit avoir une méthode setSize. (Requis)
- type
- Indique le type de la propriété. Le type du paramètre est transmis à la méthode set identifiée par l'attribut name.
Les valeurs valides sont les primitives Java et leur équivalent java.lang, java.lang.String. Les attributs name et type
doivent correspondre à une signature de méthode sur l'attribut className
du bean. Par exemple, si le nom est size et le type est int, alors une méthode setSize(int) doit exister sur la classe définie en tant qu'attribut className pour le bean. (Requis)
- value
- Indique la valeur de propriété. La valeur est convertie dans le type défini par l'attribut de type et utilisée comme paramètre dans l'appel à la méthode set identifiée par les attributs name et type. La valeur de cet attribut n'est pas validée du tout. L'implémenteur du plug-in doit vérifier que la valeur transmise est valide. (Requis)
- description
- Décrit la propriété. (Facultatif).
Pour plus d'informations, voir Fichier objectGridSecurity.xsd.