Partage via


Sécuriser les services principaux à l’aide de l’authentification par certificat client dans Gestion des API Azure

S’APPLIQUE À : Tous les niveaux de Gestion des API

Gestion des API vous permet de sécuriser l’accès au service principal d’une API à l’aide de certificats clients et d’authentification TLS mutuelle. Cet article explique comment gérer des certificats dans Gestion des API à l’aide du portail Azure. Il explique également comment configurer une API pour utiliser un certificat pour accéder à un service principal.

Vous pouvez également gérer les certificats Gestion des API à l’aide de l’API REST Gestion des API.

Options de certificat

Gestion des API fournit deux options pour gérer les certificats utilisés pour sécuriser l’accès aux services principaux :

  • Référencez un certificat géré dans Azure Key Vault.
  • Ajoutez un fichier de certificat directement dans Gestion des API.

Nous vous recommandons d’utiliser des certificats key vault, car cela améliore la sécurité gestion des API :

  • Les certificats stockés dans des coffres de clés peuvent être réutilisés entre les services.
  • Les stratégies d’accès granulaires peuvent être appliquées aux certificats stockés dans des coffres de clés.
  • Les certificats mis à jour dans le coffre de clés sont automatiquement permutés dans Gestion des API. Après une mise à jour dans le coffre de clés, un certificat dans Gestion des API est mis à jour dans les quatre heures. Vous pouvez également actualiser manuellement le certificat à l’aide du portail Azure ou via l’API REST de gestion.

Prérequis

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Conditions préalables à l’intégration d’un coffre de clés

Notes

Actuellement, cette fonctionnalité n’est pas disponible dans les espaces de travail.

  1. Si vous n’avez pas encore de coffre de clés, créez-en un. Pour plus d’informations sur la création d’un coffre de clés, consultez Démarrage rapide : Créer un coffre de clés à l’aide du portail Azure.

  2. Activez une identité managée affectée par le système ou affectée par l’utilisateur dans Gestion des API.

Configurer l’accès au coffre de clés

  1. Dans le Portail Azure, accédez à votre coffre de clés.
  2. Dans le menu de gauche, sélectionnez Configuration d’Access. Notez le modèle d’autorisation configuré.
  3. Selon le modèle d’autorisation, configurez une stratégie d’accès au coffre de clés ou un accès RBAC Azure pour une identité managée Gestion des API.

Pour ajouter une stratégie d’accès au coffre de clés :

  1. Dans le menu de gauche, sélectionnez Stratégies d’accès.
  2. Dans la page Stratégies d’accès, sélectionnez + Créer.
  3. Sous l’onglet Autorisations , sous Autorisations secrètes, sélectionnez Obtenir et Liste, puis sélectionnez Suivant.
  4. Sous l’onglet Principal , sélectionnez Principal, recherchez le nom de la ressource de votre identité managée, puis sélectionnez Suivant. Si vous utilisez une identité attribuée par le système, le principal est le nom de votre instance Gestion des API.
  5. Sélectionnez Suivant de nouveau. Sous l’onglet Review + create (Vérifier + créer) , sélectionnez Créer.

Pour créer un certificat dans le coffre de clés ou importer un certificat dans le coffre de clés, consultez Démarrage rapide : Définir et récupérer un certificat à partir d’Azure Key Vault à l’aide du portail Azure.

Exigences pour le pare-feu Key Vault

Si le pare-feu Key Vault est activé sur votre coffre de clés, vous devez répondre à ces exigences :

  • Vous devez utiliser l’identité managée affectée par le système de l’instance Gestion des API pour accéder au coffre de clés.

  • Dans le pare-feu Key Vault, activez l’option Autoriser les services Microsoft approuvés à contourner ce pare-feu.

  • Vérifiez que votre adresse IP du client local est autorisée à accéder temporairement au coffre de clés pendant que vous sélectionnez un certificat ou un secret à ajouter à Gestion des API Azure. Pour plus d’informations, consultez Configurer les paramètres de mise en réseau du Coffre de clés Azure.

    Une fois la configuration terminée, vous pouvez bloquer votre adresse client dans le pare-feu du coffre de clés.

Conditions requises pour le réseau virtuel

Si l’instance Gestion des API est déployée dans un réseau virtuel, configurez également les paramètres réseau suivants :

  • Activez un point de terminaison de service sur Key Vault sur le sous-réseau Gestion des API.
  • Configurez une règle de groupe de sécurité réseau (NSG) pour autoriser le trafic sortant vers les balises de service AzureKeyVault et AzureActiveDirectory.

Pour plus d’informations, consultez Configuration réseau lors de la configuration de gestion des API dans un réseau virtuel.

Ajouter un certificat de coffre de clés

Voir Conditions préalables à l’intégration d’un coffre de clés.

Important

Pour ajouter un certificat de coffre de clés à votre instance Gestion des API, vous devez disposer des autorisations nécessaires pour répertorier les secrets à partir du coffre de clés.

