Ejemplo: Examinar una política de control de acceso

En este apartado se analizará detalladamente una de las políticas predeterminadas, utilizando una serie de ejemplos diferentes. La política que se va a analizar es la siguiente:

AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource

Nota: Esta política es una política a nivel de recursos. El tipo de política es de plantilla agrupable.

El primer ejemplo muestra cómo leer la política utilizando la Consola de administración de organizaciones, identificar sus partes y conocer el significado de la política. En el segundo ejemplo analizaremos la política en formato XML, para que resulte más fácil comprender qué aspecto tiene la misma información en el código.

En el tercer ejemplo avanzaremos un paso más en la descripción de cómo una política está relacionada con otras políticas. Comprender las dependencias entre políticas es un requisito previo importante para realizar cambios en las políticas de control de acceso o para crear políticas nuevas.

Ejemplo 1: Lectura de una política

En este ejemplo, utiliza la Consola de administración de organizaciones para buscar una política e identificar las partes que la definen. También utilice estas partes para formar una descripción general de la política.

Búsqueda de la política en la Consola de administración de organizaciones

  1. Conéctese a la Consola de administración de organizaciones. En el menú Gestión de acceso, seleccione Políticas.
  2. Seleccione la organización raíz en el recuadro de lista, ya que la organización raíz es la propietaria de la mayor parte de las políticas de control de acceso predeterminadas.
  3. En la página políticas, desplácese por la lista de políticas y localice la política siguiente: AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource

    Observe que puede desplazarse por la lista de políticas mediante la barra de desplazamiento y también mediante los enlaces Primera, Anterior, Siguiente y Última.

Visualización de las partes de la política

  1. Seleccione la política al pulsar el recuadro que hay junto a la misma y después en Mostrar grupo de acciones.
  2. En la página Grupos de acciones, verá el grupo de acciones AuctionManage. Este es el grupo de acciones asociado a la política. Seleccione AuctionManage y Pulse Mostrar acciones.
  3. En la página siguiente, verá la lista de mandatos o acciones siguientes, incluidos en el grupo de acciones AuctionManage:
    • com.ibm.commerce.negotiation.commands.CloseBiddingCmd
    • com.ibm.commerce.negotiation.commands.DeleteAuctionCmd
    • com.ibm.commerce.negotiation.commands.ModifyAuctionCmd

    Aquí, AuctionManage incluye el cierre de una subasta (CloseBiddingCmd), la supresión de una subasta, (DeleteAuctionCmd) y la modificación de una subasta (ModifyAuctionCmd)

    Observe que también puede acceder a la lista de acciones desde la página Políticas o pulsando Mostrar acciones.

  4. Para volver a la página de políticas, seleccione cualquiera de las acciones y Pulse Mostrar políticas.
  5. Vuelva a seleccionar la política pero ahora Pulse Mostrar grupo de miembros para ver el grupo de miembros (el grupo de acceso) que se utiliza en esta política.
  6. Anote el nombre del grupo de miembros (de acceso). En este caso, el grupo de miembros (de acceso) es AuctionAdministratorsForOrg.
  7. En el menú Gestión de acceso, seleccione Grupos de acceso.
  8. Buscar AuctionAdministratorsForOrg. Seleccionélo y Pulse Cambiar.
  9. Pulse Criterios. En la página Criterios, busque en Roles y organizaciones seleccionados. Deberá ver los roles siguientes:
    • Seller-For organization
    • Product Manager-For organization
    • Buyer (sell-side)-For organization
    • Category Manager-For organization

    Cualquier usuario que tenga asignados estos roles para la organización propietaria del recurso de subasta, formará parte del grupo de acceso AuctionAdministratorsForOrg.

  10. No modifique la página Criterios. En el menú Gestión de acceso, seleccione otra vez Políticas. Localice la política siguiente:
    
    AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource
    
  11. Seleccione la política y Pulse Mostrar recursos. En la página recursos, verá el recurso de com.ibm.commerce.negotiation.objects.Auction. Este es el recurso en el que se llevan a cabo las acciones que se listan en el grupo de acciones. En este caso, el recurso es una subasta. Tenga en cuenta que puede acceder a esta misma lista desde la página Políticas si pulsa Mostrar grupo de recursos y se desplaza hasta los recursos individuales.
  12. Ahora seleccione Políticas en el menú Gestión de acceso y localice la política siguiente:
    
    AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource
    
  13. Seleccione la política y Pulse Cambiar. En la página Cambiar política, observe el menú desplegable bajo Relación. Verá que la relación se ha establecido en ninguna. Esto significa que la política no tiene ninguna relación.
  14. Pulse Cancelar y Aceptar para cerrar el recuadro de diálogo.

