Identificar información de arrendamiento

Para poder modificar la configuración para las aplicaciones de arrendamiento múltiple, primero debe identificar cómo se determina la información de arrendamiento (agrupación) en el entorno para los usuarios individuales. A continuación, ha de asociar la información de arrendamiento a propiedades de arrendamiento múltiple específicas. Para identificar la información de arrendamiento, puede utilizar la posición de un usuario en la jerarquía, o bien puede utilizar las propiedades asociadas a los objetos de usuario. También puede crear código personalizado que se invoca durante el proceso de autenticación de usuario.

Utilizar jerarquías para determinar la información de arrendamiento

Una forma de determinar la información de arrendamiento es reutilizar la información de la estructura de nodos de una jerarquía.

Cuando reutiliza la información de estructura de nodo, puede utilizar la información que proporciona el atributo de usuario ancestors, que representa la ruta jerárquica de una cuenta de usuario en forma de matriz. La tabla siguiente muestra cómo podría correlacionar el atributo ancestors de una jerarquía para identificar la información de arrendamiento:
Tabla 1. Atributo ancestors correlacionado con la información de jerarquía
Información de ancestros Jerarquía Ejemplo de LDAP
ancestors[0] Nodo de directorio
ancestors[1] ID de espacio de nombres base DN
ancestors[2] Agrupación de arrendatarios, por ejemplo, carpetas organizational units
Por ejemplo, si los usuarios se almacenan en un directorio LDAP y los arrendatarios se encuentran directamente en el nombre distinguido (DN) base como unidades organizativas, establezca la propiedad avanzada multitenancy.TenantPattern en el valor siguiente:
multitenancy.TenantPattern = ~/ancestors[2]/defaultName
Nota: Además de defaultName, los siguientes calificadores de ancestros pueden devolver información de arrendamiento:
  • name/locale, donde locale se basa en la correlación en la configuración del espacio de nombres. Si no se proporciona ningún entorno local, el nombre es el título del objeto. Por ejemplo, podría especificar: multitenancy.TenantPattern = ~/ancestors[2]/name/EN-ca.
  • searchPath/objectID. Por ejemplo, podría especificar: multitenancy.TenantPattern = ~/ancestors[2]/searchPath/objectId.

Utilizar atributos de objeto para determinar la información de arrendamiento

Si no puede utilizar la jerarquía de la estructura de nodos para determinar la información de arrendamiento, puede utilizar atributos de objeto específicos del proveedor de autenticación. Este método requiere que identifique también las propiedades adicionales que se consultarán durante el proceso de autenticación de usuario.

Por ejemplo, si el atributo departmentNumber de un objeto de usuario de LDAP identifica el arrendatario del usuario, establezca las propiedades avanzadas multitenancy.TenantPattern y AdditionalUserPropertiesToQuery de la forma siguiente:
multitenancy.TenantPattern = ~/parameters/parameter_name
AdditionalUserPropertiesToQuery = parameters
En este ejemplo, también debe establecer la propiedad personalizada LDAP siguiente:
parameter_name = departmentNumber

Utilización de código personalizado para determinar la información de arrendamiento

Cuando la información de arrendamiento no puede obtenerse mediante una jerarquía o un atributo de usuario, debe crear una clase personalizada que se invoque durante el proceso de autenticación de usuario para determinar la información de arrendamiento. Por ejemplo, podría necesitar unir los datos de varios orígenes de autenticación, o de un origen de datos y una base de datos relacional.

En estos casos, ha de crear una clase Java personalizada utilizando IBM® Cognos Software Development Kit y especificar su nombre durante la configuración de BI. En este escenario, establezca la propiedad multitenancy.ITenantProvider de la forma siguiente:
multitenancy.ITenantProvider = custom_class_name
donde custom_class_name representa el nombre de la clase personalizada, por ejemplo, com.example.Class.

IBM Cognos Software Development Kit incluye una clase personalizada de ejemplo para determinar la información de arrendamiento. Puede encontrar los archivos de ejemplo en el directorio ubicación_c10\sdk\java\AuthenticationProvider\MultiTenancyTenantProviderSample.