Se connecter en privé à Gestion des API à l’aide d’un point de terminaison privé entrant

S’APPLIQUE À : Développeur | De base | Standard | Premium

Vous pouvez configurer un point de terminaison privé entrant pour votre instance Gestion des API afin de permettre aux clients de votre réseau privé d’accéder en toute sécurité à l’instance via le Azure Private Link.

  • Le point de terminaison privé utilise une adresse IP d’un réseau virtuel Azure dans lequel il est hébergé.

  • Le trafic entre un client de votre réseau privé et Gestion des API traverse le réseau virtuel et une liaison privée sur le réseau principal de Microsoft, ce qui élimine son exposition à l’Internet public.

  • Configurez des paramètres DNS personnalisés ou une zone privée Azure DNS pour mapper le nom d’hôte de Gestion des API à l’adresse IP privée du point de terminaison.

Diagramme affichant une connexion entrante sécurisée à Gestion des API à l’aide d’un point de terminaison privé.

Grâce à un point de terminaison privé et Private Link, vous pouvez :

  • Créer plusieurs connexions Private Link à une instance de Gestion des API.

  • Utiliser le point de terminaison privé pour envoyer le trafic entrant sur une connexion sécurisée.

  • Utiliser une stratégie pour distinguer le trafic qui provient du point de terminaison privé.

  • Limiter le trafic entrant uniquement aux points de terminaison privés, afin d’éviter l’exfiltration de données.

Important

  • Vous pouvez uniquement configurer une connexion de point de terminaison privé pour le trafic entrant vers l’instance Gestion des API. Le trafic sortant n’est actuellement pas pris en charge.

    Vous pouvez utiliser le modèle réseau virtuel externe ou interne pour établir une connectivité sortante vers des points de terminaison privés à partir de votre instance Gestion des API.

  • Pour activer les points de terminaison privés entrants, l'instance de gestion des API ne peut pas être injectée dans un réseau virtuel externe ou interne.

Limites

  • Seul le point de terminaison de la passerelle de l’instance Gestion des API prend en charge les connexions Private Link entrantes.
  • Chaque instance Gestion des API prend en charge au maximum 100 connexions Private Link.
  • Les connexions ne sont pas prises en charge sur la passerelle auto-hébergée.

Prérequis

  • Disposer d’une instance d’API Management. Si vous ne l’avez pas déjà fait, créez-en un.
    • L’instance Gestion des API doit être hébergée sur la plateforme de calcul stv2. Par exemple, créez une nouvelle instance ou, si vous disposez déjà d’une instance dans le niveau de service Premium, activez la redondance de zone.
    • Ne déployez pas l’instance dans un réseau virtuel externe ou interne.
  • Un réseau virtuel et un sous-réseau pour héberger le point de terminaison privé. Le sous-réseau peut contenir d’autres ressources Azure.
  • (Recommandé) Une machine virtuelle dans le même sous-réseau ou dans un sous-réseau différent dans le réseau virtuel, pour tester le point de terminaison privé.

Méthode d’approbation pour le point de terminaison privé

En règle générale, un administrateur réseau crée un point de terminaison privé. Selon vos autorisations de contrôle d’accès en fonction du rôle (RBAC) Azure, un point de terminaison privé que vous créez est soit automatiquement approuvé pour envoyer du trafic à l’instance Gestion des API, soit nécessite que le propriétaire de la ressource approuve manuellement la connexion.