Descripción del significado de una política

Ahora que ya ha identificado las partes individuales de esta política, puede empezar a unirlas para comprender qué hace la política. En primer lugar, sabe que la política se aplica a todos los usuarios que pertenecen al grupo AuctionAdministratorsForOrg. Ha obtenido esta información pulsando Mostrar grupo de miembros. Desde allí, ha utilizado el menú Gestión de acceso para ir a la página Grupo de acceso y ha visto que el grupo de acceso incluía los siguientes roles: seller, product manager, buyer (for the sell-side) y category manager. De forma colectiva, los usuarios que tienen uno de estos cuatro roles se pueden denominar administradores de subastas.

También sabe que el grupo de acciones contiene los mandatos para modificar, retractar y cerrar una subasta y que el grupo de recursos sólo incluye el recurso de subasta que se está gestionando. De nuevo, ha obtenido esta información al pulsar Mostrar acciones y Mostrar recursos en la página Políticas y desplazarse hasta el nivel de detalle. Finalmente, puede decir que la política no incluye ninguna relación entre el grupo de acceso y los recursos.

Al unir todas las partes, puede llegar a la conclusión de que esta política permite a los Administradores de subastas realizar todas las actividades asociadas con la gestión de subastas en un recurso de subastas, por ejemplo modificar, retractar y cerrar una subasta, a condición de que el administrador desempeñe el rol para la organización propietaria de la subasta.

Podrá comprender el significado de una política examinando el nombre de la misma. En este ejemplo, la política comienza por el nombre del grupo de usuarios designado, AuctionAdministratorForOrg. La notación, ForOrg, indica que se trata de una política de plantilla agrupable. AuctionManageCommands describe el grupo de acciones y AuctionResource describe el grupo de recursos.

Ejemplo 2: Lectura de una política en XML

Las políticas de control de acceso se almacenan en un archivo XML que se carga en la base de datos durante la creación de la instancia. Cuando se visualiza una política en la Consola de administración de organizaciones, se está utilizando la interfaz para ver y modificar la información almacenada en la base de datos. La información de la base de datos la utiliza el Gestor de políticas para evaluar el control de acceso. Si la información de base de datos es más reciente que el archivo XML, puede utilizar la herramienta Extractor para extraer la información de política de control de acceso desde la base de datos a un archivo XML.

En el archivo XML una política es similar a la siguiente:

<!-- AuctionAdministrators manage Auctions (Retract/delete auction, Modify auction, Close Auction)-->
<Policy Name="AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource"
        OwnerID="RootOrganization"
        UserGroup="AuctionAdministratorsForOrg"
        ActionGroupName="AuctionManage"
        ResourceGroupName="AuctionDataResourceGroup"
        PolicyType="groupableTemplate">
</Policy>
Aquí, la política se define de este modo:
Nombre:
El nombre de la política.
OwnerID
Organización a la que se aplica la política.
UserGroup
Grupo de acceso.
ActionGroupName
Grupo de acciones.
ResourceGroupName
Grupo de recursos.
PolicyType
Tipo de política, por ejemplo estándar agrupable o de plantilla agrupable.

