Notes de mise à jour
1.0.2
Added
- Prise en charge ajoutée pour des champs supplémentaires dans les mappages de champs de l'entité Hôte.
Fixed
- Added resolution for error logs.
- Mise à jour des contrôles de validation et refactorisation du code pour améliorer la maintenabilité.
1.0.1
Added
- Logo du plug-in mis à jour.
1.0.0
Added
- Initial Release.
Ce document explique comment configurer le plugin Illumio v1.0.2 avec le module Risk Exchange de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour récupérer des hôtes depuis Servers and Endpoints > Workloads dans la plateforme Illumio. Ce plugin ne prend en charge aucune action sur les hôtes.
Conditions préalables
Pour configurer ce plugin, vous avez besoin de :
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
- A Netskope Cloud Exchange instance with the Tenant plugin and Risk Exchange plugin already configured.
- Les informations d'identification de la plateforme Illumio (URL PCE, numéro de port PCE, ID de l'organisation PCE, nom d'utilisateur de l'authentification API, secret API, portée de l'étiquette) pour l'authentification API.
- Connexion à l'hôte suivant : URL de la plateforme Illumio (par exemple https://login.illum.io/login).
Support du plugin Illumio
Ce plugin est utilisé pour récupérer les hôtes depuis Servers and Endpoints > Workloads dans la plateforme Illumio. Ce plugin ne prend en charge aucune action sur les hôtes.
| Type de données extraites | Action |
|---|---|
| Hôtes | No Action |
Mises en correspondance
Les mappages sont utilisés pour afficher les hôtes récupérés et leurs détails respectifs. Les champs mappés lors de la configuration du plugin seront visibles sur la page Records une fois les données extraites. Voici les mappages suggérés à utiliser lors de la configuration du plugin.
Mappage par traction pour les hôtes
| Étiquette du champ du plugin | Type de données attendu | Étiquette suggérée pour le champ | Stratégie globale | Exemple |
|---|---|---|---|---|
| Workload ID | String | Illumio_Workload_ID | Unique | abc123 |
| Host | String | Illumio_Host | Unique | web-prod-01 |
| IP publique | String | Illumio_Public_IP | Overwrite | 203.0.113.10 |
| Mode Agent | String | Illumio_Agent_Mode | Overwrite | idle |
| État de l'agent | String | Illumio_Agent_Status | Overwrite | active |
| Version agent | String | Illumio_Agent_Version | Overwrite | 23.5.10-0 |
| Online | Boolean | Illumio_Online | Overwrite | true |
| Deleted | Boolean | Illumio_Deleted | Overwrite | false |
| Labels | List | Illumio_Labels | Overwrite | [“env:Quarantine”, “loc:ca”] |
| Mode d'application | String | Illumio_Enforcement_Mode | Overwrite | visibility_only |
| OS ID | String | Illumio_OS_ID | Overwrite | ubuntu |
| Détail du système d'exploitation | String | Illumio_OS_Detail | Overwrite | Ubuntu 22.04.3 LTS |
| Type de système d'exploitation | String | Illumio_OS_Type | Overwrite | linux |
Permissions
Assurez-vous d’avoir un accès global pour tous les champs de vision. Vous pouvez vérifier cela en cliquant sur votre nom de profil en haut à droite dans My Roles.
Détails de l'API
Ce plugin utilise des bibliothèques Python pour s'authentifier auprès de l'API Illumio.
Bibliothèque : illumio (version = ‘1.1.3’)
Create a PCE(PolicyComputeEngine) Object
pce = PolicyComputeEngine(
url=configuration.get("pce_url", "").strip().strip("/"),
port=configuration.get("pce_port"),
org_id=configuration.get("org_id"),
**kwargs
)
pce._session.headers.update(headers)
pce.set_credentials(configuration.get("api_username").strip(), configuration.get("api_secret"))
pce.set_tls_settings(verify=self.ssl_validation)
if self.proxy:
pce.set_proxies(
http_proxy=self.proxy.get('http', ''),
https_proxy=self.proxy.get('https', '')
)
Checks the connection to the PCE
pce.must_connect()
Retrieve Label object HREFs from the PCE
labels = self.pce.labels.get(
params={"key": key, "value": value}
)
Fetch All the workloads matching the Label Scope
workloads = self.pce.workloads.get_async(
# the labels query param takes a JSON-formatted nested list of
# label HREFs - each inner list represents a separate scope
params={
'labels': json.dumps(refs),
# include label keys/values in the response data
'representation': 'workload_labels'
}
)
Matrice de performance
Les relevés de performance ci-dessous sont effectués sur une pile CE de grande taille avec les spécifications de VM mentionnées ci-dessous en extrayant 500 000 hôtes du plugin Illumio.
| Description | Spécifications |
|---|---|
| Détails de la pile | Taille : Grande RAM : 32 GB CPU : 16 cœurs |
| Temps nécessaire pour stocker les enregistrements d'hôtes extraits et mis à jour | ~ 20 minutes |
Agent utilisateur
netskope-ce-6.1.0-cre-illumio-v1.0.2
Workflow
- Générez le nom d'utilisateur, le mot de passe et l'identifiant d'organisation pour l'authentification API.
- Obtenez des étiquettes.
- Configurez le plugin Illumio.
- Configurez une règle de gestion.
- Configure an Action.
- Validez le plugin.
Regardez une vidéo
Cliquer sur « play » pour regarder une vidéo.
Générer le nom d'utilisateur, le mot de passe et l'identifiant de l'organisation pour l'authentification de l'API
- Connectez-vous à la plateforme Illumio.
- Dans le coin supérieur droit, sélectionnez le nom de votre compte et cliquez sur My API Keys.

