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.
En este artículo se describe cómo deshabilitar la autenticación básica de nombre de usuario y contraseña para implementar código en aplicaciones de Azure App Service. En el artículo se explican varias maneras de deshabilitar la autenticación básica, los métodos de implementación alternativos, si los hay, y cómo supervisar los intentos de acceso a la autenticación básica.
App Service proporciona autenticación básica para los clientes FTP y Web Deploy, permitiéndoles conectarse mediante credenciales de implementación usando nombre de usuario y contraseña. Las API de autenticación básicas son buenas para explorar el sistema de archivos del sitio, cargar controladores y utilidades e implementar con MSBuild. Para más información, consulte Configuración de credenciales de implementación para Azure App Service.
Las empresas suelen requerir métodos de implementación más seguros que la autenticación básica, como el id. de Microsoft Entra. Los tokens de acceso de Microsoft Entra OAuth 2.0 tienen una duración útil limitada, son específicas de las aplicaciones y los recursos para los que se emiten y no se pueden reutilizar. La autorización basada en tokens de OAuth ayuda a mitigar muchos problemas con la autenticación básica.
Microsoft Entra también le permite implementar desde otros servicios de Azure mediante identidades administradas. Para más información, consulte Tipos de autenticación por método de implementación en Azure App Service.
Prerrequisitos
- Para deshabilitar la autenticación básica para el acceso FTP a una aplicación, debe tener acceso de nivel de propietario a la aplicación.
- Para crear y asignar un rol para evitar que los usuarios con privilegios inferiores habiliten la autenticación básica, debe tener permisos de propietario o administrador de acceso de usuario en la suscripción.
Deshabilitación de la autenticación básica
Para la implementación de FTP, la autenticación básica se controla mediante la basicPublishingCredentialsPolicies/ftp
marca o la opción del portal de credenciales de publicación de autenticación básica de FTP.
Para otros métodos de implementación que usan la autenticación básica, como Visual Studio, Git local y GitHub, la autenticación básica se controla mediante el basicPublishingCredentialsPolicies/scm
indicador o la opción del portal Credenciales de Publicación de Autenticación Básica de SCM.
Nota:
La autenticación básica de SCM es necesaria para habilitar la autenticación básica de FTP.
Para deshabilitar la autenticación básica:
En Azure Portal, busque y seleccione App Services y luego elija la aplicación.
En el menú de navegación izquierdo de la aplicación, seleccione Configuración>general.
Seleccione Desactivado para credenciales de publicación de autenticación básica de SCM, credenciales básicas de publicación de autenticación de FTP o ambas y, a continuación, seleccione Guardar.
Para confirmar que el acceso FTP está bloqueado, intente conectarse a la aplicación mediante FTP/FTPS. Debería obtener un mensaje 401 Sin autenticar .
Para confirmar que el acceso a Git está bloqueado, pruebe la implementación local de Git. Debería obtener un mensaje de error de autenticación .
Implementación sin autenticación básica
Al deshabilitar la autenticación básica, los métodos de implementación que dependen de la autenticación básica ya no funcionan. Algunos métodos de implementación tienen mecanismos de implementación de reserva.
En la tabla siguiente se muestra cómo se comportan varios métodos de implementación cuando se deshabilita la autenticación básica y el mecanismo de reserva si existe. Para más información, consulte Tipos de autenticación por métodos de implementación en Azure App Service.
Método de implementación | Cuando la autenticación básica está deshabilitada |
---|---|
Implementación de Visual Studio | La implementación con la autenticación de Microsoft Entra requiere Visual Studio 2022, versión 17.12 o posterior. |
FTP | No funciona. |
Git local | No funciona. |
CLI de Azure | En la CLI de Azure 2.48.1 o posteriores, los siguientes comandos usan la autenticación de Microsoft Entra:az webapp up .az webapp deploy .az webapp log deployment show .az webapp log deployment list .az webapp log download .az webapp log tail .az webapp browse .az webapp create-remote-connection .az webapp ssh .az functionapp deploy .az functionapp log deployment list .az functionapp log deployment show .az functionapp deployment source config-zip . |
Complemento Maven o complemento Gradle | Funciona. |
Acciones de GitHub | Los flujos de trabajo de Acciones de GitHub existentes que usan la autenticación básica no funcionan. Desconecte la configuración de GitHub existente y cree una nueva configuración de Acciones de GitHub que use la identidad asignada por el usuario. - Si la implementación de Acciones de GitHub existente se ha configurado manualmente, use una entidad de servicio u OpenID Connect en su lugar. Para los nuevos flujos de trabajo de Acciones de GitHub, use la opción identidad asignada por el usuario . |
GitHub con el servicio de compilación de App Service | No funciona. |
Implementación desde el Asistente de creación del portal | Si selecciona un origen de implementación continua cuando la autenticación básica está establecida en Deshabilitar, Acciones de GitHub se configura con la opción de identidad asignada por el usuario (OpenID Connect). |
Bitbucket | No funciona. |
Azure Repos con el servicio de compilación de App Service | No funciona. |
Azure Repos con Azure Pipelines | Funciona. |
Azure Pipelines con AzureWebApp tarea |
Funciona. |
Creación de un rol personalizado para evitar la habilitación de la autenticación básica
Para evitar que los usuarios con privilegios inferiores habiliten la autenticación básica para cualquier aplicación, puede crear un rol personalizado y asignar los usuarios al rol.
En Azure Portal, seleccione la suscripción en la que desea crear el rol personalizado.
En el menú de navegación izquierdo, seleccione Control de acceso (IAM)>Agregar>rol personalizado.
En la página Crear un rol personalizado , asigne un nombre al rol y, a continuación, seleccione Siguiente.
En la pestaña Permisos , seleccione Excluir permisos.
Busque y seleccione Microsoft Web Apps.
Busque y expanda microsoft.web/sites/basicPublishingCredentialsPolicies.
Seleccione el cuadro Escribir y, a continuación, seleccione Agregar. Este paso agrega la operación a NotActions para el rol.
Vuelva a seleccionar Excluir permisos .
Busque y expanda microsoft.web/sites/slots/basicPublishingCredentialsPolicies, seleccione el cuadro Escribir y, a continuación, seleccione Agregar.
La pestaña Permisos debería tener ahora un aspecto similar a la siguiente captura de pantalla. Seleccione Revisar y crear y, luego, Crear.
Ahora puede asignar este rol a los usuarios de la organización. Para más información, consulte Creación o actualización de roles personalizados de Azure mediante Azure Portal.
Supervisión de los intentos de autenticación básicos
Todos los inicios de sesión correctos e intentados se registran en el tipo de registro de Azure Monitor AppServiceAuditLogs
. Para auditar los inicios de sesión intentados y exitosos en FTP y Web Deploy, siga los pasos descritos en Envío de registros a Azure Monitor y habilite el envío del AppServiceAuditLogs
tipo de registro.
Para confirmar que los registros se envían a los servicios seleccionados, pruebe a iniciar sesión a través de FTP o Web Deploy. En el ejemplo siguiente se muestra un registro de cuenta de almacenamiento.
{
"time": "2023-10-16T17:42:32.9322528Z",
"ResourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.WEB/SITES/MY-DEMO-APP",
"Category": "AppServiceAuditLogs",
"OperationName": "Authorization",
"Properties": {
"User": "$my-demo-app",
"UserDisplayName": "$my-demo-app",
"UserAddress": "24.19.191.170",
"Protocol": "FTP"
}
}
Uso de directivas básicas relacionadas con la autenticación
Azure Policy puede ayudarle a aplicar los estándares de la organización y evaluar el cumplimiento a escala. Puede usar Azure Policy para auditar cualquier aplicación que siga usando la autenticación básica y corregir los recursos no compatibles. En la lista siguiente se muestran directivas integradas para auditar y corregir la autenticación básica en App Service:
- Directiva de auditoría para FTP
- Directiva de auditoría para SCM
- Directiva de corrección para FTP
- Política de corrección para la gestión de la cadena de suministro
En la lista siguiente se muestran las directivas correspondientes para las ranuras:
- Directiva de auditoría para FTP
- Directiva de auditoría para SCM
- Directiva de corrección para FTP
- Política de corrección para la gestión de la cadena de suministro
Contenido relacionado
- Tipos de autenticación por método de implementación en Azure App Service
- Configuración de la implementación continua en Azure App Service
- Implementación en Azure App Service mediante Acciones de GitHub
- Implementación en Azure App Service mediante Git localmente
- Implementación de la aplicación en Azure App Service mediante FTP/S