Accéder à un coffre de clés dans un réseau privé via des points de terminaison privés partagés
Article
Azure Web PubSub peut accéder à un coffre de clés dans un réseau privé via des connexions de point de terminaison privé partagés. Cet article explique comment configurer votre ressource Web PubSub pour acheminer les appels sortants vers un coffre de clés via un point de terminaison privé partagé au lieu d’un réseau public.
Les points de terminaison privés des ressources sécurisées créées via les API Azure Web PubSub sont appelés ressources de liaison privée partagée. Vous « partagez » l’accès à une ressource, telle qu’une instance d’Azure Key Vault, qui est intégrée à Azure Private Link. Ces points de terminaison privés sont créés à l’intérieur de l’environnement d’exécution Web PubSub et ne sont pas directement visibles pour vous.
Notes
Les exemples de cet article utilisent les ID de ressource suivants :
L’ID de ressource de cette instance Azure Web PubSub est _/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub.
L’ID de ressource de l’instance Azure Key Vault est /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.KeyVault/vaults/contoso-kv.
Pour utiliser les étapes décrites dans les exemples suivants, remplacez ces valeurs par votre propre ID d’abonnement, le nom de votre ressource Web PubSub et le nom de votre ressource Azure Key Vault.
Dans le portail Microsoft Azure, accédez à votre ressource Azure Web PubSub.
Dans le menu de gauche, sélectionnez Mise en réseau.
Sélectionnez l’onglet Accès privé.
Sélectionnez Ajouter un point de terminaison privé partagé.
Pour Nom, entrez un nom à utiliser pour le point de terminaison privé partagé.
Pour sélectionner votre ressource Key Vault, effectuez l’une des étapes suivantes :
Choisissez Sélectionner parmi vos ressources et sélectionnez votre ressource dans les listes.
Sélectionnez Spécifier l’ID de ressource et entrez votre ID de ressource Key Vault.
Pour Message de requête, entrez Veuillez approuver la connexion.
Sélectionnez Ajouter.
L’état d’approvisionnement de la ressource du point de terminaison privé partagé est Réussi. L’état de connexion est En attente et attend l’approbation de la ressource cible.
Vous pouvez effectuer l’appel API suivant avec Azure CLI pour créer une ressource de liaison privée partagée. Remplacez la valeur uri par l’URI dans votre scénario.
az rest --method put --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub/sharedPrivateLinkResources/kv-pe?api-version=2022-08-01-preview --body @create-pe.json
Le contenu du fichier create-pe.json représente le corps de la requête adressée l’API :
Le processus de création d’un point de terminaison privé sortant est une opération longue (asynchrone). Comme dans toutes les opérations Azure asynchrones, l’appel de PUT retourne une valeur d’en-tête Azure-AsyncOperation semblable à l’exemple suivant :
Vous pouvez régulièrement interroger cet URI pour obtenir l’état de l’opération. Attendez que l’état passe à « Réussi » avant de passer à la section suivante.
Pour demander l’état, interrogez manuellement la valeur Azure-AsyncOperationHeader :
az rest --method get --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub/operationStatuses/c0786383-8d5f-4554-8d17-f16fcf482fb2?api-version=2022-08-01-preview
Approuver la connexion de point de terminaison privé pour la ressource du coffre de clés
Une fois la connexion de point de terminaison privé créée, la demande de connexion de Web PubSub doit être approuvée dans votre ressource Key Vault.
Dans le portail Azure, accédez aux ressources de votre coffre de clés.
Dans le menu de gauche, sélectionnez Mise en réseau.
Sélectionnez Connexions des points de terminaison privés.
Sélectionnez le point de terminaison privé créé par Web PubSub.
Sélectionnez Approuver, puis Oui pour confirmer.
Cela peut prendre quelques minutes pour que l’état de la connexion du point de terminaison privé soit mis à jour et devienne Approuvé.
Répertorier les connexions de point de terminaison privé :
az network private-endpoint-connection list --name <key-vault-resource-name> --resource-group <key-vault-resource-group-name> --type 'Microsoft.KeyVault/vaults'
Recherchez une connexion de point de terminaison privé en attente. Notez l’ID de connexion.
Approuvez la connexion de point de terminaison privé :
az network private-endpoint-connection approve --id <private-endpoint-connection-ID>
Interroger l'état de la ressource de liaison privée partagée
La propagation de l’approbation au service Azure Web PubSub prend quelques minutes. Vous pouvez vérifier l’état à l’aide du portail Azure ou d’Azure CLI. Le point de terminaison privé partagé entre le service Azure Web PubSub et Azure Key Vault est actif lorsque l’état du conteneur est approuvé.
Dans le portail Microsoft Azure, accédez à votre ressource Azure Web PubSub.
Dans le menu de gauche, sélectionnez Mise en réseau.
Sélectionnez Ressources de liaison privée partagée.
az rest --method get --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub/sharedPrivateLinkResources/func-pe?api-version=2022-08-01-preview
Cette commande renvoie JSON. L’état de connexion est indiqué dans status sous properties.
Quand properties.provisioningState est Succeeded et que properties.status (état de connexion) est Approved, la ressource de liaison privée partagée est fonctionnelle et Web PubSub peut communiquer sur le point de terminaison privé.
Vous pouvez désormais configurer des fonctionnalités telles qu’un domaine personnalisé comme vous le feriez habituellement. Vous n’avez pas besoin d’utiliser un domaine spécial pour votre coffre de clés. Web PubSub gère automatiquement la résolution DNS (Domain Name System).