- Cliquez Add. Vous verrez votre identifiant d'organisation. Copiez-le pour l'utiliser dans votre plugin. Saisissez votre nom et une description pour créer un nom d'utilisateur et un mot de passe d'authentification API, puis cliquez sur Create.

- Enregistrez les valeurs du nom d'utilisateur et du secret d'authentification. Elles seront utilisées pour configurer le plugin et ne sont visibles qu'une seule fois.

Obtenir des étiquettes
- Dans Illumio, allez à Servers and Endpoints > Workloads.
- Recherchez les étiquettes disponibles dans l'onglet de recherche. Récupérez les étiquettes que vous souhaitez utiliser dans le plugin pour extraire les données. Survolez les noms des étiquettes pour vérifier le type d'étiquette.

Configurer le plugin Illumio
-
Dans Cloud Exchange, allez sur Settings > Plugin Store. Recherchez et sélectionnez le plugin Illumio v1.0.2 (CRE).

-
Ajoutez un nom de configuration et modifiez l'intervalle de synchronisation si nécessaire.

-
Cliquez sur Next, et entrez les paramètres de configuration :
- PCE URL: Base URL of your Illumio Platform, like https://my.pce.com.
- PCE Port Number: numéro de port PCE, utilisez 443 pour les instances SaaS.
- PCE Organization ID: Identifiant d'organisation Illumio PCE depuis Mes clés API.
- API Authentication Username: nom d’utilisateur d’authentification API généré sur l’Illumio PCE à partir de My API Keys.
- API Secret: secret d’API généré sur l’Illumio PCE à partir de My API Keys.
- Label Scope: Une ou plusieurs paires clé/valeur d'étiquette constituant la portée de la politique pour les charges de travail liées aux menaces, au format key1:value1,key2:value2,….

-
Cliquez sur Next et sélectionnez l’entité dans la liste déroulante Entité. Les champs d’entité peuvent être créés avec l’ éditeur de schéma, ou en utilisant le + Add Field dans la liste déroulante des champs. Fournissez le mappage des champs. Pour les mappages suggérés, reportez-vous à la section Mappages.


-
Click Save. The plugin appears on the Plugins page.

Configurer une règle métier Risk Exchange pour Illumio
-
Dans Risk Exchange, allez à Business Rules et cliquez sur Create New Rule.
-
Saisissez un nom de règle. Select l'entité pour les champs configurés pour le plugin Illumio, et configurez la requête en fonction de vos besoins. Cet exemple filtre tous les xyz récupérés depuis le plugin Illumio.

-
Cliquez sur Save.