El archivo que contiene todas las políticas de control de acceso predeterminadas se denomina defaultAccessControlPolicies.xml y está ubicado en el directorio siguiente:

utilities_root\xml\policies\xml.
Nota: Las descripciones para cada archivo de control de acceso predeterminado están contenidas en el archivo defaultAccessControlPolicies_locale.xml, que se puede encontrar en el mismo directorio. Si realiza un cambio en una política de control de acceso predeterminada en el archivo de control de acceso predeterminado, deberá actualizar también su descripción correspondiente en defaultAccessControlPolicies_en_US.xml. Le aconsejamos que los cambios en los archivos XML los realicen únicamente los usuarios avanzados.

Ejemplo 3: Identificación de otras políticas asociadas a la política

En este último ejemplo, examinará cómo puede una política de control de acceso tener dependencias en otras políticas.

Las políticas que definen los mandatos (acciones) que puede realizar un grupo de usuarios (un grupo de acceso) en un recurso se denominan políticas a nivel de recursos. Por ejemplo, la política que ha estado examinando detalladamente:

AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource se muestra un ejemplo de una política a nivel de recursos.

Sin embargo, las acciones que permite una política a nivel de recursos también dependen de las acciones que se permiten a cada rol que pertenece al grupo de acceso de la política. Las políticas que describen las acciones permitidas para un rol determinado se denominan políticas basadas en roles.

Para identificar las políticas asociadas a una política a nivel de recursos, ha de efectuar lo siguiente:

Búsqueda de los roles asociados con la política

  1. Abra la Consola de administración de organizaciones y localice la política a nivel de recursos en la página Políticas. Utilizando el mismo ejemplo, sabe que la política que busca es la siguiente:
    
    AuctionAdministratorsForOrgExecuteAuctionManageCommandsOnAuctionResource
    
  2. Identifique el grupo de acceso asociado a la política. En este caso, ya sabe que el grupo de acceso es AuctionAdministratorsForOrg.
  3. Busque los roles asociados al grupo de acceso. Para AuctionAdministratorsForOrg, sabe de los ejemplos anteriores que los roles son los siguientes: Buyers (sell-side), Category Managers, Product Manager y Sellers.

Búsqueda de las políticas basadas en roles para cada rol

  1. Localice cada política basada en rol asociada con un rol.
  2. Busque la política de Buyers(sell-side)ExecuteBuyers(sell-side)CommandsResourceGroup. Esta política está asociada con el rol Buyers (sell-side). Esto se sabe porque el prefijo de la política es Buyers(sell-side).
  3. Busque el resto de las políticas basadas en roles asociadas a los roles Buyers (sell-side), Category Manager, Product Manager, y Sellers, con los prefijos para identificar las políticas correctas. Deberá obtener la lista siguiente:
    • Buyers(sell-side)ExecuteBuyers(sell-side)CommandsResourceGroup
    • Buyers(sell-side)ExecuteBuyers(sell-side)Views
    • CategoryManagersExecuteCategoryManagersCmdResourceGroup
    • CategoryManagersExecuteCategoryManagersViews
    • ProductManagersExecuteProductManagersCmdResourceGroup
    • ProductManagersExecuteProductManagersViews
    • SellersExecuteSellersCmdResourceGroup
    • SellersExecuteSellersViews
  4. Toda política basada en roles permite a los usuarios que tengan dicho rol ejecutar una vista o un mandato de controlador determinado. Para ver qué acciones y recursos están asociados a una política basada en roles, busque la política en la página Políticas en la Consola de administración de organizaciones, utilizando el mismo procedimiento del Ejemplo 1.

Por qué es importante identificar las dependencias entre las políticas

Comprender qué políticas basadas en roles están asociadas a una política a nivel de recursos suele ser un requisito previo para personalizar las políticas y crear políticas nuevas.