Asignar un rol para habilitar la autenticación solo de Azure AD
Para habilitar o deshabilitar la autenticación solo de Azure AD, los roles integrados seleccionados son necesarios para los usuarios de Azure AD que ejecutan estas operaciones en este tutorial. En este tutorial vamos a asignar al usuario el rol Administrador de seguridad SQL.
En nuestro ejemplo, asignaremos el rol Administrador de seguridad SQL al usuario UserSqlSecurityManager@contoso.onmicrosoft.com. Con un usuario con privilegios que puede asignar roles Azure AD roles, inicie sesión en Azure Portal.
Vaya al recurso del servidor SQL y seleccione Control de acceso (IAM) en el menú. Seleccione el botón Agregar y, a continuación, Agregar asignación de roles en el menú desplegable.
En el panel Agregar asignación de roles, seleccione el rol Administrador de seguridad SQL y elija el usuario que quiera que tenga la capacidad de habilitar o deshabilitar la autenticación solo de Azure AD.
Vaya al recurso de SQL Managed Instance y seleccione Administrador de Active Directory en el menú Configuración.
Si no ha agregado un administrador de Azure Active Directory, deberá establecerlo para poder habilitar la autenticación solo de Azure AD.
Seleccione la casilla Solo se admite la autenticación Azure Active Directory para esta instancia administrada.
Se mostrará la ventana emergente Habilitar autenticación solo de Azure AD. Haga clic en Sí para habilitar la característica y guarde la configuración.
Habilitación en SQL Database con la CLI de Azure
Para habilitar la autenticación solo de Azure AD en Azure SQL Database mediante la CLI de Azure, consulte los comandos siguientes. Instale la versión más reciente de la CLI de Azure. La versión de la CLI de Azure debe ser 2.14.2 o posterior. Para obtener más información sobre estos comandos, consulte az sql server ad-only-auth.
Azure AD debe establecerse para el servidor antes de habilitar la autenticación solo de Azure AD. De lo contrario, se producirá un error en el comando de la CLI de Azure.
Para obtener los permisos y las acciones necesarios para que el usuario pueda realizar estos comandos para habilitar la autenticación solo de Azure AD, consulte el artículo sobre la autenticación solo de Azure AD.
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
az sql server ad-only-auth enable --resource-group <myresource> --name <myserver>
Habilitar en SQL Managed Instance con la CLI de Azure
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
az sql mi ad-only-auth enable --resource-group <myresource> --name <myserver>
Habilitar en SQL Database con PowerShell
Para habilitar la autenticación solo de Azure AD en Azure SQL Database mediante PowerShell, consulte los comandos siguientes. Se requiere el módulo Az.Sql 2.10.0 o posterior para ejecutar estos comandos. Para obtener más información sobre estos comandos, consulte Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication.
Azure AD debe establecerse para el servidor antes de habilitar la autenticación solo de Azure AD. De lo contrario, se producirá un error en el comando de PowerShell.
Para obtener los permisos y las acciones necesarios para que el usuario pueda realizar estos comandos para habilitar la autenticación solo de Azure AD, consulte el artículo sobre la autenticación solo de Azure AD. Si el usuario no tiene suficientes permisos, obtendrá el siguiente error:
Enable-AzSqlServerActiveDirectoryOnlyAuthentication : The client
'UserSqlServerContributor@contoso.onmicrosoft.com' with object id
'<guid>' does not have authorization to perform
action 'Microsoft.Sql/servers/azureADOnlyAuthentications/write' over scope
'/subscriptions/<guid>...'
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
Para habilitar la autenticación solo de Azure AD en Azure SQL Managed Instance mediante PowerShell, consulte los comandos siguientes. Se requiere el módulo Az.Sql 2.10.0 o posterior para ejecutar estos comandos.
Ejecute el siguiente comando reemplazando <myinstance> por el nombre de SQL Managed Instance y <myresource> por el recurso de Azure que contenga la instancia de SQL Managed Instance.
Vaya al recurso del servidor SQL en Azure Portal. Seleccione Azure Active Directory en el menú Configuración .
Comprobación del estado en SQL Managed Instance
Vaya al recurso de SQL Managed Instance en Azure Portal. Seleccione Administrador de Active Directory en el menú Configuración.
Estos comandos se pueden usar para comprobar si la autenticación solo de Azure AD está habilitada para el servidor lógico de Azure SQL Database o SQL Managed Instance. Los miembros de los roles colaborador de Colaborador de SQL Server y colaborador de SQL Managed Instance pueden usar estos comandos para comprobar el estado de la autenticación solo de Azure AD, pero no pueden habilitar ni deshabilitar la característica.
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
az sql server ad-only-auth get --resource-group <myresource> --name <myserver>
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
az sql mi ad-only-auth get --resource-group <myresource> --name <myserver>
Estos comandos se pueden usar para comprobar si la autenticación solo de Azure AD está habilitada para el servidor lógico de Azure SQL Database o SQL Managed Instance. Los miembros de los roles colaborador de Colaborador de SQL Server y colaborador de SQL Managed Instance pueden usar estos comandos para comprobar el estado de la autenticación solo de Azure AD, pero no pueden habilitar ni deshabilitar la característica.
El estado volverá a ser True si la característica está habilitada y será False si se deshabilita.
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
Ejecute el siguiente comando reemplazando <myinstance> por el nombre de SQL Managed Instance y <myresource> por el recurso de Azure que contenga la instancia de SQL Managed Instance.
Debería aparecer un mensaje de error de inicio de sesión similar al siguiente:
Cannot connect to <myserver>.database.windows.net.
Additional information:
Login failed for user 'username'. Reason: Azure Active Directory only authentication is enabled.
Please contact your system administrator. (Microsoft SQL Server, Error: 18456)
Deshabilitar la autenticación solo de Azure AD
Al deshabilitar la característica de autenticación solo de Azure AD, permite la autenticación de SQL y de Azure AD para Azure SQL.
Vaya al recurso del servidor SQL y seleccione Azure Active Directory en el menú Configuración.
Para deshabilitar la característica de autenticación solo de Azure AD, desactive la casilla Solo admite la autenticación de Azure Active Directory para este servidor y guarde la configuración.
Deshabilitación en SQL Managed Instance con Azure Portal
Vaya al recurso de SQL Managed Instance y seleccione Administrador de Active Directory en el menú Configuración.
Para deshabilitar la característica de autenticación solo de Azure AD, desactive la casilla Solo se admite la autenticación Azure Active Directory para esta instancia administrada y guarde la configuración.
Deshabilitar en SQL Database con la CLI de Azure
Para deshabilitar la autenticación solo de Azure AD en Azure SQL Database mediante la CLI de Azure, consulte los comandos siguientes.
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
az sql server ad-only-auth disable --resource-group <myresource> --name <myserver>
Después de deshabilitar la autenticación solo de Azure AD, debería ver lo siguiente al comprobar el estado:
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
az sql mi ad-only-auth disable --resource-group <myresource> --name <myserver>
Después de deshabilitar la autenticación solo de Azure AD, debería ver lo siguiente al comprobar el estado:
Ejecute el siguiente comando reemplazando <myserver> por el nombre de su servidor SQL y <myresource> por el recurso de Azure que contenga el servidor SQL.
Ejecute el siguiente comando reemplazando <myinstance> por el nombre de SQL Managed Instance y <myresource> por el recurso de Azure que contenga la instancia administrada.
Después de deshabilitar la autenticación solo de Azure AD, pruebe a conectarse mediante inicio de sesión con autenticación SQL. Ahora debería poder conectarse a su servidor o instancia.