Gestion des points de terminaison de la connectivité privée : Azure

Cette rubrique fournit des informations sur la gestion des points de terminaison de la connectivité privée à utiliser avec une connectivité privée à un service externe.

Fournir des points de terminaison de connectivité privée

Vous pouvez créer un point de terminaison de connectivité privée en appelant la fonction système SYSTEM$PROVISION_PRIVATELINK_ENDPOINT. Par exemple, pour votre compte Snowflake sur Microsoft Azure :

Fournissez un point de terminaison privé pour autoriser Snowflake sur Microsoft Azure à se connecter au service de gestion des API Microsoft Azure dans votre VNet Microsoft Azure :

SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
  '/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api',
  'aztest1-external-function-api.azure.net',
  'Gateway'
  );
Copy
Private endpoint with ID "/subscriptions/e48379a7-2fc4-473e-b071-f94858cc83f5/resourcegroups/test_rg/providers/microsoft.network/privateendpoints/32bd3122-bfbd-417d-8620-1a02fd68fcf8" to resource "/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api" has been provisioned successfully. Please note down the endpoint ID and approve the connection from it on the Azure portal.

Fournissez un point de terminaison privé pour autoriser Snowflake sur Microsoft Azure à se connecter à un service externe à l’aide d’un accès réseau externe :

SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
  '/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/leorg1/providers/Microsoft.Sql/servers/myserver/databases/testdb',
  'testdb.database.windows.net',
  'sqlServer'
  );
Copy
"Resource Endpoint with id "/subscriptions/f0abb333-1b05-47c6-8c31-dd36d2512fd1/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"

Fournissez un point de terminaison privé pour autoriser Snowflake à se connecter à une zone de préparation externe pour Microsoft Azure :

SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
  '/subscriptions/cc2909f2-ed22-4c89-8e5d-bdc40e5eac26/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo',
  'storagedemo.blob.core.windows.net',
  'blob'
);
Copy
"Resource Endpoint with id "/subscriptions/57faea9a-20c2-4d35-b283-9c0c1e9593d8/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"

Snowflake appelle les APIs pour la plateforme Cloud qui héberge votre compte Snowflake pour créer le point de terminaison et met à jour les configurations réseau associées.

Référencement des points de terminaison de connectivité privée

Vous pouvez répertorier les points de terminaison de connectivité privée que vous créez en appelant la fonction système SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO. Par exemple, pour votre compte Snowflake sur Microsoft Azure :

SELECT SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO();
Copy
[
   {
      "host": "aztest1-external-function-api.azure-api.net",
      "status": "APPROVED",
      "resource_id":  "/subscriptions/fa57a1f0-b4e6-4847-9c00-95f39520f35e/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/apim-pe"
   }
]
Copy

Suppression des points de terminaison de connectivité privée

Vous pouvez supprimer un point de terminaison de connectivité privée existant en appelant la fonction système SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT. Par exemple, pour votre compte Snowflake sur Microsoft Azure :

Supprimez un point de terminaison privé pour empêcher Snowflake sur Microsoft Azure de se connecter au service de gestion des API Microsoft Azure dans votre VNet Microsoft Azure :

SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT(
  '/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api',
  'Gateway'
  );
Copy
Private endpoint with id "/subscriptions/e48379a7-2fc4-473e-b071-f94858cc83f5/resourcegroups/test_rg/providers/microsoft.network/privateendpoints/5ef8fd34-07db-4583-b0dd-0e2360398ed3" successfully marked for deletion. Before it is fully deleted in 7-8 days, it can be restored.

Supprimez un point de terminaison privé pour empêcher Snowflake sur Microsoft Azure de se connecter à un service externe à l’aide d’un accès réseau externe :

SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT(
  '/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/leorg1/providers/Microsoft.Sql/servers/myserver/databases/testdb',
  'sqlServer'
  );
Copy
"Resource Endpoint with id "/subscriptions/f0abb333-1b05-47c6-8c31-dd36d2512fd1/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" deprovisioned successfully"

Supprimez un point de terminaison privé pour empêcher Snowflake de se connecter à une zone de préparation externe pour Microsoft Azure :

SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT(
  'storagedemo.blob.core.windows.net',
  'blob'
);
Copy
"Resource Endpoint with id "/subscriptions/57faea9a-20c2-4d35-b283-9c0c1e9593d8/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" deprovisioned successfully"

Restauration d’un point de terminaison de connectivité privée supprimé

Vous pouvez restaurer un point de terminaison de connectivité privée que vous avez supprimé dans les 7 jours suivant sa suppression en appelant la fonction système SYSTEM$RESTORE_PRIVATELINK_ENDPOINT. Après 7 jours, le point de terminaison ne peut pas être restauré et vous devez fournir un nouveau point de terminaison.

Restaurez un point de terminaison privé pour permettre à Snowflake sur Microsoft Azure de se connecter au service de gestion des API Azure dans votre VNet Azure :

SELECT SYSTEM$RESTORE_PRIVATELINK_ENDPOINT(
  '/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/my_rg/providers/Microsoft.Sql/servers/my_db_server',
  'sqlServer'
);
Copy
Private endpoint with id ''/subscriptions/66666666-7777-8888-9999-0000000000/resourcegroups/rg/providers/microsoft.network/privateendpoints/00000000-1111-2222-3333-4444444444'' restored successfully.

Résolution des problèmes

Services externes Microsoft Azure : vous ne pouvez pas accéder à un abonnement spécifié

Erreur

(LinkedAuthorizationFailed) The client has permission to perform action '<action_name>' on scope '<service_name>', however the current tenant '<tenant_id>' is not authorized to access linked subscription '<subscription_id'.

Code: LinkedAuthorizationFailed

Message: The client has permission to perform action '<action_name>' on scope '<service_name>', however the current tenant '<tenant_id>' is not authorized to access linked subscription '<subscription_id>'.

Cause

Le point de terminaison privé mappé au service externe ne dispose pas des informations correctes pour accéder à l’abonnement.

Solution

  1. Appelez la fonction système SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT pour supprimer le point de terminaison du service externe.

  2. Appelez la fonction système SYSTEM$PROVISION_PRIVATELINK_ENDPOINT pour recréer le point de terminaison pour le service externe. Assurez-vous de spécifier les valeurs correctes pour l’abonnement, le nom d’hôte et la sous-ressource.

  3. Remplacez la règle réseau et assurez-vous de spécifier la valeur correcte du nom d’hôte dans la propriété VALUE_LIST.