Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
En este artículo se describe cómo crear un rol de aplicación en SQL Server mediante SQL Server Management Studio o Transact-SQL. Los roles de aplicación limitan el acceso de los usuarios a una base de datos excepto a través de aplicaciones específicas. Los roles de aplicación no tienen usuarios, por lo que la lista Miembros de rol no se muestra cuando se selecciona Rol de aplicación .
Importante
Al establecer las contraseñas de los roles de aplicación se comprueba la complejidad de la contraseña. Las aplicaciones que invocan roles de aplicación deben almacenar sus propias contraseñas. Las contraseñas de roles de aplicación deben almacenarse cifradas.
Contexto
A partir de SQL Server 2012 (11.x), SQL Server y Azure SQL DB usaron un hash SHA-512 combinado con una sal aleatoria y única de 32 bits. Este método lo hizo estadísticamente inviable para que los atacantes deducen contraseñas.
SQL Server 2025 (17.x) presenta un algoritmo hash iterado, RFC2898, también conocido como función de derivación de claves basada en contraseña (PBKDF). Este algoritmo sigue usando SHA-512, pero aplica hash a la contraseña varias veces (100 000 iteraciones), lo que ralentiza significativamente los ataques por fuerza bruta. Este cambio mejora la protección con contraseña en respuesta a las amenazas de seguridad en evolución y ayuda a los clientes a cumplir las directrices de NIST SP 800-63b. Esta mejora de seguridad usa un algoritmo hash más seguro, que puede aumentar ligeramente el tiempo de inicio de sesión para los inicios de sesión de autenticación de SQL. Por lo general, el impacto es menor en entornos con agrupación de conexiones, pero puede ser más notable en escenarios sin agrupación o donde se supervisa estrechamente la latencia de inicio de sesión.
Uso de SQL Server Management Studio
En el Explorador de objetos, expanda la base de datos donde desea crear un rol de aplicación.
Expanda la carpeta Seguridad .
Expanda la carpeta Roles .
Haga clic con el botón derecho en la carpeta Roles de aplicación y seleccione Nuevo rol de aplicación....
En el cuadro de diálogo Rol de aplicación - Nuevo, en la página General, escriba el nuevo nombre del nuevo rol de aplicación en el cuadro Nombre de rol.
En el cuadro Esquema predeterminado , determine el esquema al que pertenecerán los objetos creados por este rol especificando los nombres de objeto. Como alternativa, seleccione los puntos suspensivos (...) para abrir el cuadro de diálogo Locate Schema.
En el cuadro Contraseña , escriba una contraseña para el nuevo rol. Vuelva a escribir esa contraseña en el cuadro Confirmar contraseña .
En Esquemas propiedad de este rol, seleccione o vea los esquemas que pertenecerán a este rol. Un esquema solo puede ser propiedad de otro esquema o de un rol.
Seleccione Aceptar.
Opciones adicionales
En el cuadro de diálogo Rol de aplicación - Nuevo también se proporcionan opciones en dos páginas adicionales: Elementos protegibles y Propiedades extendidas.
La página Elementos protegibles muestra todos los elementos protegibles posibles y los permisos en esos elementos protegibles que se pueden conceder al inicio de sesión.
La página Propiedades extendidas permite agregar propiedades personalizadas a los usuarios de base de datos.
Uso de transact-SQL
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. Este código crea un rol de aplicación denominado
weekly_receiptsque tiene una contraseña ySalescomo su esquema predeterminado. Reemplace por<password>una contraseña segura.-- CREATE APPLICATION ROLE weekly_receipts WITH PASSWORD = '<password>' , DEFAULT_SCHEMA = Sales; GO
Permisos
Requiere permiso ALTER ANY APPLICATION ROLE en la base de datos.