Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[Cet article fait partie de la documentation en version préliminaire et peut faire l’objet de modifications.]
Le filtrage des points de terminaison du connecteur permet aux administrateurs de contrôler les points de terminaison spécifiques auxquels les créateurs d'applications, de flux ou de chatbots peuvent se connecter lors de la création. Il est configuré dans une stratégie de données et est exclusivement disponible pour les connecteurs suivants :
- HTTP
- HTTP avec Microsoft Entra ID (AD)
- Webhook HTTP
- SQL Server (inclut l’utilisation du connecteur SQL Server pour accéder à l’entrepôt de données Azure Synapse)
- Azure Blob Storage
- SMTP
- Automatisation du navigateur
- Automatisation de l'interface utilisateur
Lorsqu’un créateur connecte son application, son flux ou son chatbot à un point de terminaison bloqué, il voit un message d’erreur de stratégie de données.
Avertissement
Les règles de filtrage de point de terminaison ne s’appliquent pas aux variables d’environnement, aux entrées personnalisées ou à tout point de terminaison créé dynamiquement au moment de l’exécution. Seuls les points de terminaison statiques sont évalués dans les concepteurs d’application, de flux ou de chatbot. Pour plus d’informations, voir Limitations connues.
Important
- Il s’agit d’une fonctionnalité en préversion.
- Les fonctionnalités en version préliminaire ne sont pas destinées à une utilisation en production et peuvent être restreintes. Ces fonctionnalités sont soumises à des conditions d’utilisation supplémentaires, et sont disponibles avant publication officielle afin que les clients puissent y accéder de façon anticipée et fournir des commentaires.
Ajouter des règles de filtrage de point de terminaison à vos stratégies de données
La colonne Endpoint configurable sur la page Connecteurs prédéfinis dans Stratégies de données indique si la fonctionnalité de filtrage des points de terminaison est prise en charge par le connecteur.
Si la valeur de la colonne Point de terminaison configurable est Oui, vous pouvez utiliser cette capacité en cliquant avec le bouton droit, puis en sélectionnant Configurer le connecteur>Points de terminaison du connecteur.
Cela ouvre un panneau latéral dans lequel vous spécifiez une liste ordonnée de modèles d’URL d’autorisation ou de refus. La dernière ligne de la liste est une règle pour le caractère générique (*) qui s’applique à tous les points de terminaison de ce connecteur. Par défaut, le * modèle est configuré comme Autoriser pour les nouvelles stratégies de données, mais vous pouvez l’étiqueter en tant qu’autorisation ou refus.
Ajouter de nouvelles règles
Vous pouvez ajouter de nouvelles règles en sélectionnant Ajouter un point de terminaison. De nouvelles règles sont ajoutées à la fin de la liste de modèles en tant que règle de deuxième à dernière règle. Cela est dû au fait que * est la dernière entrée de la liste. Cependant, vous pouvez mettre à jour l’ordre des modèles en utilisant la liste déroulante Ordre ou en sélectionnant Déplacer vers le haut ou Déplacer vers le bas.
Après avoir ajouté un modèle, vous pouvez le modifier ou le supprimer en sélectionnant une ligne spécifique, puis en sélectionnant Supprimer.
Après avoir enregistré vos règles de filtrage de point de terminaison de connecteur et la stratégie de données où elles sont définies, elles sont appliquées instantanément aux environnements ciblés. L’image suivante montre un exemple où un créateur tente de connecter son flux cloud à un point de terminaison HTTP qui n’est pas autorisé.
Limitations connues
Les règles de filtrage du point de terminaison ne sont pas appliquées sur les variables d’environnement, les entrées personnalisées et les points de terminaison dynamiquement liés. Seuls les points de terminaison statiques connus et sélectionnés lors de la création d’une application, d’un flux ou d’un chatbot pendant le temps de conception sont appliqués. Cela signifie que les règles de filtrage des points de terminaison du connecteur pour SQL Server et Stockage Blob Azure ne sont pas appliquées si les connexions sont authentifiées avec l’ID Microsoft Entra. Dans les deux captures d’écran suivantes, un créateur génère un flux cloud qui définit SQL Server et la base de données à l’intérieur des variables, puis utilise ces variables comme entrée dans la définition de connexion. Par conséquent, les règles de filtrage des points de terminaison ne sont pas évaluées et le flux cloud s’exécute correctement.
Les applications Power Apps publiées avant le 1er octobre 2020 doivent être republiées afin que les règles d’action des connecteurs et les règles de points de terminaison des stratégies de données soient appliquées. Le script suivant permet aux administrateurs et aux créateurs d’identifier les applications qui doivent être republiées pour se conformer à ces nouvelles règles de contrôle granulaires de stratégie de données :
Add-PowerAppsAccount $GranularDLPDate = Get-Date -Date "2020-10-01 00:00:00Z" ForEach ($app in Get-AdminPowerApp){ $versionAsDate = [datetime]::Parse($app.LastModifiedTime) $olderApp = $versionAsDate -lt $GranularDLPDate $wasBackfilled = $app.Internal.properties.executionRestrictions -ne $null -and $app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult -ne $null -and ![string]::IsNullOrEmpty($app.Internal.properties.executionRestrictions.dataLossPreventionEvaluationResult.lastAdvancedBackfillDate) If($($olderApp -and !$wasBackfilled)){ Write-Host "App must be republished to comply with granular data policy: " $app.AppName " " $app.Internal.properties.displayName " " $app.Internal.properties.owner.email } Else{ Write-Host "App is already Granular data policy compliant: " $app.AppName } }
Formats de saisie et exemples de point de terminaison
Chaque connecteur définit un point de terminaison différemment, et certains points de terminaison peuvent être dans plusieurs formats. Par conséquent, vous devez entrer des points de terminaison dans tous les formats possibles pour empêcher les créateurs de les utiliser lors de la création d’applications et de flux. Les administrateurs peuvent entrer le nom complet du point de terminaison ou utiliser le modèle correspondant au caractère générique (*) pour créer une règle de filtrage de point de terminaison. Ces règles sont entrées et présentées dans une liste ordonnée de modèles de point de terminaison, ce qui signifie qu’elles sont évaluées par ordre croissant par nombre. La dernière règle pour tout connecteur donné est toujours * Autoriser ou * Refuser. Autoriser est la valeur par défaut, qui peut être modifiée en Refuser.
Les instructions suivantes décrivent comment saisir des points de terminaison de connecteur lors de la création de règles pour les autoriser ou les refuser.
SQL Server
Répertorier les points de terminaison de connexion SQL Server au <Server_name, database_name> format. Quelques éléments à prendre en compte :
Les créateurs peuvent entrer le nom du serveur dans différents formats. Pour traiter un point de terminaison, entrez-le dans tous les formats possibles. Par exemple, les instances locales peuvent être au format
<machine_name\named_instance, database_name>ou<IP address, custom port, database_name>. Dans ce cas, vous devrez appliquer les règles d’autorisation ou de blocage dans les deux formats pour un point de terminaison. Par exemple :- Bloquer
WS12875676\Servername1,MktingDB - Bloquer
11.22.33.444,1401,MktingDB
- Bloquer
Aucune logique spéciale ne gère les adresses relatives telles que
localhost. Par conséquent, si vous bloquez*localhost*, cela empêchera les créateurs d’utiliser les points de terminaison en utilisantlocalhostdans le cadre du point de terminaison SQL Server. Cependant, cela ne les empêchera pas d’accéder au point de terminaison en utilisant l’adresse absolue, à moins que l’administrateur l’ait également bloquée.
Voici quelques exemples :
Autorisez uniquement les instances Azure SQL Server :
- Autoriser
*.database.windows.net* - Refuser
*
- Autoriser
Autorisez uniquement une plage d’adresses IP spécifique : (Les adresses IP qui ne sont pas autorisées peuvent toujours être entrées par le créateur au
<machine_name\named_instance>format.)- Autoriser
11.22.33* - Refuser
*
- Autoriser
Dataverse
Les points de terminaison Dataverse sont représentés par l’ID d’organisation, tel que 00aa00aa-bb11-cc22-dd33-44ee44ee44ee44ee. Notez que seul le connecteur Dataverse normal est actuellement dans la portée du filtrage de points de terminaison. Les connecteurs actuels Dataverse Dynamics et Dataverse ne sont pas dans la portée. De plus, l’instance locale de Dataverse (également appelée environnement actuel) ne peut jamais être bloquée pour une utilisation dans un environnement. Cela signifie que les créateurs peuvent toujours accéder à l’environnement actuel Dataverse dans n’importe quel environnement donné.
Par conséquent, une règle qui indique :
- Autoriser
00aa00aa-bb11-cc22-dd33-44ee44ee44ee - Refuser
*
Signifie en réalité :
- Autoriser
Dataverse current environment - Autoriser
00aa00aa-bb11-cc22-dd33-44ee44ee44ee - Refuser
*
Autoriser Dataverse current environment est toujours implicitement la première règle de la liste de filtrage de points de terminaison Dataverse pour un environnement donné.
Azure Blob Storage
Les points de terminaison de Blob Azure de stockage utilisent le nom du compte de stockage Azure.
SMTP
Les points de terminaison SMTP sont représentés au format <SMTP server address, port number>.
Voici un exemple de scénario :
- Refuser
smtp.gmail.com,587 - Autoriser
*
HTTP avec Microsoft Entra ID, Webhook HTTP et connecteurs HTTP
Les points de terminaison du connecteur HTTP utilisent un modèle d’URL. L’action Obtenir la ressource Web de HTTP avec le connecteur Microsoft Entra est hors de portée.
Prenons un exemple :
Autorisez l’accès uniquement à la page d’abonnements Azure dans https://management.azure.com/.
- Autoriser
https://management.azure.com/subscriptions* - Refuser
https://management.azure.com/* - Refuser
*
Automatisation du navigateur
Cette fonctionnalité vous permet de contrôler les pages web qu’un flux de bureau accède dans Power Automate pour bureau. Les points de terminaison sont représentés au format URL ou au format de nom de page Web, et vous pouvez utiliser des caractères génériques pour la mise en correspondance dynamique d’URL ou de nom de page. La validation se produit pendant les actions « Lancer le navigateur web » ou « Accéder à la page web » avant qu’un flux de bureau continue avec les interactions du navigateur.
Note
Le filtrage du point de terminaison n’est pas validé lorsque les actions « Lancer le navigateur Web » sont configurées pour s’attacher à la fenêtre de premier plan. Dans ce cas, l’action n’est pas bloquée tant que l’accès à toutes les pages Web n’est pas refusé.
Voici un exemple de scénario :
Autorisez l’accès à toutes les pages Web à l’exception de l’URL https://www.microsoft.com/ et de toute URL ou page Web contenant la chaîne powerplatform.
- Refuser
https://www.microsoft.com/ - Refuser
*powerplatform* - Autoriser
*
Automatisation de l'interface utilisateur
Cette fonctionnalité vous permet de définir les applications et écrans avec lesquels un flux de bureau peut interagir dans Power Automate pour bureau. Les points de terminaison sont spécifiés à l’aide du nom du processus de l’application. Lorsque le nom du processus est ApplicationFrameHost, Java ou Javaw, indiquant une application de plateforme Windows universelle (UWP) ou Java où plusieurs instances peuvent partager le même nom, Power Automate pour bureau utilise le nom du processus et le nom complet de la fenêtre pour identifier précisément la cible. Les caractères génériques sont pris en charge pour une correspondance flexible.
La validation se produit sur n’importe quelle action dans le groupe UI Automation. Il vérifie l’attribut Process (indiqué par le numéro 1 dans l’image) ou l’attribut Name (indiqué par le numéro 2 dans l’image) dans le sélecteur de l’écran ciblé (comme illustré par la flèche dans l’image). Généralement, le parent des éléments d’interface utilisateur associés est utilisé pour déterminer si l’interaction est autorisée.
Les règles de filtrage des points de terminaison ne s’appliquent pas aux variables ou aux points de terminaison liés dynamiquement. Si une expression inclut quelque chose d’autre qu’une chaîne littérale, le filtrage est ignoré, ce qui permet d’accéder à des arguments de connecteur restreints. Le comportement par défaut de la stratégie est que toutes les stratégies de filtrage de point de terminaison incluent une règle de base (Autoriser * ou Refuser *), et la valeur par défaut est Autoriser * (Autoriser tout).
- Quand Autoriser * est utilisé : les valeurs dynamiques ne sont pas filtrées. Toute expression dynamique contourne le filtrage de point de terminaison, même si des applications spécifiques sont restreintes.
- Lorsque Deny * est utilisé : toutes les valeurs dynamiques sont bloquées par défaut, ce qui garantit une application plus stricte.
Note
- Le filtrage des points de terminaison n’est pas appliqué si les attributs pertinents (Processus ou Nom) ne font pas partie du sélecteur.
- Le filtrage des points de terminaison n’est pas pris en charge pour certains éléments de l’interface utilisateur du système d’exploitation Windows, notamment les icônes de bureau, les boutons de barre des tâches et les composants dans le menu Démarrer .
Voici un exemple de scénario. Pour autoriser l’accès à toutes les applications et écrans, à l’exception de ceux où l’attribut Process ou Name est exactement Calculatrice ou contient la chaîne Java, vous devez configurer les règles suivantes :
- Refuser
Calculator - Refuser
*Java* - Autoriser
*
Prise en charge de PowerShell pour le filtrage du point de terminaison
Configurer les règles de filtrage du point de terminaison pour une stratégie
L’objet qui contient des règles de filtrage de point de terminaison pour une stratégie est appelé configurations du connecteur.
L’objet de configurations de connecteur a la structure suivante :
$ConnectorConfigurations = @{
connectorActionConfigurations = @() # used for connector action rules
endpointConfigurations = @( # array – one entry per
@{
connectorId # string
endpointRules = @( # array – one entry per rule
@{
order # number
endpoint # string
behavior # supported values: Allow/Deny
}
)
}
)
}
Remarques
- La dernière règle de chaque connecteur doit toujours s’appliquer à l’URL
*pour s’assurer que toutes les URL sont couvertes par les règles. - La propriété d’ordre des règles pour chaque connecteur doit utiliser les nombres 1 à N, où N est le nombre de règles pour ce connecteur.
Récupérer des configurations de connecteur existantes pour une stratégie de données
Get-PowerAppDlpPolicyConnectorConfigurations
Créer des configurations de connecteur pour une stratégie de données
New-PowerAppDlpPolicyConnectorConfigurations
Mettre à jour les configurations du connecteur pour une stratégie de données
Set-PowerAppDlpPolicyConnectorConfigurations
Exemple
Objectif :
Pour le connecteur SQL Server :
- Refuser la base de données « testdatabase » du serveur « myservername.database.windows.net »
- Autoriser toutes les autres bases de données du serveur « myservername.database.windows.net »
- Refuser tous les autres serveurs
Pour le connecteur SMTP :
- Autoriser Gmail (adresse du serveur : smtp.gmail.com, port : 587)
- Refuser toutes les autres adresses
Pour le connecteur HTTP :
- Autoriser les points de terminaison
https://mywebsite.com/allowedPath1ethttps://mywebsite.com/allowedPath2 - Refuser toutes les autres URL
Note
Dans l’applet de commande suivante, la valeur PolicyName fait référence au GUID unique. Récupérez le GUID de stratégie DLP en exécutant l'applet de commande Get-DlpPolicy.
$ConnectorConfigurations = @{
endpointConfigurations = @(
@{
connectorId = "/providers/Microsoft.PowerApps/apis/shared_sql"
endpointRules = @(
@{
order = 1
endpoint = "myservername.database.windows.net,testdatabase"
behavior = "Deny"
},
@{
order = 2
endpoint = "myservername.database.windows.net,*"
behavior = "Allow"
},
@{
order = 3
endpoint = "*"
behavior = "Deny"
}
)
},
@{
connectorId = "/providers/Microsoft.PowerApps/apis/shared_smtp"
endpointRules = @(
@{
order = 1
endpoint = "smtp.gmail.com,587"
behavior = "Allow"
},
@{
order = 2
endpoint = "*"
behavior = "Deny"
}
)
},
@{
connectorId = "http"
endpointRules = @(
@{
order = 1
endpoint = "https://mywebsite.com/allowedPath1"
behavior = "Allow"
},
@{
order = 2
endpoint = "https://mywebsite.com/allowedPath2"
behavior = "Allow"
},
@{
order = 3
endpoint = "*"
behavior = "Deny"
}
)
}
)
}
New-PowerAppDlpPolicyConnectorConfigurations -TenantId $TenantId -PolicyName $PolicyName -NewDlpPolicyConnectorConfigurations $ConnectorConfigurations