De la Seguridad del acceso a datos en aplicaciones ASP ... - Willy .Net
De la Seguridad del acceso a datos en aplicaciones ASP ... - Willy .Net
De la Seguridad del acceso a datos en aplicaciones ASP ... - Willy .Net
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
{Insert figure: CH12 - SQL Application Roles.gif}<br />
Ilustración 12.5<br />
Utilizar varias funciones de aplicación SQL<br />
En <strong>la</strong> ilustración 12.5, <strong>la</strong> id<strong>en</strong>tidad ServiceId<strong>en</strong>tity1 que se utiliza para t<strong>en</strong>er <strong>acceso</strong><br />
a <strong>la</strong> base de <strong>datos</strong> se obti<strong>en</strong>e normalm<strong>en</strong>te <strong>del</strong> proceso de trabajo de <strong>ASP</strong>.NET o de<br />
una id<strong>en</strong>tidad <strong>del</strong> proceso de <strong>la</strong> aplicación de servidor de Servicios Empresariales.<br />
En esta opción, se utiliza <strong>la</strong> misma id<strong>en</strong>tidad de servicio (y por lo tanto <strong>la</strong> misma<br />
conexión) para conectarse a SQL Server. Las funciones de aplicación SQL se<br />
activan con el procedimi<strong>en</strong>to almac<strong>en</strong>ado integrado sp_setapprole, que se basa <strong>en</strong><br />
<strong>la</strong> pert<strong>en</strong><strong>en</strong>cia a <strong>la</strong> función <strong>del</strong> l<strong>la</strong>mador. Este procedimi<strong>en</strong>to almac<strong>en</strong>ado requiere el<br />
nombre de <strong>la</strong> función y una contraseña.<br />
Si utiliza esta opción, debe almac<strong>en</strong>ar de forma segura <strong>la</strong>s cred<strong>en</strong>ciales <strong>del</strong> nombre<br />
de <strong>la</strong> función y <strong>la</strong> contraseña. Para obt<strong>en</strong>er más consejos y técnicas de<br />
almac<strong>en</strong>ami<strong>en</strong>to de secretos, consulte "Almac<strong>en</strong>ar cad<strong>en</strong>as de conexión a bases de<br />
<strong>datos</strong> de forma segura" más ade<strong>la</strong>nte <strong>en</strong> este capítulo.<br />
Limitaciones de <strong>la</strong>s funciones de aplicación SQL<br />
<strong>De</strong>be t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta los sigui<strong>en</strong>tes puntos principales antes de elegir el uso de <strong>la</strong>s<br />
funciones de aplicación SQL:<br />
Necesita administrar cred<strong>en</strong>ciales de <strong>la</strong>s funciones de aplicación SQL. <strong>De</strong>be<br />
l<strong>la</strong>mar al procedimi<strong>en</strong>to almac<strong>en</strong>ado sp_setapprole; para ello, pase un<br />
nombre de <strong>la</strong> función y una contraseña para cada conexión. Si está activando<br />
una función de aplicación SQL desde código administrado, no será seguro<br />
t<strong>en</strong>er incrustada <strong>en</strong> el <strong>en</strong>samb<strong>la</strong>do una contraseña con texto sin cifrar.<br />
Las cred<strong>en</strong>ciales de <strong>la</strong> función de aplicación SQL se pasan a <strong>la</strong> base de <strong>datos</strong><br />
como texto sin cifrar. <strong>De</strong>bería asegurar<strong>la</strong>s <strong>en</strong> <strong>la</strong> red mediante IPSec o SSL<br />
<strong>en</strong>tre el servidor de <strong>aplicaciones</strong> y el servidor de base de <strong>datos</strong>.<br />
Una vez que se activa una función de aplicación SQL <strong>en</strong> una conexión, ya no<br />
puede desactivarse. Permanece activa hasta que se cierra <strong>la</strong> conexión.<br />
Tampoco es posible intercambiar dos o más funciones <strong>en</strong> <strong>la</strong> misma conexión.<br />
Utilice funciones de aplicación SQL únicam<strong>en</strong>te cuando <strong>la</strong> aplicación utilice<br />
una id<strong>en</strong>tidad fija única para conectarse a <strong>la</strong> base de <strong>datos</strong>. En otras pa<strong>la</strong>bras,<br />
utilíce<strong>la</strong>s únicam<strong>en</strong>te cuando <strong>la</strong> aplicación utilice el mo<strong>del</strong>o de subsistema de<br />
confianza.<br />
Si cambia el contexto de seguridad de <strong>la</strong> conexión (por ejemplo, si se utilizara<br />
el contexto <strong>del</strong> l<strong>la</strong>mador original para conectarse a <strong>la</strong> base de <strong>datos</strong>), <strong>la</strong>s<br />
funciones de aplicación SQL no funcionan junto con <strong>la</strong> agrupación de <strong>la</strong><br />
conexión.<br />
Para obt<strong>en</strong>er más información, consulte el artículo Q229564, "PRB: SQL<br />
Application Role Errors with OLE DB Resource Pooling" (<strong>en</strong> inglés), <strong>en</strong><br />
Microsoft Knowledge Base.