Connexion ArcGIS et proxy
Icon Map Slicer n'a besoin d'aucune clé API pour ses propres fonds de carte. Les seules informations d'identification qu'il utilise concernent ArcGIS. Cette page explique où placer ces informations d'identification, comment elles sont stockées et ce que fait le proxy Icon Map quand un serveur n'autorise pas Power BI à le lire.
La carte Authentification ArcGIS
La carte Authentification ArcGIS définit la façon dont la carte se connecte à ArcGIS Online ou à ArcGIS Enterprise. Elle ne figure pas toujours dans le volet Format : elle apparaît dès que la carte utilise ArcGIS, c'est-à-dire dans l'un de ces cas :
- Couche d'arrière-plan > Source de la carte vaut ArcGIS.
- Une liste de fonds de carte créée dans la boîte de dialogue Fonds de carte contient un fond de carte ou une carte web ArcGIS.
- Une couche de référence ArcGIS est activée (Couches de référence > Couche ArcGIS - Paramétrage).
- La couche de données ArcGIS est activée (Couches de données > Couche ArcGIS).
- Ombrage ou Terrain 3D lit un service d'élévation ArcGIS.
- Type d'authentification est déjà réglé sur Se connecter avec ArcGIS.
Le guide complet, avec les étapes de chaque méthode, est Se connecter à ArcGIS. En résumé :
| Type d'authentification | Qui se connecte | Ce qui est enregistré dans le rapport |
|---|---|---|
| Clé API | Personne | La clé API |
| OAuth2 (ID client et secret) | Personne. Une application inscrite dans votre organisation ArcGIS se connecte | L'ID client, et le secret client sous forme protégée |
| Nom d'utilisateur et mot de passe | Chaque personne, dans une fenêtre de connexion Power BI | Rien. La session est conservée dans le stockage local du visuel, sur l'appareil de la personne |
| Se connecter avec ArcGIS | Chaque personne, dans un onglet du navigateur | Rien. La session est conservée dans le stockage local du visuel, sur l'appareil de la personne |
Avec Se connecter avec ArcGIS, la page de connexion ArcGIS s'ouvre dans un onglet du navigateur. Un relais hébergé sur api.iconmap.ai renvoie le résultat de la connexion au visuel, qui l'échange ensuite contre un jeton directement auprès de votre portail. Le jeton n'est pas envoyé à Icon Map.
Envoyer les informations d'identification en tant que définit la façon dont les informations d'identification sont transmises à ArcGIS : Paramètre d'URL (par défaut) ou En-tête Authorization (Bearer). Laissez Paramètre d'URL, sauf si votre serveur le rejette. ArcGIS Enterprise 11.5 et les versions ultérieures peuvent rejeter les clés API récentes transmises dans l'URL avec « Invalid Token ». Ces serveurs ont besoin de l'option En-tête Authorization et doivent autoriser l'en-tête Authorization dans leurs paramètres CORS.
Sans informations d'identification, le contenu ArcGIS est lu comme du contenu public.
Tester la connexion vérifie le portail, les informations d'identification et chaque couche ArcGIS de la carte, et explique tout ce qui échoue.
Stockage des informations d'identification
- Une clé API ArcGIS est enregistrée dans le rapport comme un paramètre ordinaire. Toute personne qui peut modifier le rapport peut la lire, et le visuel l'envoie à ArcGIS avec chaque requête. Restreignez la clé, dans ArcGIS, aux services que la carte utilise.
- Le Secret client ArcGIS est enregistré sous forme protégée et affiché sous forme de points une fois saisi.
- Les sessions issues d'une connexion ArcGIS personnelle sont conservées dans le stockage local du visuel, sur l'appareil du lecteur, et non dans le rapport. Cela utilise le privilège facultatif de stockage local : votre locataire Power BI doit donc autoriser le stockage local pour les visuels personnalisés. Sans lui, les personnes se reconnectent plus souvent.
- La clé de licence Icon Map, quand il y en a une, est enregistrée dans le rapport, dans Icon Map Slicer > Clé de licence (pour une licence non basée sur l'utilisateur). Voir Clés de licence et activation.
Le proxy
Pourquoi un proxy existe
Power BI exécute chaque visuel personnalisé dans un cadre isolé (sandbox). Un serveur web doit autoriser explicitement les requêtes provenant de ce cadre, au moyen d'en-têtes CORS, avant que le visuel puisse lire sa réponse. La plupart des services de cartes publics le font. Certains serveurs ne le font pas, en général des serveurs ArcGIS Enterprise et certains serveurs de tuiles, GeoJSON et WFS. Une couche issue d'un tel serveur reste vide, alors que le même lien s'ouvre dans un navigateur.
La solution qui vous laisse la maîtrise de tout consiste à autoriser CORS sur votre serveur. Quand vous ne le pouvez pas, le proxy Icon Map peut récupérer la ressource pour le compte du visuel et la renvoyer avec les en-têtes dont Power BI a besoin.
Le proxy est un service de relais exploité par Icon Map à l'adresse proxy.icon-map.com. Il est désactivé par défaut. Il exige une clé de licence Icon Map, et les requêtes passant par le proxy peuvent consommer des crédits d'utilisation supplémentaires.
Quand le proxy est utilisé
Le paramètre s'appelle Utiliser le proxy si nécessaire, et il fonctionne comme son nom l'indique :
- Chaque serveur est d'abord interrogé directement.
- Seul un serveur dont on constate qu'il n'autorise pas Power BI est interrogé via le proxy. Cela vaut pour la requête qui a révélé le blocage et pour les requêtes suivantes vers ce serveur pendant la même session. Les tuiles et les images de carte suivent la même règle.
- Les serveurs qui autorisent Power BI ne passent jamais par le proxy, même quand le commutateur est activé.
Vous pouvez activer le proxy aux endroits suivants :
| Où | S'applique à |
|---|---|
| Authentification ArcGIS > Utiliser le proxy si nécessaire | Toutes les requêtes ArcGIS de la carte, y compris les fonds de carte, les cartes web et l'élévation ArcGIS |
| La boîte de dialogue Parcourir ArcGIS, avec son bouton Utiliser le proxy CORS quand un serveur est détecté comme bloqué | Le même commutateur que ci-dessus |
| Le Gestionnaire de couches, quand vous ajoutez une couche de fichier par lien (GeoJSON, KML, CSV ou WFS) et que la vérification du lien constate que le serveur bloque Power BI : cochez Le lire via le proxy CORS Icon Map (seulement pour des serveurs de confiance) | Le lien de cette couche |
| Le Gestionnaire de couches, quand vous ajoutez une couche de tuiles raster et que la vérification du lien constate que le serveur bloque Power BI : la même case à cocher | Les tuiles de cette couche |
| Le Gestionnaire de couches, dans l'éditeur d'une couche de fichier ou de tuiles raster que vous avez ajoutée : Utiliser le proxy si nécessaire dans sa section Source | Cette couche |
Quand des serveurs ArcGIS ont été détectés comme bloqués, l'explication située sous le commutateur ArcGIS les nomme : « Ces serveurs ArcGIS ont bloqué les requêtes provenant de Power BI : ... ».
Le choix du proxy pour une couche de fichier ou raster se fait dans le Gestionnaire de couches : la case à cocher quand vous ajoutez la couche, puis Utiliser le proxy si nécessaire dans son éditeur. Les groupes du volet Format de ces couches n'ont pas de commutateur de proxy.
Les couches de référence WMS n'ont pas d'option de proxy, et le Gestionnaire de couches n'en propose pas quand il ajoute une couche WMS. Les fonds de carte issus d'un serveur de tuiles, d'un WMS ou d'un lien de style non plus, sauf si le même serveur est aussi utilisé par une couche dont le proxy est activé.
Ce qui est envoyé au proxy
Rien n'est envoyé au proxy tant qu'aucune option de proxy n'est activée et qu'aucun serveur n'a été détecté comme bloquant Power BI.
Pour ouvrir une session, le visuel envoie :
- la clé de licence Icon Map de la carte Icon Map Slicer
- l'environnement dans lequel le rapport s'exécute (par exemple Power BI Desktop, le service Power BI ou Power BI Embedded)
- le nom du produit, IconMapSlicer
- la Référence facultative de la carte Icon Map Slicer
- l'ID d'instance du visuel et un ID de session
Le proxy répond par un jeton de session de courte durée, que le visuel réutilise jusqu'à peu avant son expiration.
Pour chaque requête passant par le proxy, le visuel envoie :
- l'adresse complète de la ressource, chaîne de requête comprise. Un jeton ou une clé qui fait partie de l'adresse est transmis avec elle
- le jeton de session
- les éventuels en-têtes de requête supplémentaires dont le serveur a besoin, par exemple un en-tête d'autorisation
Le proxy adresse la requête à votre serveur et renvoie la réponse, y compris le contenu binaire comme les tuiles.
Ce que cela signifie :
- Le service de proxy voit l'adresse de chaque requête qui passe par lui, les informations d'identification qui y sont jointes et la réponse.
- Les lignes de vos données Power BI ne sont pas envoyées par ce mécanisme. Seules les requêtes de couches et de tuiles le sont. Si vous construisez le lien ou le filtre d'une couche à partir de vos données avec la mise en forme conditionnelle, les valeurs de ce lien font partie de l'adresse.
- Votre serveur doit être accessible depuis Internet pour que le proxy puisse l'interroger. Le proxy ne peut pas atteindre un serveur disponible uniquement à l'intérieur de votre réseau.
Désactiver le proxy partout
Activez Icon Map Slicer > Personnalisation > Environnement isolé. Le proxy est alors exclu pour toute la carte. Utiliser le proxy si nécessaire est affiché désactivé et grisé, avec la note « Indisponible : l'Environnement isolé (airgapped) est activé, la carte n'appelle donc aucun service Icon Map, y compris le proxy. » Le Gestionnaire de couches masque sa case à cocher et son commutateur de proxy.
Une licence Icon Map peut aussi exclure le proxy. Le commutateur indique alors « Indisponible : cette licence n'inclut pas le proxy Icon Map. »
Voir Power BI Report Server (local).
Conseils et limites
- Préférez corriger CORS sur votre propre serveur. Vous évitez ainsi le proxy, l'exigence d'une clé de licence et le saut supplémentaire.
- Un lien qui s'ouvre dans un navigateur mais pas dans la carte est le signe habituel d'un blocage CORS. Voir Résolution des problèmes.
- Le proxy ne rend pas public un serveur privé. Il transmet les informations d'identification que votre carte utilise déjà.
- Si votre réseau restreint le trafic sortant, autorisez les adresses ArcGIS et Icon Map listées dans Environnements pris en charge et limites.