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 dentro de una jerarquía o puede utilizar las propiedades que se asocian a los objetos de usuario. También puede crear código personalizado que se invoque 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 consiste en reutilizar la información de estructura de nodo dentro 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. En la siguiente tabla se muestra cómo podría correlacionar el atributo ancestors a 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, como las carpetas organizational units
Por ejemplo, si los usuarios se almacenan en un directorio LDAP y los arrendatarios se encuentran directamente bajo el Nombre distinguido (DN) de base como unidades organizativas, establezca la propiedad avanzada multitenancy.TenantPattern en el valor siguiente:
multitenancy.TenantPattern = ~/ancestors[2]/defaultName
Nota: Además de defaultName, pueden devolver información de arrendamiento los calificadores de ancestros que se indican a continuación:
  • name/locale, donde locale se basa en la correlación de la configuración de espacio de nombres. Si no se especifica 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, puede que necesite unir datos de varios orígenes de autenticación, o desde un origen de autenticación 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. Encontrará los archivos de ejemplo en el directorio ubicación_c10\sdk\java\AuthenticationProvider\MultiTenancyTenantProviderSample.