Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment désactiver l’authentification de nom d’utilisateur et de mot de passe de base pour déployer du code sur des applications Azure App Service. L’article explique plusieurs façons de désactiver l’authentification de base, les méthodes de déploiement de secours le cas échéant et comment surveiller les tentatives d’accès d’authentification de base.
App Service fournit une authentification de base pour permettre aux clients FTP et Web Deploy de se connecter avec des identifiants de déploiement, comprenant un nom d'utilisateur et un mot de passe. Les API d’authentification de base permettent de parcourir le système de fichiers de votre site, de charger des pilotes et des utilitaires et de les déployer avec MSBuild. Pour plus d’informations, consultez Configurer les informations d’identification de déploiement pour Azure App Service.
Les entreprises nécessitent souvent des méthodes de déploiement plus sécurisées que l’authentification de base, comme l’ID Microsoft Entra. Les jetons d’accès Microsoft Entra OAuth 2.0 ont une durée de vie utilisable limitée, sont spécifiques aux applications et aux ressources pour lesquelles elles sont émises et ne peuvent pas être réutilisées. L’autorisation basée sur des jetons OAuth permet d’atténuer de nombreux problèmes liés à l’authentification de base.
Microsoft Entra vous permet également de déployer à partir d’autres services Azure à l’aide d’identités managées. Pour plus d’informations, consultez Types d’authentification par méthode de déploiement dans Azure App Service.
Conditions préalables
- Pour désactiver l’authentification de base pour l’accès FTP à une application, vous devez disposer d’un accès au niveau du propriétaire à l’application.
- Pour créer et attribuer un rôle pour empêcher les utilisateurs disposant de privilèges inférieurs d’activer l’authentification de base, vous devez disposer d’autorisations Propriétaire ou Administrateur d’accès utilisateur dans l’abonnement.
Désactiver l’authentification de base
Pour le déploiement FTP, l'authentification de base est contrôlée par le paramètre basicPublishingCredentialsPolicies/ftp ou l'option d'authentification de base FTP sur le portail.
Pour d’autres méthodes de déploiement qui utilisent l’authentification basique, telles que Visual Studio, Git local et GitHub, l’authentification basique est contrôlée par l’indicateur basicPublishingCredentialsPolicies/scm ou l’option du portail SCM Basic Auth Publishing Credentials.
Remarque
L’authentification de base SCM est requise pour activer l’authentification de base FTP.
Pour désactiver l’authentification de base :
Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.
Dans le menu de navigation gauche de l’application, sélectionnezParamètres généraux>.
Sélectionnez Désactivé pour les informations d’identification d’authentification de base SCM, les informations d’identification de publication d’authentification FTP de base, ou les deux, puis sélectionnez Enregistrer.
Pour vérifier que l’accès FTP est bloqué, essayez de vous connecter à votre application à l’aide de FTP/FTPS. Vous devez recevoir un message non authentifié 401 .
Pour confirmer que l’accès Git est bloqué, essayez déploiement Git local. Vous devez recevoir un message d’authentification ayant échoué .
Déployer sans authentification de base
Lorsque vous désactivez l’authentification de base, les méthodes de déploiement qui dépendent de l’authentification de base ne fonctionnent plus. Certaines méthodes de déploiement ont des mécanismes de déploiement de secours.
Le tableau suivant montre comment se comportent les différentes méthodes de déploiement lorsque l’authentification de base est désactivée et le mécanisme de secours le cas échéant. Pour plus d’informations, consultez Types d’authentification par méthodes de déploiement dans Azure App Service.
| Méthode de déploiement | Lorsque l’authentification de base est désactivée |
|---|---|
| Déploiement Visual Studio | Le déploiement avec l’authentification Microsoft Entra nécessite Visual Studio 2022 version 17.12 ou ultérieure. |
| FTP | Ne fonctionne pas. |
| Git local | Ne fonctionne pas. |
| Azure CLI (Interface de ligne de commande Azure) | Dans Azure CLI 2.48.1 ou version ultérieure, les commandes suivantes se replient sur l’authentification 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. |
| Plug-in Maven ou plug-in Gradle | Fonctionne. |
| Actions GitHub | Les flux de travail GitHub Actions existants qui utilisent l’authentification de base ne fonctionnent pas. Déconnectez la configuration GitHub existante et créez une configuration GitHub Actions qui utilise l’identité affectée par l’utilisateur. Si le déploiement GitHub Actions existant est configuré manuellement, essayez d’utiliser un principal de service ou OpenID Connect à la place. Pour les nouveaux flux de travail GitHub Actions, utilisez l’option d’identité affectée par l’utilisateur . |
| GitHub avec le service de build App Service | Ne fonctionne pas. |
| Déploiement à partir de l’assistant de création du portail | Si vous sélectionnez une source de déploiement continue lorsque l’authentification de base est définie sur Désactiver, GitHub Actions est configuré avec l’option d’identité affectée par l’utilisateur (OpenID Connect). |
| Bitbucket | Ne fonctionne pas. |
| Azure Repos avec le service de build App Service | Ne fonctionne pas. |
| Azure Repos avec Azure Pipelines | Fonctionne. |
Azure Pipelines avec tâche AzureWebApp |
Fonctionne. |
Créer un rôle personnalisé pour empêcher l’activation de l’authentification de base
Pour empêcher les utilisateurs à privilèges inférieurs d’activer l’authentification de base pour n’importe quelle application, vous pouvez créer un rôle personnalisé et affecter les utilisateurs au rôle.
Dans le portail Azure, sélectionnez l’abonnement dans lequel vous souhaitez créer le rôle personnalisé.
Dans le menu de navigation de gauche, sélectionnez Contrôle d’accès (IAM)>Ajouter>un rôle personnalisé.
Dans la page Créer un rôle personnalisé , donnez un nom au rôle, puis sélectionnez Suivant.
Sous l’onglet Autorisations , sélectionnez Exclure les autorisations.
Recherchez et sélectionnez Microsoft Web Apps.
Recherchez et développez microsoft.web/sites/basicPublishingCredentialsPolicies.
Sélectionnez la zone Écrire, puis sélectionnez Ajouter. Cette étape ajoute l’opération aux NotActions du rôle.
Sélectionnez à nouveau Exclure les autorisations .
Recherchez et développez microsoft.web/sites/slots/basicPublishingCredentialsPolicies sélectionnez la zone Écrire, puis sélectionnez Ajouter.
Votre onglet Autorisations doit maintenant ressembler à la capture d’écran suivante. Sélectionnez Examiner + créer, puis sélectionnez Créer.
Vous pouvez maintenant attribuer ce rôle aux utilisateurs de votre organisation. Pour plus d’informations, consultez Créer ou mettre à jour des rôles personnalisés Azure à l’aide du portail Azure.
Surveiller les tentatives d’authentification de base
Toutes les connexions réussies et tentées sont enregistrées dans le type de journal Azure Monitor AppServiceAuditLogs. Pour auditer les tentatives et les connexions réussies sur FTP et Web Deploy, suivez les étapes décrites dans Envoyer des journaux à Azure Monitor et activez l'expédition du type de AppServiceAuditLogs journal.
Pour vérifier que les journaux d’activité sont envoyés à vos services sélectionnés, essayez de vous connecter via FTP ou Web Deploy. L’exemple suivant montre un journal de compte de stockage.
{
"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"
}
}
Utiliser des stratégies liées à l’authentification de base
Azure Policy peut vous aider à appliquer des normes organisationnelles et à évaluer la conformité à grande échelle. Vous pouvez utiliser Azure Policy pour auditer les applications qui utilisent toujours l’authentification de base, puis corriger toutes les ressources non conformes. La liste suivante présente des stratégies intégrées pour l’audit et la correction de l’authentification de base sur App Service :
- Stratégie d’audit pour FTP
- Stratégie d’audit pour SCM
- Stratégie de correction pour FTP
- Stratégie de correction pour SCM
La liste suivante présente les stratégies correspondantes pour les emplacements :
- Stratégie d’audit pour FTP
- Stratégie d’audit pour SCM
- Stratégie de correction pour FTP
- Stratégie de correction pour SCM
Contenu connexe
- Types d’authentification par méthode de déploiement dans Azure App Service
- Configurer le déploiement continu sur Azure App Service
- Déployer sur Azure App Service à l’aide de GitHub Actions
- Déployer sur Azure App Service à l’aide de Git localement
- Déployer votre application dans Azure App Service avec FTP/S