Sécuriser l’accès à Azure Red Hat OpenShift avec Azure Front Door
Cet article explique comment utiliser Azure Front Door Premium pour sécuriser l’accès à Azure Red Hat OpenShift.
Prérequis
Les prérequis suivants sont obligatoires :
Vous avez un cluster Azure Red Hat OpenShift existant. Suivez ce guide pour créer un cluster privé Azure Red Hat OpenShift.
Le cluster est configuré avec une visibilité d’entrée privée.
Un nom de domaine personnalisé est utilisé, par exemple :
example.com
Remarque
L’état initial n’a pas de DNS configuré. Aucune application n’est exposée en externe depuis le cluster Azure Red Hat OpenShift.
Créer un service Azure Private Link
Cette section explique comment créer un service Azure Private Link. Un service Azure Private Link est une référence à votre propre service utilisant la technologie Azure Private Link.
L’accès Private Link peut être activé pour un service qui s’exécute derrière Azure Standard Load Balancer. De cette façon, les utilisateurs du service peuvent y accéder à l’aide d’une connexion privée, à partir de leurs propres réseaux virtuels. Vos clients peuvent créer un point de terminaison privé dans leur réseau virtuel et le mapper dans ce service.
Pour plus d’informations sur le service Azure Private Link et son utilisation, consultez Service Azure Private Link.
Créez un AzurePrivateLinkSubnet. Ce sous-réseau comprend un masque réseau qui autorise la visibilité du sous-réseau pour le plan de contrôle et les nœuds Worker du cluster Azure. Ne déléguez pas ce nouveau sous-réseau à des services ou ne configurez pas des points de terminaison de service.
Par exemple, si le réseau virtuel est 10.10.0.0/16 et :
- Sous-réseau du plan de contrôle Azure Red Hat OpenShift existant = 10.10.0.0/24
- Sous-réseau du Worker Azure Red Hat OpenShift existant = 10.10.1.0/24
- Nouveau AzurePrivateLinkSubnet = 10.10.2.0/24
Créez une liaison privée sur le service Azure Private Link, comme expliqué dans les étapes suivantes :
Sous l’onglet Informations de base, configurez les options suivantes :
- Détails du projet
- Sélectionnez votre abonnementAzure.
- Sélectionnez le groupe de ressources dans lequel votre cluster Azure Red Hat OpenShift a été déployé.
- Détails de l’instance
- Entrez un nom pour votre service Azure Private Link, comme dans l’exemple suivant : exemple-com-private-link.
- Sélectionnez une Région pour votre liaison privée.
- Détails du projet
Sous l’onglet Paramètres sortants :
Définissez Load Balancer sur l’équilibreur de charge -internal du cluster pour lequel vous activez l’accès externe. Les choix sont renseignés dans la liste déroulante.
Définissez la valeur Adresse IP front-end de l’équilibreur de charge sur l’adresse IP du contrôleur d’entrée Azure Red Hat OpenShift, qui se termine généralement par .254. En cas de doute, utilisez la commande suivante.
az aro show -n <cluster-name> -g <resource-group> -o tsv --query ingressProfiles[].ip
Le sous-réseau NAT source doit correspondre au AzurePrivateLinkSubnet que vous avez créé.
Aucun élément ne doit être modifié dans les paramètres sortants.
Sous l’onglet Sécurité d’accès, aucune modification n’est nécessaire.
- À l’invite Qui peut demander l’accès à votre service ?, sélectionnez Tout utilisateur disposant de votre alias.
- N’ajoutez pas d’abonnements pour l’approbation automatique.
Sous l’onglet Balises, sélectionnez Vérifier + créer.
Sélectionnez Créer pour créer le service Azure Private Link, puis attendez la fin du processus.
Une fois votre déploiement terminé, sélectionnez Accéder au groupe de ressources sous Étapes suivantes.
Dans le portail Azure, entrez le service Azure Private Link qui a été déployé. Conservez l’Alias qui a été généré pour le service Azure Private Link. Vous allez le réutiliser.
Inscrire un domaine dans Azure DNS
Cette section explique comment inscrire un domaine dans Azure DNS.
Créez une zone Azure DNS globale pour example.com.
Créez une zone Azure DNS globale pour apps.example.com.
Notez les quatre serveurs de noms présents dans Azure DNS pour apps.example.com.
Créez un jeu d’enregistrements NS dans la zone example.com qui pointe vers l’application et spécifiez les quatre serveurs de noms qui étaient présents lors de la création de la zone apps.
Créer un service Azure Front Door Premium
Pour créer un service Azure Front Door Premium :
Sur Comparer les offres Microsoft Azure, sélectionnez Azure Front Door, puis sélectionnez Continuer pour créer une instance Front Door.
Dans la page Créer un profil Front Door dans Abonnement>Groupe de ressources, sélectionnez le groupe de ressources dans lequel votre cluster Azure Red Hat OpenShift a été déployé pour héberger votre ressource Azure Front Door Premium.
Nommez votre service Azure Front Door Premium de manière appropriée. Par exemple, dans le champ Nom, entrez le nom suivant :
example-com-frontdoor
Sélectionnez le niveau Premium. Le niveau Premium est le seul choix qui prend en charge Azure Private Link.
Pour le nom du point de terminaison, choisissez un nom de point de terminaison approprié à Azure Front Door.
Pour chaque application déployée, un CNAME est créé dans Azure DNS pour pointer vers ce nom d’hôte. Par conséquent, il est important de choisir un nom indépendant des applications. Pour des raisons de sécurité, le nom ne doit pas suggérer les applications ni l’architecture que vous avez déployées, comme example01.
Le nom que vous choisissez sera ajouté au domaine .z01.azurefd.net.
Pour Type d’origine, sélectionnez Personnalisé.
Pour Nom d’hôte d’origine, entrez l’espace réservé suivant :
changeme.com
Cet espace réservé sera supprimé ultérieurement.
À ce stade, n’activez pas le service Azure Private Link, la mise en cache ni la stratégie Web Application Firewall (WAF).
Sélectionnez Vérifier + créer pour créer la ressource Azure Front Door Premium, puis attendez la fin du processus.
Configuration initiale du service Azure Front Door Premium
Pour configurer le service Azure Front Door Premium :
Dans le portail Azure, entrez le service Azure Front Door Premium qui a été déployé.
Dans la fenêtre Endpoint Manager, modifiez le point de terminaison en sélectionnant Modifier le point de terminaison.
Supprimez la route par défaut, créée en tant que default-route.
Fermez la fenêtre Endpoint Manager.
Dans la fenêtre Groupes d’origines, supprimez le groupe d’origines par défaut nommé default-origin-group.
Exposition d’une route d’application dans Azure Red Hat OpenShift
Azure Red Hat OpenShift doit être configuré pour servir l’application portant le même nom d’hôte que celui qu’Azure Front Door va exposer en externe (*.apps.example.com). Dans notre exemple, nous allons exposer l’application de réservation avec le nom d’hôte suivant :
reservations.apps.example.com
Créez également une route sécurisée dans Azure Red Hat OpenShift qui expose le nom d’hôte.
Configurer Azure DNS
Pour configurer Azure DNS :
Entrez la zone DNS des applications publiques précédemment créées.
Créez un jeu d’enregistrements CNAME nommé reservation. Ce jeu d’enregistrements CNAME est un alias pour notre exemple de point de terminaison Azure Front Door :
example01.z01.azurefd.net
Configurer le service Azure Front Door Premium
Les étapes suivantes expliquent comment configurer le service Azure Front Door Premium.
Dans le portail Azure, entrez le service Azure Front Door Premium que vous avez précédemment créé :
example-com-frontdoor
Dans la fenêtre Domaines :
Étant donné que tous les serveurs DNS sont hébergés sur Azure, laissez l’option Gestion du service DNS définie sur DNS managé par Azure.
Sélectionnez le domaine example :
apps.example.com
Sélectionnez l’enregistrement CNAME dans notre exemple :
reservations.apps.example.com
Utilisez les valeurs par défaut pour HTTPS et Version TLS minimale.
Sélectionnez Ajouter.
Lorsque l’état de validation passe à En attente, sélectionnez En attente.
Pour authentifier la propriété de la zone DNS, pour État de l’enregistrement DNS, sélectionnez Ajouter.
Sélectionnez Fermer.
Continuez à sélectionner Actualiser jusqu’à ce que l’état de validation du domaine passe à Approuvé et que l’association du point de terminaison passe à Non associé.
Dans la fenêtre Groupes d’origines :
Sélectionnez Ajouter.
Donnez un nom approprié à votre groupe d’origines, par exemple Reservations-App.
Sélectionnez Ajouter une origine.
Entrez le nom de l’origine, par exemple ARO-Cluster-1.
Choisissez un type d’origine Personnalisé.
Entrez le nom d’hôte du nom de domaine complet (FQDN) qui a été exposé dans votre cluster Azure Red Hat OpenShift, par exemple :
reservations.apps.example.com
Activez le service Private Link.
Entrez l’alias obtenu à partir du service Azure Private Link.
Sélectionnez Ajouter pour revenir à la fenêtre de création du groupe d’origines.
Sélectionnez Ajouter pour ajouter le groupe d’origines et revenir au portail Azure.
Octroyer une approbation dans Azure Private Link
Pour octroyer une approbation à example-com-private-link, qui correspond au service Azure Private Link que vous avez créé précédemment, effectuez les étapes suivantes.
Sous l’onglet Connexions du point de terminaison privé, cochez la case qui existe maintenant à partir de la ressource décrite comme do from AFD.
Sélectionnez Approuver, puis Oui pour vérifier l’approbation.
Conclure la configuration du service Azure Front Door Premium
Les étapes suivantes expliquent comment conclure la configuration du service Azure Front Door Premium.
Dans le portail Azure, entrez le service Azure Front Door Premium que vous avez précédemment créé :
example-com-frontdoor
Dans la fenêtre Endpoint Manager, sélectionnez Modifier le point de terminaison pour modifier le point de terminaison.
Sélectionnez +Ajouter sous Routes.
Donnez à votre route un nom approprié, comme Reservations-App-Route-Config.
Sous domaines, puis sous Domaines validés disponibles, sélectionnez le nom de domaine complet, par exemple :
reservations.apps.example.com
Pour rediriger le trafic HTTP afin d’utiliser le protocole HTTPS, laissez la case Rediriger cochée.
Sous Groupe d’origines, sélectionnez Reservations-App, le groupe d’origines que vous avez créé précédemment.
Vous pouvez activer la mise en cache, selon les besoins.
Sélectionnez Ajouter pour créer la route. Une fois la route configurée, Endpoint Manager renseigne les volets Domaines et Groupes d’origines avec les autres éléments créés pour cette application.
Étant donné qu’Azure Front Door est un service global, le déploiement de l’application peut prendre jusqu’à 30 minutes. Pendant ce temps, vous pouvez choisir de créer un WAF pour votre application. Une fois que votre application est en ligne, elle est accessible à l’aide de l’URL utilisée dans cet exemple :
https://reservations.apps.example.com
Étapes suivantes
Créer un pare-feu d’application web Azure sur Azure Front Door en utilisant le portail Azure :