Attention

Lorsque vous utilisez un certificat de coffre de clés dans Gestion des API, veillez à ne pas supprimer le certificat, le coffre de clés ou l’identité managée utilisée pour accéder au coffre de clés.

Pour ajouter un certificat de coffre de clés à Gestion des API :

  1. Dans le portail Azure, accédez à votre instance Gestion des API.

  2. Sous Sécurité, sélectionnez Certificats.

  3. Sélectionnez Certificats>+ Ajouter.

  4. Dans ID, entrez un nom.

  5. Dans Certificat, sélectionnez Coffre de clés.

  6. Entrez l’identificateur d’un certificat de coffre de clés ou choisissez Sélectionner pour choisir un certificat dans un coffre de clés.

    Important

    Si vous entrez vous-même l’identificateur d’un certificat de coffre de clés, soyez sûr qu’il ne contient pas d’informations de version. Sinon, le certificat n’est pas automatiquement permuté dans Gestion des API après une mise à jour dans le coffre de clés.

  7. Dans l’identité du client, sélectionnez une identité affectée par le système ou une identité managée affectée par l’utilisateur existante. Pour plus d’informations, voir Utiliser des identités managées dans Gestion des API.

    Notes

    L’identité a besoin d’avoir des autorisations pour obtenir et lister les certificats du coffre de clés. Si vous n’avez pas encore configuré l’accès au coffre de clés, Gestion des API vous invite à configurer automatiquement l’identité avec les autorisations nécessaires.

  8. Sélectionnez Ajouter.

    Capture d’écran montrant comment ajouter un certificat key vault à Gestion des API dans le portail.

  9. Sélectionnez Enregistrer.

Téléchargement d'un certificat

Pour charger un certificat client dans Gestion des API :

  1. Dans le portail Azure, accédez à votre instance Gestion des API.

  2. Sous Sécurité, sélectionnez Certificats.

  3. Sélectionnez Certificats>+ Ajouter.

  4. Dans ID, entrez un nom.

  5. Dans Certificat, sélectionnez Personnalisé.

  6. Accédez au fichier .pfx du certificat, sélectionnez-le et entrez son mot de passe.

  7. Sélectionnez Ajouter.

    Capture d’écran du chargement d’un certificat client vers le service Gestion des API dans le portail.

  8. Sélectionnez Enregistrer.

Une fois le certificat chargé, il s’affiche dans la fenêtre Certificats. Si vous avez de nombreux certificats, notez l’empreinte numérique du certificat que vous venez de charger. Vous en aurez besoin pour configurer une API pour utiliser le certificat client pour l’authentification de passerelle.

Configurer une API afin d’utiliser un certificat client pour l’authentification de passerelle

  1. Dans le portail Azure, accédez à votre instance Gestion des API.

  2. Sous API, sélectionnez API.

  3. Sélectionnez une API dans la liste.

  4. Sous l’onglet Création , sélectionnez l’icône de crayon dans la section Back-end .

  5. Dans les informations d’identification de la passerelle, sélectionnez Certificat client , puis sélectionnez votre certificat dans la liste des certificats clients .

  6. Sélectionnez Enregistrer.

    Utiliser un certificat client pour l’authentification de passerelle

Attention

Cette modification prend effet immédiatement. Les appels aux opérations de l’API utilisent le certificat pour s’authentifier sur le serveur principal.

Conseil

Lorsqu’un certificat est spécifié pour l’authentification de passerelle pour le service principal d’une API, il fait partie de la stratégie de cette API et peut être consulté dans l’éditeur de stratégie.

Désactiver la validation de la chaîne de certificats pour les certificats auto-signés

Si vous utilisez des certificats auto-signés, vous devez désactiver la validation de la chaîne de certificats pour permettre à Gestion des API de communiquer avec le système principal. Sinon, vous obtiendrez un code d’erreur 500. Pour désactiver cette validation, vous pouvez utiliser les New-AzApiManagementBackend applets de commande PowerShell (pour un nouveau back-end) ou Set-AzApiManagementBackend (pour un back-end existant) et définir le -SkipCertificateChainValidation paramètre sur True:

$context = New-AzApiManagementContext -ResourceGroupName 'ContosoResourceGroup' -ServiceName 'ContosoAPIMService'
New-AzApiManagementBackend -Context  $context -Url 'https://contoso.com/myapi' -Protocol http -SkipCertificateChainValidation $true

Vous pouvez également désactiver la validation de la chaîne de certificats à l’aide de l’API REST back-end.

Supprimer un certificat client

Pour supprimer un certificat, sélectionnez Supprimer dans le menu points de suspension (...) :

Supprimer un certificat

Important

Si le certificat est référencé par des politiques, un écran d’avertissement s’affiche. Pour supprimer le certificat, vous devez d’abord le supprimer de toutes les stratégies configurées pour l’utiliser.