API de Segurança

O WebSphere eXtreme Scale adota uma arquitetura de segurança aberta. Ela fornece uma estrutura de segurança básica para autenticação, autorização e segurança de transporte e requer que os usuários implementem plug-ins para completar a infraestrutura de segurança.

A seguinte imagem mostra o fluxo básico de autenticação e autorização do cliente para um servidor eXtreme Scale.

Figura 1. Fluxo de Autenticação e Autorização do Cliente
1. Cliente solicitando credencial a partir do gerador de credencial 2. Credencial gerada enviada para tempo de execução do servidor. 3. Envio de credencial para o autenticador 4. A credencial é enviada para o autenticador 5. A credencial é enviada para a autoridade do usuário. 6. A autenticação é enviada para o tempo de execução do servidor 7. O tempo de execução envia o assunto e a permissão para a autorização ObjectGrid. 8. A autorização do ObjectGrid envia o assunto e a permissão para o serviço de autorização

O fluxo de autenticação e o fluxo de autorização são os seguintes.

Fluxo de Autenticação

  1. O fluxo de autenticação inicia com um cliente eXtreme Scale obtendo uma credencial. Isso é feito pelo plug-in com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator.
  2. Um objeto CredentialGenerator sabe como gerar uma credencial de cliente válida, por exemplo, um par de ID de usuário e senha, ticket Kerberos, e assim por diante. Essa credencial gerada é enviada de volta para o cliente.
  3. Depois que o cliente recuperar o objeto Credential usando o objeto CredentialGenerator, esse objeto Credential será enviado junto com o pedido eXtreme Scale para o servidor eXtreme Scale.
  4. O servidor eXtreme Scale autentica o objeto Credential antes de processar o pedido do eXtreme Scale. Em seguida, o servidor utiliza o plug-in do Autenticador para autenticar o objeto Credential.
  5. O plug-in do Autenticador representa uma interface com o registro do usuário, por exemplo, um servidor Lightweight Directory Access Protocol (LDAP) ou um registro do usuário do sistema operacional. O Autenticador consulta o registro do usuário e toma as decisões de autenticação.
  6. Se a autenticação for bem sucedida, um objeto Subject será retornado para representar este cliente.

    Fluxo de Autorização

    O WebSphere eXtreme Scale adota um mecanismo de autorização baseado em permissão e possui categorias de permissão diferentes representadas por diferentes classes de permissão. Por exemplo, um objeto com.ibm.websphere.objectgrid.security.MapPermission representa permissões para ler, gravar, inserir, invalidar e remover as entradas de dados em um ObjectMap. Como o WebSphere eXtreme Scale suporta a autorização Java Authentication and Authorization Service (JAAS) disponível para uso imediato, é possível usar o JAAS para manipular autorização ao fornecer políticas de autorização.

    Além disso, o eXtreme Scale suporta autorizações customizadas. As autorizações customizadas são conectadas pelo plug-in com.ibm.websphere.objectgrid.security.plugins.ObjectGridAuthorization. O fluxo de autorização do cliente é o seguinte.

  7. O tempo de execução do servidor envia o objeto Subject e a permissão necessária para o plug-in de autorização.
  8. O plug-in de autorização consulta o serviço de Autorização e toma uma decisão de autorização. Se a permissão for concedida para esse objeto Subject, um valor true ou false será retornado.
  9. Essa decisão de autorização, true ou false, é retornada para o tempo de execução do servidor.

Implementação de Segurança

Os tópicos nessa sessão discutem como programar uma implementação WebSphere eXtreme Scale segura e como programar as implementações de plug-in. A seção é organizada com base nos vários recursos de segurança. Em cada subtópico, você aprenderá sobre os plug-ins relevantes e como implementar os plug-ins. Na seção de autenticação, você saberá como se conectar a um ambiente de implementação seguro do WebSphere eXtreme Scale.

Autenticação do Cliente: O tópico de autenticação do cliente descreve como um cliente WebSphere eXtreme Scale obtém uma credencial e como um servidor autentica o cliente. Ele também discutirá como um cliente do WebSphere eXtreme Scale se conecta a um servidor WebSphere eXtreme Scale seguro.

Autorização: O tópico de autorização explica como usar o ObjectGridAuthorization para efetuar autorização do cliente além da autorização JAAS.

Autenticação de Grade: O tópico de autenticação de grade de dados descreve como o SecureTokenManager pode ser usado para transportar segredos do servidor com segurança.

Programação do Java Management Extensions (JMX): Quando o servidor WebSphere eXtreme Scale estiver protegido, o cliente JMX poderá precisar enviar uma credencial JMX com o servidor.