Configurer les fonctionnalités de mise en réseau et de sécurité

Effectué

Les principales fonctionnalités de mise en réseau et de sécurité dans le serveur flexible Azure Database pour MySQL – incluent le contrôle d’accès, la connectivité, la prise en charge de Microsoft Entra ID, une plateforme centralisée pour la gestion des identités, des rôles et des autorisations. Les serveurs flexibles MySQL chiffrent également toutes les données en transit par défaut et permettent de chiffrer les données au repos avec des clés gérées par Azure ou par le client.

Mise en réseau

Configurer l’accès réseau

Lors de la création d’un serveur flexible MySQL, vous pouvez sélectionner un accès privé via un réseau virtuel Azure ou un accès public pour les adresses IP listées autorisées avec un point de terminaison privé facultatif. Une fois la section De base terminée, sélectionnez Suivant : Mise en réseau, puis sélectionnez Accès public et point de terminaison privé ou Accès privé :

Capture d’écran du choix de connectivité réseau entre l’accès public et privé.

Si vous sélectionnez Accès public et le point de terminaison privé, vous pouvez choisir d’exposer la base de données à Internet. Si Autoriser l’accès public n’est pas sélectionné, la base de données est accessible uniquement par les points de terminaison privés et n’utilise pas d’adresse IP publique. Pour conserver l’accès à Internet public, sélectionnez Autoriser l’accès public, puis, sous la section Règles de pare-feu, ajoutez des adresses IP ou des plages à la liste d’autorisation. Pour ajouter tous les services Azure du réseau Azure à la liste d’autorisation, sélectionnez Autoriser l’accès public à ce serveur à partir de n’importe quel service Azure au sein d’Azure.

Capture d’écran de la sélection de la connectivité réseau pour l’accès public et une liste de règles de pare-feu.

En plus ou au lieu d’un accès public, vous pouvez configurer un point de terminaison privé. Étant donné que Wingtip Toys prévoit d’utiliser un VPN entre son réseau local et Azure, nous allons ignorer le point de terminaison privé. Pour plus d’informations sur la configuration d’une liaison privée, consultez la documentation de référence.

Pour autoriser uniquement les connexions à partir du réseau virtuel, sélectionnez Accès privé, puis sélectionnez l’Abonnementapproprié, le réseau virtuelet le sous-réseau. Si vous ne sélectionnez pas de réseau virtuel et de sous-réseau, un nouveau réseau et un sous-réseau sont créés.

Capture d’écran des paramètres du réseau virtuel, y compris l’abonnement, le réseau virtuel et le sous-réseau.

Enfin, vous devez configurer intégration du DNS privé pour vous connecter à un nom de domaine complet au lieu d’une adresse IP susceptible de changer. Sélectionnez une zone DNS existante ou laissez Azure en créer une nouvelle pour vous.

Capture d’écran de la configuration d’intégration DNS privée.

Configurer le chiffrement en transit

Par défaut, les serveurs flexibles MySQL acceptent uniquement les connexions chiffrées à l’aide de TLS (Transport Layer Security) version 1.2. Si vous développez de nouvelles applications qui prennent en charge TLS 1.3, il est recommandé de prendre en charge ou même d’appliquer la version la plus récente. Pour ce faire, procédez comme suit :

  1. Dans le portail Azure, sélectionnez le serveur flexible MySQL auquel vous souhaitez vous connecter avec TLS 1.3.
  2. Dans la section Paramètres du serveur, entrez tls_version dans la barre de recherche dans les filtres Top ou Tous les filtres.
  3. Dans la liste déroulante VALUE, sélectionnez TLSv1.2 et/ou TLSv1.3, puis sélectionnez Enregistrer. Capture d’écran de server-parameters-tls-version.

Vous pouvez également autoriser les connexions non chiffrées en définissant la valeur du paramètre require_secure_transport sur off, mais cela n’est pas recommandé, sauf si strictement nécessaire.

Microsoft Defender for Cloud

Microsoft Defender pour le cloud est un moyen économique de détecter et d’alerter en cas d’activité anormale ou suspecte de base de données. Pour l’activer, procédez comme suit :

  1. Dans le portail Azure, sélectionnez le serveur flexible MySQL que vous souhaitez protéger avec Defender.

  2. Dans la section Microsoft Defender pour le cloud, sélectionnez Activer.

Capture d’écran de la sélection pour activer Microsoft Defender pour le cloud.

Pour en savoir plus sur Defender, notamment sur la configuration des alertes, consultez la documentation de référence.

Activer et se connecter à l’aide de l’authentification Microsoft Entra ID

Avant de commencer, vous aurez besoin d’une identité managée par l’utilisateur ou l’utilisatrice (UMI) correctement configurée. L’identité a besoin du rôle lecteurs de répertoire, ou des autorisations individuelles suivantes : User.Read.All, GroupMember.Read.Allet Application.Read.ALL. Pour plus d’informations sur l’ajout de ces autorisations, consultez ce didacticiel.

