API de sécurité

WebSphere eXtreme Scale adopte une architecture de sécurité ouverte. Elle offre une infrastructure de sécurité de base pour l'authentification, l'autorisation et la sécurité du transport et requiert que les utilisateurs implémentent des plug-in pour compléter l'infrastructure de sécurité.

La représentation ci-après illustre le flux de base de l'authentification et de l'autorisation d'un client pour un serveur eXtreme Scale.

Figure 1. Flux d'authentification et d'autorisation du client
1. Données d'identification client provenant du générateur de données d'identification 2. Données d'identification générées envoyées à l'environnement d'exécution du serveur. 3. Envoi des données d'identification à l'authentificateur 4. Les données d'identification sont envoyées à l'authentificateur 5. Les données d'identification sont envoyées aux droits d'accès de l'utilisateur. 6. L'authentification est envoyée à l'environnement d'exécution du serveur 7. L'environnement d'exécution envoie le sujet et les droits à l'autorisation ObjectGrid. 8. L'autorisation ObjectGrid envoie le sujet et les droits au service d'autorisation

Le flux d'authentification et le flux d'autorisation se présentent comme ci-après.

Flux d'authentification

  1. Le flux d'authentification commence par l'obtention de données d'identification par un client eXtreme Scale. Cette opération est effectuée par le plug-in com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator.
  2. Un objet CredentialGenerator sait comment générer des données d'identification client valides (par exemple, une paire d'ID utilisateur/mot de passe, un ticket Kerberos, etc.). Ces données d'identification générées sont renvoyées au client.
  3. Une fois que le client a extrait l'objet Credential à l'aide de l'objet CredentialGenerator, cet objet Credential est envoyé avec la demande eXtreme Scale au serveur eXtreme Scale.
  4. Le serveur eXtreme Scale authentifie l'objet Credential avant de traiter la demande eXtreme Scale. Le serveur utilise ensuite le plug-in Authentificateur pour authentifier l'objet Credential.
  5. Le plug-in Authentificateur représente une interface avec le registre d'utilisateurs. Par exemple, un serveur LDAP (Lightweight Directory Access Protocol) ou un registre d'utilisateurs de système d'exploitation. L'authentificateur consulte le registre d'utilisateurs et prend les décisions d'authentification.
  6. Si l'authentification aboutit, un objet de sujet est renvoyé pour représenter ce client.

    Flux d'autorisation

    WebSphere eXtreme Scale adopte un mécanisme d'autorisation basé sur les droits d'accès et possède plusieurs catégories de droits d'accès représentées par différentes classes de droits d'accès. Par exemple, un objet com.ibm.websphere.objectgrid.security.MapPermission représente les droits de lecture, d'écriture, d'insertion, d'invalidation et de suppression des entrées de données d'une mappe d'objet. WebSphere eXtreme Scale prenant en charge l'autorisation JAAS (Java Authentication and Authorization Service) prête à l'emploi, vous pouvez utiliser JAAS pour gérer les autorisations en fournissant des politiques d'autorisation.

    En outre, eXtreme Scale prend en charge les autorisations personnalisées. Les autorisations personnalisées sont intégrées par le plug-in com.ibm.websphere.objectgrid.security.plugins.ObjectGridAuthorization. Le flux d'autorisation du client est le suivant :

  7. L'environnement d'exécution du serveur envoie l'objet de sujet et les droits requis au plug-in d'autorisation.
  8. Le plug-in d'autorisation consulte le service d'autorisation et prend une décision d'autorisation. Si les droits sont octroyés à cet objet de sujet, la valeur true est renvoyée ; sinon, la valeur false est renvoyée.
  9. Cette décision d'autorisation, true ou false, est renvoyée à l'environnement d'exécution du serveur.

Implémentation de la sécurité

Les rubriques de cette section expliquent comment programmer un déploiement sécurisé de WebSphere eXtreme Scale et les implémentations des plug-in. La section est organisée en fonction des diverses fonctions de sécurité. Dans chaque sous-rubrique, vous découvrirez les plug-in appropriés et la manière de les implémenter. Dans la section d'authentification, vous apprendrez à vous connecter à un environnement de déploiement WebSphere eXtreme Scale sécurisé.

Authentification du client : La rubrique sur l'authentification du client décrit comment un client WebSphere eXtreme Scale obtient des données d'identification et comment un serveur authentifie le client. Elle explique également comment un client WebSphere eXtreme Scale se connecte à un serveur WebSphere eXtreme Scale sécurisé.

Autorisation : La rubrique relative à l'autorisation explique comment utiliser ObjectGridAuthorization pour procéder à l'autorisation des clients en plus de l'autorisation JAAS.

Authentification de grille de données : la rubrique Authentification de grille de données explique comment vous pouvez utiliser SecureTokenManager pour transporter de manière sécurisée les valeurs serveur secrètes.

Programmation JMX (Java Management Extensions) : Si le serveur WebSphere eXtreme Scale est sécurisé, le client JMX risque de devoir envoyer des données d'identification JMX au serveur.