Definir grupos de acceso

Un grupo de acceso es un elemento necesario en una definición de política. Define los usuarios que están autorizados a utilizar determinados recursos. Hay muchos casos en los que se necesita definir un nuevo grupo de acceso.

Algunos ejemplos comunes son:

  • Se crea un nuevo rol y, a continuación, una nueva política para dar autorizaciones a este nuevo rol.
  • Se crean nuevos mandatos de controlador y desea asignar usuarios con roles específicos para que accedan a estos mandatos.

Los grupos de acceso predeterminados que forman parte de HCL Commerce se encuentran en archivos XML específicos del idioma, como utilities_root/xml/policies/xml/ACUserGroups_ locale.xml. Este archivo sigue el DTD especificado por utilities_root/xml/policies/dtd/ACUserGroups_en_US.dtd.

A continuación se muestra el formato de un elemento de grupo de acceso:


<UserGroup Name="value" OwnerID="value" Description="value"
        <UserCondition>
                <![CDATA[
                <profile>
                        
Condition XML
                </profile>   
        </UserCondition>
</UserGroup>

Donde:

Name
El nombre del grupo de acceso, que se almacena en la columna MBRGRPNAME de la tabla MBRGRP.
OwnerID
El Member ID que es el propietario de este grupo de acceso. La combinación de Name y OwnerID debe ser exclusiva. Los valores especiales que se pueden utilizar incluyen: RootOrganization (-2001)o DefaultOrganization (-2000).
Description (optional)
Atributo opcional que se utiliza para describir el grupo de acceso.
UserCondition (optional)
Elemento opcional que especifica condiciones implícitas de los miembros de este grupo de acceso. Este criterio se almacena en la columna CONDITIONS de la tabla MBRGRPCOND.
Condition XML
Con la utilización de la infraestructura de condición, cualquier combinación válida de los elementos orListCondition, andListCondition, simpleCondition y trueConditionCondition.
Los siguientes nombres de SimpleCondition son compatibles con el elemento de UserCondition:
Nombre de variable Descripción: Operadores soportados Valores soportados Calificadores Valores de calificadores
rol Especifica que el usuario debe tener este rol en la tabla MBRROLE. = != Cualquier valor de la columna NAME de la tabla ROLE. org (Si no se especifica, el usuario debe tener el rol para cualquier organización de la tabla MBRROLE).
  • OrgEntityID : donde el usuario debe tener el rol. Consulte el ejemplo, Rol con un calificador
  • OrgAndAncestorOrgs: Cuando se utiliza en una política de plantillas agrupables. De este modo, se comprueba si el usuario tiene el rol especificado en la organización propietaria del recurso o en cualquiera de sus organizaciones predecesoras. Consulte los ejemplos:
estado del registro Especifica que el usuario debe tener este estado de registro. = != Cualquier valor de la columna REGISTER-TYPE en la tabla de USERS como por ejemplo G para invitado y R para registrado. ninguna n/a
estado Especifica que el usuario debe tener este estado de miembro. Normalmente, se utiliza para el estado de aprobación de registro. = != Cualquier valor de la columna STATE en la tabla MEMBER, como por ejemplo 0 para la aprobación del registro pendiente, 1 para el registro aprobado y 2 para el registro rechazado. ninguna n/a
org Especifica que el usuario es hijo de la organización especificada. Esta información está basada en los datos almacenados en la tabla MBRREL = !=
  • Cualquier valor de ORGENTITY_ID en la tabla ORGENTITY.
  • ?: si se trata de una política de plantilla agrupable. Esto comprobará si el usuario es un hijo de la organización propietaria del recurso. También comprobará si el usuario es hijo de cualquier antecesor del propietario del recurso hasta, e incluido, el antecesor más cercano que se suscriba a un grupo de políticas.
ninguna n/a

Ejemplos de simpleConditions para grupos de acceso

Rol sin calificador

El ejemplo siguiente visualiza una simpleCondition de tipo role sin calificador; normalmente se utiliza en políticas basadas en roles. En este ejemplo, el usuario debe tener el rol de administrador de vendedores para cualquier entidad de organización.


<UserConditon>
                <![CDATA[
                <profile>
                        <simpleCondition>
                                <variable name="role"/>
                                <operator name="="/>
                                <value data="Seller Administrator"/>
                        </simpleCondition>
                </profile>
</UserCondition>

Rol con un calificador

El ejemplo siguiente visualiza una simpleCondition de tipo role con un calificador; normalmente se utiliza en políticas a nivel de organización. En este ejemplo, el usuario debe tener el rol de vendedor para la entidad de organización con ORGENTITY_ID = 100.


<UserCondition>
                        <!CDATA[
                <profile>
                                <simpleCondition>
                                <variable name="role"/>
                                <operator name="="/>
                                <value data="Seller"/>
                                        <qualifier name="org"
data="100"/>
                                <simpleCondition>
                </profile>
</UserCondition>

Rol con un calificador y un parámetro

El ejemplo siguiente visualiza una simpleCondition de tipo rol con un calificador y un valor de datos especial OrgAndAncestorOrgs. Este valor de datos calificado, OrgAndAncestorOrgs, solamente funciona en las políticas de plantilla agrupables. En este ejemplo, el usuario debe tener el rol de Director de ventas, Administrador de cuentas o Vendedor, en la organización propietaria del recurso especificado o en cualquiera de los antecesores de la organización.


<UserCondition><!CDATA[
                <profile>
                        <orListCondition>
                                        <simpleCondition>
                                                <variable name="role"/>
                                                <operator name="="/>
                                                <value data="Sales Manager"/>
                                                <qualifier name="org" data="OrgAndAncestorOrgs"/>
                                        </simpleCondition>
                                        <simpleCondition>
                                                <variable name="role"/>
                                                <operator name="="/>
                                                <value data="Account Representative"/>
                                                <qualifier name="org" data="OrgAndAncestorOrgs"/>
                                        </simpleCondition>
                                        <simpleCondition>
                                        <variable name="role"/>
                                                <operator name="="/>
                                                <value data="Seller"/>
                                                <qualifier name="org" data="OrgAndAncestorOrgs"/>
                                        </simpleCondition>
                        </orListCondition>
                </profile/>  
</UserCondition>                                             

registrationStatus

El ejemplo siguiente visualiza una simpleCondition de tipo registrationStatus. En este ejemplo, el usuario debe estar registrado (USERS.REGISTERTYPE = R).


<UserCondition><!CDATA[
                <profile>
                <simpleCondition>
                        <variable name="registrationStatus"/>
                        <operator name="="/>
                        <value data="R"/>
                </simpleCondition>
                </profile>
</UserCondition>

estado

El ejemplo siguiente visualiza una simpleCondition de tipo status. En este ejemplo, el usuario debe tener aprobado el registro. (MEMBER.STATUS = 1)


<UserCondition><![CDATA[
                <profile>
                                <simpleCondition>
                                        <variable name="status"/>
                                        <operator name="="/>
                                        <value data="1"/>
                                        </simpleCondition>
                </profile>
</UserCondition>

org

El ejemplo siguiente visualiza una simpleCondition de tipo org. En este ejemplo, el usuario debe estar registrado en la entidad de organización 100. En la tabla MBRREL, debe haber un registro en el que el usuario sea descendiente de una organización con ANCESTOR_ID = 100 y SEQUENCE = 1.


<UserCondition><![CDATA[
                <profile>
                        <simpleCondition>
                                <variable name="org"/>
                                <operator name="="/>
                                <value data="100"/>
                        </simpleCondition>
                </profile>
</UserCondition>