Configurer une action Risk Exchange pour Illumio
Le plugin Illumio ne prend en charge que le type d'action suivant :
No Action
Aucune action ne sera effectuée pour cette action. Les utilisateurs peuvent générer des alertes UBA dans Ticket Orchestrator en utilisant cette action et en activant l'option Générer des alertes dans l'action.
Note
- Vous pouvez effectuer les actions sur les hôtes récupérés depuis Illumio sur le tenant Netskope. Pour effectuer les actions liées aux hôtes (Ajouter un hôte à une application privée) sur Netskope, reportez-vous au guide du plugin Risk Exchange afin de configurer les actions liées à Netskope (telles que Ajouter un hôte à une application privée) pour les enregistrements d'hôtes récupérés depuis Illumio.
- Pour configurer les autres actions prises en charge par Netskope, reportez-vous au guide des plugins Risk Exchange.
Configure the Action
- Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
- Select la règle de gestion, la configuration et l'action requises dans leurs listes déroulantes respectives.
- Activez la case à cocher Require Approval si une approbation est nécessaire avant d'effectuer une action sur les hôtes.
- Si l'option « Approbation requise » est activée, pour approuver l'action, allez à Cloud Risk Exchange > Action Logs, sélectionnez l'action à approuver, puis cliquez sur Approve.
- Cliquez sur Save.

Valider le plugin Illumio
Valider dans Cloud Exchange
Pour valider le tirage dans Cloud Exchange :
Accédez à Risk Exchange et cliquez sur Records. Select l'entité choisie lors de la configuration du mappage de champs pour les hôtes afin de visualiser les hôtes extraits.

Allez sur Logging et recherchez les journaux du plugin.

Lorsqu'un utilisateur correspond à l'une des règles de gestion configurées, l'action configurée sera effectuée sur les hôtes. Ceci peut être consulté dans les journaux d'action.

Valider dans Illumio
Les hôtes sont extraits de Servers & Endpoints > Workloads. Tous les noms d'hôtes de charge de travail, ainsi que les adresses des interfaces associées, sont extraits de la plateforme Illumio.

Dépannage du plugin Illumio
Impossible de configurer le plugin CRE Illumio.
Si vous recevez l'erreur lors de la configuration du plugin.
CRE Illumio [CRE Illumio]: Invalid format provided for the Label Scope: must be key1:value1,key2:value2...
CRE Illumio [CRE Illumio]: Illumio API Exception occurred while connecting to PCE for validating credentials. Validate the provided configuration parameters. Error: HTTPSConnectionPool(host='poc1.illum', port=443): Max retries exceeded with url: /api/v2/health (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f6eb920a700>: Failed to establish a new connection: [Errno -2] Name or service not known'))
Ces erreurs peuvent être dues à l'une des raisons suivantes :
- La clé et le secret de l'API ne sont pas valides ou ont été supprimés.
- L'URL de l'ECP n'est pas valide.
- Les étiquettes fournies dans CE n'existent pas sur la plate-forme ou le format de l'étiquette est incorrect.
What to do:
- Vérifiez les informations d'identification du plugin si la clé et le secret de l'API sont valides. S'il est valide, vérifiez si les informations d'identification que vous utilisez sont toujours disponibles sur Illumio.
- Vérifiez les étiquettes ajoutées dans la configuration et vérifiez si elles existent sur la plateforme Illumio.
- Vérifiez le format de l'étiquette ajouté dans le plugin. Les étiquettes doivent être ajoutées sous la forme d'une paire clé/valeur, comme loc:ca.
Impossible d'extraire les détails de l'hôte dans Cloud Exchange
Si vous ne parvenez pas à afficher les détails des hôtes dans le tableau d'enregistrement, cela peut être dû à l'une des raisons suivantes.
- Aucun hôte n'est présent sur la plateforme Illumio.
- Le mappage de tous les champs Illumio n'est pas fourni lors de la configuration du plugin CRE Illumio.
- Le plugin a rencontré une erreur au cours de son cycle de vie.
What to do:
- Assurez-vous que les hôtes sont présents sur la plate-forme Illumio.
- Veillez à fournir les correspondances nécessaires lors de la configuration du plugin.
- Assurez-vous que les champs créés dans une entité sont conformes à la cartographie.
- Vérifiez les journaux du plugin sur la page Journalisation pour voir s'il y a des erreurs. Si vous recevez une erreur de conflit 409, elle sera résolue d'elle-même après un certain temps, mais assurez-vous que l'intervalle de synchronisation pour la configuration du plugin est de 10 à 60 minutes.