Pour activer l’authentification Microsoft Entra ID pour un serveur flexible Azure Database pour MySQL, procédez comme suit :

  1. Dans le portail Azure, sélectionnez le serveur flexible MySQL auquel vous souhaitez vous connecter à l’aide de Microsoft Entra ID.

  2. Dans la section Sécurité, sélectionnez Authentification.

    Capture d’écran de la configuration de Microsoft Entra ID.

  3. Sous le titre Attribuer l’accès à, sélectionnez : Authentification Microsoft Entra uniquement (désactive la connexion MySQL native par nom d’utilisateur/mot de passe) ou Authentification MySQL et Microsoft Entra (autorise les connexions MySQL natives et Microsoft Entra).

  4. Sous le titre Sélectionner l’identité, sélectionnez l’UMI mentionné précédemment dans cette unité.

  5. Sélectionnez un(e) utilisateur(-trice) ou un groupe Microsoft Entra pour qu’il soit administrateur(-trice) Microsoft Entra. Si vous sélectionnez un groupe, tous les membres du groupe sont des administrateurs. Vous ne pouvez avoir qu’un(e) utilisateur(-trice) ou un groupe d’administrateurs et sélectionner un autre remplace l’administrateur(-trice) précédent(e).

    Avec Microsoft Entra ID activé, vous pouvez maintenant vous connecter au serveur flexible MySQL à l’aide de l’authentification Microsoft Entra ID en effectuant les étapes suivantes.

  6. Authentifier un shell avec Azure. Si vous utilisez Azure Cloud Shell, votre identité est déjà configurée dans la session. Vous n’avez donc pas besoin de vous connecter. Si vous utilisez un terminal non authentifié, exécutez les commandes suivantes :

    az login
    az account set --subscription <subscription_id>
    
  7. Dans un shell authentifié, exécutez la commande suivante pour récupérer un jeton d’accès :

    az account get-access-token --resource-type oss-rdbms

  8. Pour vous connecter, copiez le jeton d’accès présenté et utilisez-le comme mot de passe. Pour transmettre directement le jeton d’accès au client mysql, sur Linux, exécutez la commande suivante :

    mysql -h mydb.mysql.database.azure.com \
     --user user@tenant.onmicrosoft.com \
     --enable-cleartext-plugin \
     --password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken`
    

    Si vous utilisez PowerShell, exécutez la commande suivante :

    mysql -h mydb.mysql.database.azure.com \
     --user user@tenant.onmicrosoft.com \
     --enable-cleartext-plugin \
     --password=$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)
    

    Lorsque vous utilisez d’autres clients comme MySQL Workbench, collez simplement le jeton d’accès dans le champ de mot de passe.

Chiffrement des données au repos avec des clés managées par le client

Vous pouvez configurer le chiffrement au repos à l’aide du portail Azure ou à l’aide d’Azure CLI. Toutefois, avant de pouvoir activer le chiffrement avec des clés managées par le client, vous devez vérifier que les conditions préalables suivantes sont en place :

  • Identité managée par l’utilisateur(-trice). Vous avez besoin d’une identité managée par l’utilisateur(-trice) pour la base de données pour accéder au coffre de clés.

  • Autorisations. Configurez la gestion des identités et des accès (IAM) ou une stratégie d’accès au coffreet accordez les autorisations suivantes à l’identité managée par l’utilisateur(-trice) : Obtenir, lister, inclure la clé et ne pas inclure la clé.

  • Activer [suppression réversible](/azure/key-vault/general/soft-delete-overview" /l "soft-delete-behavior). La perte accidentelle d’accès à une clé de chiffrement peut entraîner une perte de données permanente. Activez la suppression réversible en tant que couche de protection. Lorsque vous utilisez le portail Azure pour créer un coffre de clés, la suppression réversible est activée par défaut.

    Si vous connaissez le nom du coffre, mais pas son ID, vous pouvez le rechercher en exécutant :

    az keyvault show --name $KEY_VAULT_NAME
    

    Pour activer la suppression réversible sur un coffre existant, exécutez :

    az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
    
  • Activer la protection contre le vidage. Une clé supprimée de manière réversible peut toujours être vidée incorrectement avant la fin de la période de rétention en raison d’une erreur d’utilisateur(-trice) ou de code. L’utilisation de la protection contre le vidage définit une période de rétention pour les objets supprimés avant qu’ils ne soient définitivement supprimés.

Vous pouvez maintenant utiliser le Portail Azure ou l’interface Azure CLI pour configurer la clé gérée par le client afin de chiffrer les données au repos.

Si vous utilisez le Portail Azure :

  1. Accédez à votre instance de serveur flexible, puis, sous Sécurité, sélectionnez Chiffrement des données.

    Capture d’écran de la page paramètres pour sélectionner une clé managée par le client.

  2. Sous Chiffrement des données, sélectionnez + Sélectionner. Dans la boîte de dialogue Sélectionner l’identité managée affectée à l’utilisateur(-trice), sélectionnez l’identité managée affectée à l’utilisateur(-trice) identifiée dans les conditions préalables, sélectionnez l’identité, puis Ajouter.

    Capture d’écran de la boîte de dialogue pour sélectionner une identité managée affectée par l’utilisateur(-trice).

  3. Ensuite, sélectionnez Entrer un identificateur de clé et entrez l’ID, ou, dans la boîte de dialogue Sélectionner une clé, sélectionnez la clé en spécifiant l’identificateur ou en sélectionnant un coffre de clés et une clé.

  4. Cliquez sur Enregistrer.

Si vous utilisez Azure CLI, exécutez la commande suivante :

az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY