Configuración de credenciales de implementación para Azure App Service

Para proteger la implementación de aplicaciones desde un equipo local, Azure App Service admite dos tipos de credenciales para la implementación de Git local y la implementación de FTP/S. Estas credenciales no son las mismas que las de su suscripción a Azure.

  • Credenciales de nivel de usuario: un conjunto de credenciales para toda la cuenta de Azure. Se puede utilizar para implementar App Service en cualquier aplicación o suscripción para la que la cuenta de Azure tenga permiso de acceso. Este es también el conjunto predeterminado que aparece en la interfaz gráfica de usuario del portal (como la información general y las propiedades de la página de recursos de la aplicación). Cuando a un usuario se le otorga acceso a la aplicación a través del Control de acceso basado en rol (RBAC) o mediante permisos de coadministrador, ese usuario puede usar sus propias credenciales de nivel de usuario hasta que se le revoque el acceso. No comparta estas credenciales con otros usuarios de Azure.

  • Credenciales de nivel de aplicación: un conjunto de credenciales para cada aplicación. Se puede utilizar para implementar únicamente en esa aplicación. Las credenciales de cada aplicación se generan automáticamente cuando se crea la aplicación. Recuerde que no se pueden configurar manualmente, pero se pueden restablecer en cualquier momento. Para que un usuario obtenga acceso a las credenciales de nivel de aplicación a través del control de acceso basado en rol, ese usuario debe ser un colaborador o tener un rol superior en la aplicación (incluido el rol integrado de colaborador de sitio web). A los lectores no se les permite publicar contenido y no pueden obtener acceso a dichas credenciales.

Nota

La página Centro de desarrollo (clásico) en Azure Portal, que es la experiencia de implementación anterior, quedará en desuso en marzo de 2021. Este cambio no afectará a ninguna configuración de implementación existente en la aplicación y puede continuar con la administración de la implementación de aplicaciones en la página Centro de implementación.

Configuración de credenciales de ámbito de usuario

Ejecute el comando az webapp deployment user set. Reemplace <username> y <password> por su nombre de usuario y contraseña del usuario de implementación.

  • El nombre de usuario debe ser único dentro de Azure y no debe contener el símbolo "\@" para las inserciones de Git local.
  • La contraseña debe tener al menos ocho caracteres y dos de los tres elementos siguientes: letras, números y símbolos.
az webapp deployment user set --user-name <username> --password <password>

La salida JSON muestra la contraseña como null.

Uso de credenciales de ámbito de usuario con FTP/FTPS

La autenticación en un punto de conexión FTP o FTPS con credenciales de ámbito de usuario requiere un nombre de usuario con el formato siguiente: <app-name>\<user-name>

Puesto que las credenciales de ámbito de usuario están vinculadas al usuario y no a un recurso específico, el nombre de usuario debe tener este formato para dirigir la acción de inicio de sesión al punto de conexión de la aplicación adecuada.

Obtención de credenciales de ámbito de aplicación

Obtenga las credenciales del ámbito de aplicación mediante el comando az webapp deployment list-publishing-profiles. Por ejemplo:

az webapp deployment list-publishing-profiles --resource-group <group-name> --name <app-name>

Para la implementación de Git local, también puede usar el comando az webapp deployment list-publishing-credentials para obtener un URI de repositorio remoto de Git para la aplicación, con las credenciales del ámbito de aplicación ya insertadas. Por ejemplo:

az webapp deployment list-publishing-credentials --resource-group <group-name> --name <app-name> --query scmUri

Restablecimiento de credenciales de ámbito de aplicación

Restablezca las credenciales del ámbito de aplicación mediante el comando az resource invoke-action:

az resource invoke-action --action newpassword --resource-group <group-name> --name <app-name> --resource-type Microsoft.Web/sites

Deshabilitación de la autenticación básica

Algunas organizaciones deben cumplir los requisitos de seguridad y preferirán deshabilitar el acceso a través de FTP o WebDeploy. De este modo, los miembros de la organización solo pueden tener acceso a su instancia de App Services a través de las API que están controladas por Azure Active Directory (Azure AD).

FTP

Para deshabilitar el acceso FTP al sitio, ejecute el siguiente comando de la CLI. Reemplace los marcadores de posición por el grupo de recursos y el nombre del sitio.

az resource update --resource-group <resource-group> --name ftp --namespace Microsoft.Web --resource-type basicPublishingCredentialsPolicies --parent sites/<site-name> --set properties.allow=false

Para confirmar que el acceso FTP está bloqueado, puede intentar realizar la autenticación mediante un cliente FTP como FileZilla. Para recuperar las credenciales de publicación, vaya a la hoja de información general de su sitio y haga clic en Descargar perfil de publicación. Use el nombre de host, el nombre de usuario y la contraseña de FTP del archivo para autenticarse; recibirá una respuesta de error 401 que indica que no está autorizado.

WebDeploy y SCM

Para deshabilitar el acceso de autenticación básica al puerto de WebDeploy y al sitio de SCM, ejecute el siguiente comando de la CLI. Reemplace los marcadores de posición por el grupo de recursos y el nombre del sitio.

az resource update --resource-group <resource-group> --name scm --namespace Microsoft.Web --resource-type basicPublishingCredentialsPolicies --parent sites/<site-name> --set properties.allow=false

Para confirmar que las credenciales del perfil de publicación están bloqueadas en WebDeploy, pruebe a publicar una aplicación web con Visual Studio 2019.

Deshabilitación del acceso a la API

La API de la sección anterior está respaldada por el control de acceso basado en rol (RBAC) de Azure, lo que significa que puede crear un rol personalizado y asignarlo a usuarios con pocos privilegios para que no puedan habilitar la autenticación básica en ningún sitio. Para configurar el rol personalizado, siga estas instrucciones.

También puede usar Azure Monitor para auditar las solicitudes de autenticación correctas y Azure Policy para aplicar esta configuración a todos los sitios de la suscripción.

Pasos siguientes

Obtenga información sobre cómo usar estas credenciales para implementar la aplicación desde GIT local o con FTP/S.