Ejercicio: configuración de la autenticación

Completado

En este ejercicio, creará inicios de sesión, usuarios y administradores, y concederá a usuarios de Microsoft Entra acceso a la base de datos, como haría para usuarios normales de SQL Server.

  1. Abra SQL Server Management Studio (SSMS) y conéctese a su servidor lógico de Azure SQL Database, si aún no está conectado.

  2. Después de configurar su base de datos y de conectarse a ella, el paso siguiente podría ser agregar otros usuarios y concederles acceso. Como en SQL Server, puede agregar nuevos inicios de sesión y usuarios.

    En SSMS, haga clic con el botón derecho en el servidor de bases de datos, seleccione Nueva consulta y cree una nueva consulta con el siguiente comando. Seleccione Ejecutar para ejecutar la consulta:

    -- Create a new SQL login and give them a password
    CREATE LOGIN ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    

    Sugerencia

    Para la mayoría de las consultas de Azure SQL Database, debe hacer clic con el botón derecho en la base de datos en el servidor lógico de Azure SQL Database. En SQL Server y Azure SQL Managed Instance, puede realizar consultas en el nivel de servidor y utilizar USE <DatabaseName>, pero en Azure SQL Database, debe realizar consultas a la base de datos directamente. Esto se debe a que no se admite la instrucción USE. Hay algunas excepciones para realizar consultas a la base de datos en Azure SQL Database, y una de ellas es los inicios de sesión. Debe conectarse a la base de datos master virtual para crear y modificar inicios de sesión.

    Ahora tiene un inicio de sesión en el nivel de servidor. El siguiente paso consiste en crear usuarios en la base de datos AdventureWorks y concederles acceso de lectura y escritura (en caso necesario). Haga clic con el botón derecho en la base de datos AdventureWorks y seleccione New Query. Cree una nueva consulta con el comando siguiente y, a continuación, seleccione Ejecutar:

    -- Create a new SQL user from that login
    CREATE USER ApplicationUser FOR LOGIN ApplicationUser;
    
    -- Until you run the following two lines, ApplicationUser has no access to read or write data
    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

    Los usuarios solo podrán iniciar sesión en la base de datos AdventureWorks, no en todo el servidor.

    El procedimiento recomendado consiste en crear cuentas que no sean de administrador en el nivel de base de datos, a menos que los usuarios tengan que poder ejecutar tareas de administrador.

  3. En SQL Server, puede que esté familiarizado con el concepto de usuario de base de datos independiente. Esto significa que un usuario solo tiene acceso a bases de datos específicas y no tiene credenciales para el servidor. En Azure SQL Database, puede crear usuarios de base de datos independiente con autenticación de SQL o autenticación de Microsoft Entra. Debe encontrase en el contexto de la base de datos de usuario en la que desee crear acceso de usuario (en lugar de estar en la master). En SSMS, haga clic con el botón derecho en la base de datos y seleccione Nueva consulta. Cree una nueva consulta con el comando siguiente y luego seleccione Ejecutar:

    CREATE USER MyDatabaseUser WITH PASSWORD = 'C0mpl3xPa55word!'
    
  4. Seleccione Conectar en la parte superior izquierda del Explorador de objetos y luego seleccioneMotor de base de datos. Configure la página principal para que se conecte al servidor lógico de Azure SQL Database. Para el inicio de sesión, escriba MyDatabaseUser y, para la contraseña, escriba C0mpl3xPa55word!.

  5. También debe establecer el nombre de la base de datos, lo que puede hacer si va a Opciones>Parámetros de conexión adicionales, donde puede escribir Initial Catalog=AdventureWorks. Debe hacerlo manualmente, ya que MyDatabaseUser no tiene acceso para examinar el servidor y seleccionar una base de datos.

  6. Seleccione Conectar y confirme que puede acceder a la base de datos.

  7. Como paso de limpieza, haga clic con el botón derecho en la conexión de MyDatabaseUser y seleccione Desconectar.

Concesión de acceso a otros usuarios de Microsoft Entra

Puede crear inicios de sesión desde cuentas de Microsoft Entra como un usuario de base de datos independiente mediante la sintaxis de T-SQL CREATE USER [anna@contoso.com] FROM EXTERNAL PROVIDER. Un usuario de base de datos independiente se asigna a una identidad en el directorio de Microsoft Entra asociado a la base de datos y no tiene inicio de sesión en la base de datos master.

Con la introducción de los inicios de sesión del servidor de Microsoft Entra en Azure SQL Database, puede crear inicios de sesión a partir de entidades de seguridad de Microsoft Entra en la base de datos virtual master de un SQL Database. Puede crear inicios de sesión de Microsoft Entra desde usuarios, grupos y entidades de servicio de Microsoft Entra. Para obtener más información, consulte Entidades de seguridad de servidor de Microsoft Entra.

Además, solo puede usar Azure Portal para crear administradores y los roles de control de acceso basado en rol de Azure no se propagan a los servidores lógicos de Azure SQL Database. Se deben conceder permisos adicionales de servidor y de base de datos mediante Transact-SQL (T-SQL).