Méthode d’approbation Autorisations RBAC minimales
Automatique Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read
Microsoft.ApiManagement/service/**
Microsoft.ApiManagement/service/privateEndpointConnections/**
Manuel Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read

Étapes à suivre pour configurer un point de terminaison privé

  1. Obtenir les types de points de terminaison privés disponibles dans l’abonnement
  2. Désactiver les stratégies réseau dans le sous-réseau
  3. Créer un point de terminaison privé (portail)
  4. Répertorier les connexions de points de terminaison privés à l’instance
  5. Approuver les connexions de points de terminaison privés en attente
  6. Désactiver l’accès au réseau public (facultatif)

Obtenir les types de points de terminaison privés disponibles dans l’abonnement

Vérifiez que le type de point de terminaison privé de Gestion des API est disponible dans votre abonnement et votre emplacement. Dans le portail, recherchez ces informations en accédant au Centre Private Link. Sélectionnez Ressources prises en charge.

Vous pouvez également trouver ces informations en utilisant l’API REST Types de points de terminaison privés disponibles – Liste.

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01

La sortie doit inclure le type de point de terminaison Microsoft.ApiManagement.service :

[...]

      "name": "Microsoft.ApiManagement.service",
      "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/AvailablePrivateEndpointTypes/Microsoft.ApiManagement.service",
      "type": "Microsoft.Network/AvailablePrivateEndpointTypes",
      "resourceName": "Microsoft.ApiManagement/service",
      "displayName": "Microsoft.ApiManagement/service",
      "apiVersion": "2021-04-01-preview"
    }
[...]

Désactiver les stratégies réseau dans le sous-réseau

Les stratégies réseau telles que les groupes de sécurité réseau doivent être désactivées dans le sous-réseau utilisé pour le point de terminaison privé.

Si vous utilisez des outils tels qu’Azure PowerShell, Azure CLI ou l’API REST pour configurer des points de terminaison privés, mettez à jour la configuration du sous-réseau manuellement. Pour obtenir des exemples, consultez Gérer les stratégies réseau pour les points de terminaison privés.

Lorsque vous utilisez le portail Azure pour créer un point de terminaison privé, comme indiqué dans la section suivante, les stratégies réseau sont désactivées automatiquement dans le cadre du processus de création.

Créer un point de terminaison privé (portail)

  1. Accédez au service Gestion des API dans le portail Azure.

  2. Dans le menu de gauche, sélectionnez Réseau.

  3. Sélectionnez Connexions de point de terminaison privé entrantes>+ Ajouter un point de terminaison.

    Ajouter un point de terminaison privé avec le portail Azure

  4. Sous l’onglet Général de Créer un point de terminaison privé, entrez ou sélectionnez les informations suivantes :

    Paramètre Valeur
    Détails du projet
    Abonnement Sélectionnez votre abonnement.
    Groupe de ressources Sélectionnez un groupe de ressources existant ou créez-en un. Il doit se trouver dans la même région que votre réseau virtuel.
    Détails de l’instance
    Nom Entrez un nom pour le point de terminaison, comme myPrivateEndpoint.
    Nom de l'interface réseau Entrez un nom pour l’interface réseau, par exemple myInterface
    Région Sélectionnez un emplacement pour le point de terminaison privé. Il doit se trouver dans la même région que votre réseau virtuel. Il peut être différent de la région où votre instance Gestion des API est hébergée.
  5. Sélectionnez l’onglet Ressource ou le bouton Suivant : Ressource en bas de la page. Les informations suivantes concernant votre instance Gestion des API sont déjà renseignées :

    • Abonnement
    • Resource group
    • Nom de la ressource
  6. Dans Ressource, dans Sous-ressource cible, sélectionnez Passerelle.

    Créer un point de terminaison privé dans le Portail Azure

  7. Sélectionnez l’onglet Réseau virtuel ou le bouton Suivant : Réseau virtuel au bas de l’écran.

  8. Dans Mise en réseau, entrez ou sélectionnez les informations suivantes :

    Paramètre Valeur
    Réseau virtuel Sélectionnez votre réseau virtuel.
    Subnet Sélectionnez votre sous-réseau.
    Configuration d’adresse IP privée Dans la plupart des cas, sélectionnez Allouer dynamiquement l’adresse IP.
    Groupe de sécurité d’application Sélectionnez éventuellement un groupe de sécurité d’application.
  9. Sélectionnez l’onglet DNS ou le bouton Suivant : DNS en bas de l’écran.

  10. Dans Intégration à un DNS privé, entrez ou sélectionnez ces informations :

    Paramètre Valeur
    Intégrer à une zone DNS privée Conservez la valeur par défaut Oui.
    Abonnement Sélectionnez votre abonnement.
    Groupe de ressources Sélectionnez votre groupe de ressources.
    Zones DNS privées La valeur par défaut s’affiche : (nouveau) privatelink.azure-api.net.
  11. Sélectionnez l’onglet Étiquette ou le bouton Suivant : Étiquettes en bas de l’écran. Si vous le souhaitez, entrez des étiquettes pour organiser vos ressources Azure.

  12. Sélectionnez Revoir + créer.

  13. Sélectionnez Create (Créer).

Répertorier les connexions de points de terminaison privés à l’instance

Une fois le point de terminaison privé créé, il apparaît dans la liste sur la page Connexions de points de terminaison privés entrants de l’instance Gestion des API, dans le portail.

Vous pouvez également utiliser l’API REST Connexion de point de terminaison privé – Liste par service pour répertorier les connexions de points de terminaison privés à l’instance de service.

Notez l’état de la connexion du point de terminaison :

  • Approuvé indique que la ressource Gestion des API a automatiquement approuvé la connexion.
  • En attente indique que la connexion doit être approuvée manuellement par le propriétaire de la ressource.

Approuver les connexions de points de terminaison privés en attente

Si une connexion de point de terminaison privé est en attente, un propriétaire de l’instance Gestion des API doit l’approuver manuellement avant qu’elle puisse être utilisée.

Si vous disposez d’autorisations suffisantes, approuvez une connexion de point de terminaison privé sur la page Connexions de points de terminaison privés de l’instance Gestion des API dans le portail.

Vous pouvez également utiliser l’API REST Connexion de point de terminaison privé – Créer ou mettre à jour de Gestion des API.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}privateEndpointConnections/{privateEndpointConnectionName}?api-version=2021-08-01

Désactiver l’accès au réseau public (facultatif)

Pour limiter de manière facultative le trafic entrant vers l’instance Gestion des API uniquement aux points de terminaison privés, désactivez l’accès au réseau public. Utilisez l’API REST Service de gestion des API – Créer ou mettre à jour afin de définir la propriété publicNetworkAccess sur Disabled.

Remarque

La propriété publicNetworkAccess ne peut être utilisée pour désactiver l’accès public aux instances gestion des API configurées qu’avec un point de terminaison privé, et non avec d’autres configurations de mise en réseau telles que l’injection de réseau virtuel.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01
Authorization: Bearer {{authToken.response.body.access_token}}
Content-Type: application/json

Utilisez le corps JSON suivant :

{
  [...]
  "properties": {
    "publicNetworkAccess": "Disabled"
  }
}

Valider la connexion de point de terminaison privé

Une fois le point de terminaison privé créé, confirmez ses paramètres DNS dans le portail :

  1. Accédez au service Gestion des API dans le portail Azure.

  2. Dans le menu de gauche, sélectionnezRéseau>Connexions de point de terminaison privé entrant, puis sélectionnez le point de terminaison privé que vous avez créé.

  3. Dans le volet de navigation gauche, sélectionnez Configuration DNS.

  4. Passez en revue les enregistrements DNS et l’adresse IP du point de terminaison privé. L’adresse IP est une adresse privée dans l’espace d’adressage du sous-réseau où le point de terminaison privé est configuré.

Test dans le réseau virtuel

Connectez-vous à une machine virtuelle que vous avez configurée dans le réseau virtuel.

Exécutez un utilitaire tel que nslookup ou dig pour rechercher l’adresse IP de votre point de terminaison de passerelle par défaut via Private Link. Par exemple :

nslookup my-apim-service.azure-api.net

La sortie doit inclure l’adresse IP privée associée au point de terminaison privé.

Les appels d’API initiés au sein du réseau virtuel vers le point de terminaison de passerelle par défaut devraient aboutir.

Test à partir d’Internet

En dehors du chemin d’accès au point de terminaison privé, essayez d’appeler le point de terminaison de passerelle par défaut de l’instance Gestion des API. Si l’accès public est désactivé, la sortie inclut une erreur avec le code d’état 403 et un message similaire à celui-ci :

Request originated from client public IP address xxx.xxx.xxx.xxx, public network access on this 'Microsoft.ApiManagement/service/my-apim-service' is disabled.
       
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network. 

Étapes suivantes