Compartir a través de


Seguridad del marco de trabajo de reglas de negocios

El motor de reglas de negocios opera en el contexto de seguridad de la aplicación host. La identidad de la instancia del motor de reglas durante la ejecución es la del contexto del subproceso que invoca el método Policy.Execute .

Configuración de seguridad predeterminada

Al instalar Microsoft BizTalk Server, se crean de forma predeterminada dos grupos de Microsoft Windows, uno para los administradores y otro para los usuarios: "administradores de BizTalk Server" y "usuarios de aplicaciones de BizTalk". Estos dos grupos de Windows son miembros de BTS_ADMIN_USERS y BTS_HOST_USERS roles de SQL que son miembros de RE_ADMIN_USERS y RE_HOST_USERS roles de SQL, respectivamente.

Los roles de SQL predeterminados se crean cada vez que se crea un almacén de reglas: BTS_ADMIN_USERS, BTS_HOST_USERS, RE_ADMIN_USERS y RE_HOST_USERS.

Grupos de Windows predeterminados funciones SQL
Administradores de servidor BizTalk Server RE_ADMIN_USERS
Usuarios de aplicación de BizTalk RE_HOST_USERS

Solo los usuarios del rol RE_ADMIN_USERS pueden ejecutar los procedimientos almacenados que actualizan las tablas de configuración de protección de acceso de implementación y entidad. Esto quiere decir que la configuración de protección, implementación y anulación de implementación solo las efectúan los administradores del motor de reglas. Los usuarios del rol RE_HOST_USERS pueden ejecutar el resto de procedimientos almacenados en el almacén de reglas SQL.

Independientemente del orden de instalación del motor de reglas, el proceso de configuración del motor de reglas concede al rol RE_HOST_USERS SQL la pertenencia a la cuenta de Servicio de actualización del motor de reglas, si todavía no tiene acceso a la base de datos. Sin embargo, si el motor de reglas se ha instalado después de la instalación inicial de BizTalk, el grupo de usuarios BizTalk, específico del host, no se agrega al rol BTS_HOST_USERS SQL en la base de datos del motor de reglas, porque la creación del host ya se ha completado. Será necesario realizar este paso manualmente.

Seguridad de nivel de artefactos

Además de la configuración de seguridad predeterminada, el motor de reglas de negocios también puede proporcionar seguridad en el nivel de artefacto, directiva y vocabulario.

Todas las versiones de directivas o vocabularios tienen uno o más grupos de autorización asociados. Un grupo de autorización es una lista con nombres de usuarios de Microsoft Windows, usuarios de SQL, roles SQL y grupos de Windows, con un nivel de acceso particular en cada tipo.

Cuando se crea una nueva directiva o un nuevo vocabulario en el almacén de reglas, solo el usuario que lo creó y el administrador del motor de reglas tienen accesos de lectura/ejecución y de modificación/eliminación de forma predeterminada. El administrador del motor de reglas puede configurar qué usuarios (procesos funcionan con credenciales de usuario) tienen el nivel de acceso, o derechos, para realizar diferentes operaciones: lectura y ejecución, modificación o eliminación, permiso completo o ningún permiso.

La seguridad específica de artefactos no está habilitada de forma predeterminada. La configuración de seguridad a nivel de artefactos no está disponible actualmente mediante la interfaz de usuario. No obstante, se puede establecer mediante programación con la credencial de administrador del motor de reglas de negocios. En el siguiente fragmento de código se muestra cómo crear una nueva autorización y cómo asociar un grupo a un conjunto de reglas.

RuleSet rs;  
string RSName;     
  
// Create new user  
AuthorizationGroupEntry newuser = new AuthorizationGroupEntry(UserName, UID);  
AuthorizationGroupEntryCollection AGEC = new AuthorizationGroupEntryCollection();  
AGEC.Add(newuser);  
  
// Define new authorization group collection  
AuthorizationGroupCollection AGC = new AuthorizationGroupCollection();  
  
// Create new authorization group  
AuthorizationGroup AG = new AuthorizationGroup(GroupName, AccessPermit, AGEC);  
  
//add the authorization group to the authorization group collection  
AGC.Add(AG);  
  
//saving the authorization group collection to the rule store  
m_sqlRS.SaveAuthorizationGroups(AGC);  
  
rs = m_sqlRS.GetRuleSet(rsInfo[0]);                 
RSName = rs.Name;  
  
// Associate authorization group to the ruleset  
m_sqlRS.SetRuleSetAuthorizations(RSName, AGC);  
  
// Get ruleset by name from SQL rule store  
RuleSetInfoCollection rsInfo = m_sqlRS.GetRuleSets("myRuleSet", RuleStore.Filter.All);  

Nota

La utilización de seguridad de artefactos de nivel 1 puede disminuir el rendimiento, porque la directiva tendrá que efectuar una búsqueda en la base de datos con cada ejecución para evaluar el nivel de acceso de las aplicaciones antes de devolver una instancia del motor de reglas.

Consulte también

Notas de seguridad importantes para el motor de reglas de negocio