Proteja varios aspectos del servicio de datos REST. El acceso al servicio de datos REST de eXtreme Scale se puede proteger mediante autenticación y autorización. El acceso solo lo pueden controlar las reglas de configuración con ámbito de servicio, denominadas reglas de acceso. La tercera cosa a tener en cuenta es la seguridad del transporte.
El acceso al servicio de datos REST de eXtreme Scale se puede proteger mediante autenticación y autorización. La autenticación y autorización se llevan a cabo realizando la integración con la seguridad de eXtreme Scale.
El acceso lo pueden controlar también las reglas de configuración con ámbito de servicio, denominadas reglas de acceso. Existen dos tipos de reglas de acceso: derechos de operación de servicio que controlan las operaciones CRUD que permite el servicio y derechos de acceso de entidad que controlan las operaciones CRUD que se permiten para un tipo de entidad determinado.
Para conexiones entre el cliente web y el servicio REST, se proporciona seguridad de transporte mediante la configuración del contenedor que los aloja. Y se proporciona seguridad de transporte mediante la configuración de cliente de eXtreme Scale (para conexiones de servicio REST a cuadrícula de datos de eXtreme Scale).
El acceso al servicio de datos REST de eXtreme Scale se puede proteger mediante autenticación y autorización. La autenticación y la autorización se realizan mediante la integración con la seguridad de eXtreme Scale.
El servicio de datos REST de eXtreme Scale utiliza seguridad de eXtreme Scale, para autenticación y autorización, para controlar qué usuarios pueden acceder al servicio y las operaciones que se permite realizar a un usuario mediante el servicio. El servicio de datos REST de eXtreme Scale utiliza una credencial global configurada, con usuario y contraseña, y una credencial derivada de un reto HTTP BASIC que se envía con cada transacción a la cuadrícula de datos de eXtreme Scale donde se realiza la autenticación y autorización.
El servicio de datos REST de eXtreme Scale invoca la biblioteca del cliente eXtreme Scale al comunicarse con la cuadrícula eXtreme Scale. Por lo tanto, se debe configurar el cliente eXtreme Scale para la seguridad de eXtreme Scale.
securityEnabled=true
credentialAuthentication=Supported [-or-] Required
credentialGeneratorProps=user:pass [-or-] {xor encoded user:pass}
Un archivo de política de cliente de objectgrid de ejemplo se encuentra en inicio_servicioRest/security/security.ogclient.properties. Véase también el apartado Archivo de propiedades de cliente.
El archivo de propiedades de configuración de servicio de datos REST de eXtreme Scale debe contener las entradas siguientes para la integración con la seguridad de eXtreme Scale:
ogClientPropertyFile=nombre_archivo
ogClientPropertyFile es la ubicación del archivo de propiedades que contiene las propiedades del cliente de ObjectGrid mencionadas en el paso anterior. El servicio REST utiliza este archivo para inicializar el cliente eXtreme Scale a fin de comunicarse con la cuadrícula cuando está habilitada la seguridad.
loginType=basic [-or-] none
La propiedad loginType configura el servicio REST para el tipo de inicio de sesión. Si se especifica el valor de none, el ID de usuario y la contraseña “global” definidos por credentialGeneratorProps se enviarán a la cuadrícula para cada transacción. Si se especifica un valor de basic, el servicio REST presentará un reto HTTP BASIC al cliente solicitándole credenciales que enviará a cada transacción al comunicarse con la cuadrícula.
Para obtener más información sobre las propiedades ogClientPropertyFile y loginType, consulte Archivo de propiedades del servicio de datos REST.
El acceso se puede controlar también mediante reglas de configuración con ámbito de servicio, conocidas como reglas de acceso. Existen dos tipos de reglas de acceso, los derechos de operación de servicio que controlan las operaciones CRUD permitidas por el servicio y los derechos de acceso de entidad que controlan las operaciones CRUD permitidas para un tipo de entidad concreto.
El servicio de datos REST de eXtreme Scale permite de modo opcional reglas de acceso que se pueden configurar para limitar el acceso al servicio y a las entidades del servicio. Estas reglas de acceso se especifican en el archivo de propiedades de derechos de acceso del servicio REST. El nombre de este archivo se especifica en el archivo de propiedades de servicio de datos REST mediante la propiedad wxsRestAccessRightsFile. Para obtener más información sobre esta propiedad, consulte Archivo de propiedades del servicio de datos REST. Este archivo es un archivo de propiedades Java típico con pares de clave y valor. Existen dos tipos de reglas de acceso, los derechos de operación de servicio que controlan las operaciones CRUD permitidas por el servicio y los derechos de acceso de entidad que controlan las operaciones CRUD permitidas para un tipo de entidad concreto.
Los derechos de operación de servicio especifican los derechos de acceso que se aplican a todos los ObjectGrids expuestos mediante el servicio REST o a todas las entidades de un ObjectGrid individual como se ha especificado.
serviceOperationRights=derecho_operación_servicio
serviceOperationRights.nombre_cuadrícula -OR- *=derecho_operación_servicio
donde serviceOperationsRights=ALL
serviceOperationsRights.*=NONE
serviceOperationsRights.EMPLOYEEGRID=READSINGLE
El primer ejemplo especifica que se permiten todas las operaciones de servicio para todos los ObjectGrids expuestos por el servicio REST. El segundo ejemplo es similar al primero porque se aplica también a todos los ObjectGrids expuestos por el servicio REST, no obstante, especifica el derecho de acceso como NONE, que significa que no se permite ninguna operación de servicio en los ObjectGrids. El último ejemplo especifica cómo controlar las operaciones de servicio para una cuadrícula concreta, aquí sólo se lee qué resultados se permiten en un solo registro para todas las entidades del EMPLOYEEGRID.
El valor predeterminado que supone el servicio REST es serviceOperationsRights=ALL, lo que significa que se permiten todas las operaciones para todos los ObjectGrids expuestos por este servicio. Esto es distinto a la implementación de Microsoft, para la que el valor predeterminado es NONE, así que no se permiten operaciones en el servicio REST.
Los derechos de conjunto de entidades especifican los derechos de acceso que se aplican a entidades ObjectGrid concretas expuestas mediante el servicio REST. Estos derechos proporcionan un modo de imponer un control más estrecho y refinado en entidades ObjectGrid individuales en comparación con los derechos de operación de servicio.
entitySetRights.nombre_cuadrícula.nombre_entidad=derecho_conjunto_entidades
donde Derecho de acceso | Descripción |
---|---|
NONE | Deniega todos los derechos para acceder a los datos |
READSINGLE | Permite leer elementos de datos individuales |
READMULTIPLE | Permite leer los conjuntos de datos |
ALLREAD | Permite leer uno o varios conjuntos de datos |
WRITEAPPEND | Permite crear nuevos elementos de datos en los conjuntos de datos |
WRITEREPLACE | Permite sustituir los datos |
WRITEDELETE | Permite suprimir los elementos de datos de los conjuntos de datos |
WRITEMERGE | Permite fusionar los datos |
ALLWRITE | Permite grabar (por ejemplo, crear, sustituir, fusionar o suprimir) los datos |
ALL | Permite crear, leer, actualizar y suprimir los datos |
Ejemplo 1: Si se ha especificado serviceOperationsRights.NorthwindGrid=READSINGLE y entitySetRights.NorthwindGrid.Customer=ALL. Se impondrá READSINGLE para la entidad Customer.
Ejemplo 2: Si se ha especificado serviceOperationsRights.NorthwindGrid=ALLREAD y entitySetRights.NorthwindGrid.Customer=ALLWRITE solo se permitirán las lecturas para todas las entidades de NorthwindGrid. No obstante, para Customer sus derechos de conjunto de entidades impedirán las lecturas (dado que tiene especificado ALLWRITE) y de ahí realmente la entidad Customer tendrá de derecho de acceso NONE.
Para conexiones entre el cliente web y el servicio web, se proporciona seguridad de transporte mediante la configuración del contenedor que lo aloja. Para conexiones entre el servicio REST y la cuadrícula de eXtreme Scale, se proporciona seguridad de transporte mediante la configuración de cliente de eXtreme Scale.