Proteja vários aspectos do serviço de dados REST. O acesso ao serviço de dados REST do eXtreme Scale pode ser protegido por meio da autenticação e autorização. O acesso também pode ser controlado por regras de configuração com escopo definido de serviço, conhecidas como regras de acesso. A segurança de transporte é a terceira consideração.
O acesso ao serviço de dados REST do eXtreme Scale pode ser protegido por meio da autenticação e autorização. A autenticação e a autorização são realizadas fazendo a integração com a segurança do eXtreme Scale.
O acesso também pode ser controlado por regras de configuração com escopo definido de serviço, conhecidas como regras de acesso. Existem dois tipos de regras de acesso: direitos de operação de serviço, que controlam as operações CRUD que são permitidas pelo serviço, e direitos de acesso de entidade, que controlam as operações CRUD que são permitidas para um tipo de entidade particular.
A segurança de transporte é fornecida pela configuração de contêiner hosting para conexões entre o cliente da web e o serviço REST. E a segurança de transporte é fornecida pela configuração de cliente eXtreme Scale (para serviço REST para conexões de grade de dados eXtreme Scale).
O acesso ao serviço de dados REST do eXtreme Scale pode ser protegido por meio da autenticação e autorização. A autenticação e a autorização são realizadas pela integração com a segurança do eXtreme Scale.
O serviço de dados REST do eXtreme Scale usa a segurança do eXtreme Scale para autenticação e autorização, a fim de controlar quais usuários podem acessar o serviço e as operações que um usuário tem permissão para executar por meio do serviço. O serviço de dados REST do eXtreme Scale usa uma credencial global configurada, com usuário e senha, ou uma credencial derivada de um desafio HTTP BASIC que é enviado com cada transação para a grade do eXtreme Scale na qual a autenticação e a autorização são executadas.
O serviço de dados REST do eXtreme Scale chama a biblioteca do cliente do eXtreme Scale ao se comunicar com a grade do eXtreme Scale. Portanto, o cliente do eXtreme Scale deve ser configurado para a segurança do eXtreme Scale.
securityEnabled=true
credentialAuthentication=Supported [-or-] Required
credentialGeneratorProps=user:pass [-or-] {xor encoded user:pass}
Um arquivo de política do cliente de objectgrid de amostra está localizado em restservice_home/security/security.ogclient.properties. Consulte também Arquivo de Propriedades do Cliente.
O arquivo de propriedades de configuração do serviço de dados REST do eXtreme Scale precisa conter as seguintes entradas para ser integrado com a segurança do eXtreme Scale:
ogClientPropertyFile=file_name
O ogClientPropertyFile é o local do arquivo de propriedades que contém propriedades do cliente de ObjectGrid mencionadas na etapa anterior. O serviço REST usa este arquivo para inicializar o cliente do eXtreme Scale para falar com a grade quando a segurança estiver ativada.
loginType=basic [-or-] none
A propriedade loginType configura o serviço REST para o tipo de login. Se um valor de nenhum for especificado, o ID do usuário e senha "globais " definidos por credentialGeneratorProps serão enviados para a grade para cada transação. Se um valor de básico for especificado, o serviço REST apresentará um desafio HTTP BASIC para o cliente solicitando credenciais que ele enviará em cada transação ao se comunicar com a grade.
Para obter mais informações sobre as propriedades ogClientPropertyFile e loginType, consulte o Arquivo de Propriedades do Serviço de Dados REST.
O acesso também pode ser controlado por regras de configuração com escopo definido de serviço, conhecidas como regras de acesso. Existem dois tipos de regras de acesso: direitos de operação de serviço, que controla as operações CRUD que são permitidas pelo serviço; e direitos de acesso de entidade, que controlam as operações CRUD que são permitidas para um tipo de entidade particular.
O serviço de dados REST do eXtreme Scale permite, opcionalmente, regras de acesso que podem ser configuradas para restringir o acesso ao serviço e a entidades no serviço. Essas regras de acesso são especificadas no arquivo de propriedades de direitos de acesso do serviço REST. O nome deste arquivo é especificado no arquivo de propriedades do serviço de dados REST pela propriedade wxsRestAccessRightsFile. Para obter mais informações sobre essa propriedade, consulte Arquivo de Propriedades do Serviço de Dados REST. Este arquivo é um arquivo de propriedades Java típico com pares de chave e valor. Existem dois tipos de regras de acesso: direitos de operação de serviço, que controlam as operações CRUD que são permitidas pelo serviço; e direitos de acesso de entidade, que controlam as operações CRUD que são permitidas para um tipo de entidade particular.
Os direitos de operações de serviço especificam direitos de acesso que se aplicam a todos os ObjectGrids expostos por meio do serviço REST ou a todas as entidades de um ObjectGrid individual, conforme especificado.
serviceOperationRights=service_operation_right
serviceOperationRights.grid_name -OR- *=service_operation_right
em que serviceOperationsRights=ALL
serviceOperationsRights.*=NONE
serviceOperationsRights.EMPLOYEEGRID=READSINGLE
O primeiro exemplo especifica que todas as operações de serviço são permitidas para todos os ObjectGrids expostos por este Serviço REST. O segundo exemplo é semelhante ao primeiro, uma vez que também se aplica a todos os ObjectGrids expostos pelo serviço REST; no entanto, ele especifica o direito de acesso como NONE, o que significa que nenhuma das operações de serviço são permitidas nos ObjectGrids. O último exemplo especifica como controlar as operações de serviço para uma grade específica, aqui apenas Reads, que resultam em um único registro, são permitidas para todas as entidades do EMPLOYEEGRID.
O padrão assumido pelo serviço REST é serviceOperationsRights que significa que todas as operações são permitidas para todos os ObjectGrids expostos por este serviço. Isto é diferente da implementação Microsoft para a qual o padrão é NONE, portanto, nenhuma operação é permitida no Serviço REST.
Os direitos do conjunto de entidades especifica os direitos de acesso que se aplicam a entidades do ObjectGrid específicas expostas por meio do serviço REST. Esses direitos fornecem uma maneira de impor um controle de acesso melhor e mais refinado sobre entidades do ObjectGrid individuais que o comparado aos direitos de Operações de Serviço.
entitySetRights.grid_name.entity_name=entity_set_right
em queDireito de acesso | Descrição |
---|---|
NENHUM | Nega todos os direitos para acessar dados |
READSINGLE | Permite a leitura de itens de dados únicos |
READMULTIPLE | Permite a leitura de conjuntos de dados |
ALLREAD | Permite a leitura de um único ou de vários conjuntos de dados |
WRITEAPPEND | Permite a criação de novos itens de dados em conjuntos de dados |
WRITEREPLACE | Permite a substituição de dados |
WRITEDELETE | Permite a exclusão de itens de dados dos conjuntos de dados |
WRITEMERGE | Permite a mesclagem de dados |
ALLWRITE | Permite a gravação (isto é, criação, substituição, mesclagem ou exclusão) de dados |
ALL | Permite a criação, leitura, atualização e exclusão de dados |
Exemplo 1: Se serviceOperationsRights.NorthwindGrid=READSINGLE e entitySetRights.NorthwindGrid.Customer=ALL forem especificados. READSINGLE será reforçado para a entidade Cliente.
Exemplo 2: Se serviceOperationsRights.NorthwindGrid=ALLREAD for especificado e entitySetRights.NorthwindGrid.Customer=ALLWRITE for especificado, apenas Reads será permitido para todas as entidades de NorthwindGrid. No entanto, para Cliente, seus direitos do conjunto de entidades impedirão quaisquer Reads (uma vez que especificou ALLWRITE) e, consequentemente, com efeito, a entidade Cliente terá o direito de acesso como NONE.
A segurança de transporte é fornecida pela configuração de contêiner hosting para conexões entre o cliente da web e o serviço REST. A segurança de transporte é fornecida pela configuração do cliente do eXtreme Scale para conexões entre o serviço REST e a grade do eXtreme Scale .