Ce document explique comment configurer le plugin Zylo v1.0.0 avec le module Risk Exchange de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour récupérer les applications de la page Inventaire > Applications dans Zylo. Le plugin ne permet pas d'effectuer des actions sur les applications dans Zylo.
Conditions préalables
Pour réaliser cette intégration, vous avez besoin de :
- Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
- A Netskope Cloud Exchange tenant with the Tenant plugin and Risk Exchange plugin already configured.
- Connectivité à la plateforme Zylo (https://app.zylo.com)
Support du plugin Zylo
Ce plugin est utilisé pour récupérer les applications de la page Inventaire > Applications dans Zylo. Le plugin ne permet pas d'effectuer des actions sur les applications dans Zylo.
| Type de données extraites | Applications |
| Actions soutenues | No Action |
Mises en correspondance
Les mappages sont utilisés pour visualiser les hôtes tirés et leurs détails respectifs. Les champs mappés lors de la configuration du plugin sont visibles sur la page Enregistrements une fois les données extraites. Voici les mappings suggérés qui devraient être utilisés lors de la configuration du plugin.
Mappages de traction
| Champs CE de Netskope | Champs de l'API Zylo | Étiquette suggérée pour le champ | Stratégie globale suggérée |
|---|---|---|---|
| ID d'abonnement | id | ID d'abonnement | Unique |
| ID de l'application | appId | ID de l'application | Append |
| Description de l'application | appDescription | Description de l'application | Append |
| Nom de l'application | name | Nom de l'application | Append |
| URL de lancement | launchUrl | URL de lancement | Append |
| Tags | tags | Tags | Append |
| Courriel du propriétaire de l'application | owners.app | Courriel du propriétaire de l'application | Append |
| Courriel du propriétaire de l'entreprise | owners.business | Courriel du propriétaire de l'entreprise | Append |
| Courriel des propriétaires de technologies de l'information | owners.it | Courriel des propriétaires de technologies de l'information | Append |
| Statut | status | Statut | Append |
Permissions
Lecture seule
Détails de l'API
Liste des API utilisées
| Point final de l'API | Méthode | Cas d'utilisation |
|---|---|---|
| v1/subscriptions | OBTENIR | Recherche d'applications |
Recherche d'applications
API Endpoint: https://api.zylo.com/v1/subscriptions
Method: OBTENIR
Headers
| Clé | Value |
|---|---|
| Authorization | Bearer <API Token> |
Params
| Clé | Value |
|---|---|
| pageSize | 1 |
| pageToken | <next_page_token> or null |
Sample API Response
{
"nextPageToken": "MQ==",
"subscriptions": [
{
"appId": "application/669fcc2b-c4a2-4b72-aed2-2f2dbe22f428",
"appDescription": "1Password is a password management tool that securely stores and organizes passwords, credit card information, and other sensitive data. It helps users create strong, unique passwords for all their accounts and access them with a single master password.",
"id": "subscription/891a2dd1-d22e-4583-8107-29bb7b6ed218",
"name": "1Password",
"createTime": "2020-08-03T23:59:57.624Z",
"updateTime": "2024-12-31T08:37:05.186Z",
"category": "IT Infrastructure",
"subcategory": "Identity Management",
"status": "active",
"businessUnit": "IT",
"ssoEnforced": false,
"launchUrl": "1password.com",
"sources": [
"Batch Expense Import"
],
"itSupported": false,
"type": "monthly",
"businessGoals": "",
"tags": [
"Unsanctioned",
"sanctioned"
],
"supplierName": "Agilebits",
"holdsPii": false,
"notes": [],
"functionalities": [
"Password Management"
],
"cloud": true,
"nextAction": null,
"trueUp": null,
"primaryContract": {
"startDate": "2024-02-17T00:00:00.000Z",
"contractEndDate": null,
"totalContractValue": {
"currencyCode": "USD",
"amount": 3894
},
"billFrequency": "monthly",
"cancellationNotificationLength": 0,
"licensesPurchased": 178
},
"usageStats": {
"uniqueActiveUsers": 143,
"uniqueProvisionedUsers": 178,
"activityThreshold": 90,
"provisionedUsers": 0,
"activeUsers": 0,
"percentActiveUsers": 0.8033707865168539,
"percentLicensesProvisioned": 1
},
"payment": {
"yearToDateSpend": 3894,
"annualSpend": {
"currencyCode": "USD",
"amount": 3894
},
"apSpend": {
"currencyCode": "USD",
"amount": 0
},
"expenseSpend": {
"currencyCode": "USD",
"amount": 3894
},
"lastTransactionDate": "2024-11-12T00:00:00.000Z",
"lastApTransactionDate": null,
"lastExpenseTransactionDate": "2024-11-12T00:00:00.000Z",
"numberOfTransactions": 10,
"numberOfUsersExpensing": 10,
"numberOfCostCenters": 6,
"primaryCostCenter": {
"name": "Cost of Goods Sold",
"annualSpend": {
"currencyCode": "USD",
"amount": 1168.2
},
"numberOfCostCenters": 6
}
},
"owners": {
"app": "hailey.stracke@klowd.io",
"business": "florencehorton@klowd.io",
"it": "adalberto.heller@klowd.io"
},
"customFields": [
{
"key": "default_category",
"value": "IT Infrastructure"
},
{
"key": "default_subcategory",
"value": "Identity Management"
},
{
"key": "external_id",
"value": null
},
{
"key": "search_terms",
"value": "\n1Password\n1Password\nAgilebits\nhailey.stracke@klowd.io\nflorencehorton@klowd.io\nadalberto.heller@klowd.io"
},
{
"key": "custom_values",
"value": {
"renewalOwner": null,
"renewalStatus": null
}
},
{
"key": "realized_savings",
"value": null
},
{
"key": "identified_savings",
"value": null
},
{
"key": "last_contract_expiration_date",
"value": null
},
{
"key": "number_of_active_contracts",
"value": 1
},
{
"key": "realized_avoidance",
"value": null
},
{
"key": "identified_avoidance",
"value": null
},
{
"key": "total_contract_line_value",
"value": 3893.76
},
{
"key": "contract_status",
"value": "active"
},
{
"key": "inactive_user_count",
"value": null
},
{
"key": "users_not_in_employee_roster",
"value": null
},
{
"key": "renewalOwner",
"value": null
},
{
"key": "renewalStatus",
"value": null
},
{
"key": "current_fiscal_year_q_1_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_2_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_3_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_4_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_1_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_2_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_3_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_4_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_1_ap_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_2_ap_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_3_ap_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_4_ap_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_1_ap_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_2_ap_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_3_ap_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_4_ap_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_1_expense_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_2_expense_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_3_expense_spend",
"value": 0
},
{
"key": "current_fiscal_year_q_4_expense_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_1_expense_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_2_expense_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_3_expense_spend",
"value": 0
},
{
"key": "last_fiscal_year_q_4_expense_spend",
"value": 0
},
{
"key": "current_fiscal_year_spend",
"value": 0
},
{
"key": "current_fiscal_year_ap_spend",
"value": 0
},
{
"key": "current_fiscal_year_expense_spend",
"value": 0
},
{
"key": "last_fiscal_year_spend",
"value": 0
},
{
"key": "last_fiscal_year_ap_spend",
"value": 0
},
{
"key": "last_fiscal_year_expense_spend",
"value": 0
},
{
"key": "current_and_last_fiscal_quarter_spend",
"value": 0
},
{
"key": "last_2_fiscal_quarters_spend",
"value": 0
},
{
"key": "last_3_fiscal_quarters_spend",
"value": 0
},
{
"key": "current_and_last_2_fiscal_quarters_spend",
"value": 0
},
{
"key": "current_and_last_3_fiscal_quarters_spend",
"value": 0
},
{
"key": "current_and_last_fiscal_year_spend",
"value": 0
},
{
"key": "current_and_last_2_fiscal_years_spend",
"value": 0
},
{
"key": "last_2_fiscal_years_spend",
"value": 0
},
{
"key": "last_3_fiscal_years_spend",
"value": 0
}
]
}
]
}
Matrice de performance
Vous trouverez ci-dessous la matrice de performance réalisée sur une grande pile CE avec les spécifications mentionnées ci-dessous en tirant 500 000 applications.
| Détails de la pile | Taille : Grand
RAM : 32 GO CPU : 16 cœurs |
| Temps nécessaire pour stocker les dossiers de candidature tirés et mis à jour | ~15 minutes |
Agent utilisateur
netskope-ce-5.1.0-cre-zylo–v1.0.0
Workflow
- Obtenez votre Token ID et Token Secret Zylo.
- Configurez le plugin Zylo.
- Ajoutez une règle de gestion de l'échange de risques pour Zylo.
- Ajoutez des actions d'échange de risques pour Zylo.
- Validez le plugin Zylo.
Cliquer sur « play » pour regarder une vidéo.
Obtenez votre Token ID et Token Secret
- Connectez-vous à Zylo et cliquez sur l'icône du nom d'utilisateur dans le coin supérieur droit.

- Cliquez sur Admin et accédez à l'onglet Jetons de l'entreprise .

- Cliquez sur Request Token et indiquez le nom du jeton et la portée du jeton. Select Read Only dans la portée du jeton, puis cliquez sur Submit.
- Copiez le Token ID et le Token Secret ; ils sont utilisés pour configurer le plugin Zylo.
Configurer le plugin Zylo
- Connectez-vous à Cloud Exchange et allez sur Settings > Plugins. Cherchez et sélectionnez la boîte de plugin Zylo v1.0.0 (CRE) .

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

- Cliquez Next. Saisissez votre identifiant de jeton et votre secret de jeton.

- Cliquez Next. Select l'entité Applications dans la liste déroulante Entité et saisissez les correspondances de champs selon vos besoins.

- Cliquez Save.

Ajouter une règle de gestion de l'échange de risques pour Zylo
- Dans Risk Exchange, allez à Business Rules.
- Cliquez sur Create New Rule dans le coin supérieur droit.
- Saisissez un nom de règle. Select l'Entité pour les Field Mappings configurés pour le plugin Zylo, et configurez la requête en fonction de vos besoins.

- Cliquez sur Save.
Ajoutez une action d'échange de risque pour Zylo
No Action
Aucune action ne sera effectuée pour cette action. Vous pouvez générer des alertes UBA dans Ticket Orchestrator en utilisant cette action et en activant la bascule Generate Alerts.
- Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
- Select un plugin de règles métier et cible. Pour l’action, sélectionnez No Action.

- Si seule l'option Pas d'action est activée pour un plugin, assurez-vous d'activer le module Ticket Orchestrator pour générer les alertes.

- Pour effectuer des actions Netskope sur les applications extraites de Zylo, reportez-vous au guide du plugin Netskope Risk exchange.
Valider le plugin Zylo
Valider sur CE
Pour valider le tirage, procédez comme suit :
Allez sur Risk Exchange et cliquez sur Records. Select l'entité qui a été sélectionnée lors de la configuration des mappages de champs pour les applications pour afficher les applications tirées.

Rendez-vous sur le site Logging pour vérifier les enregistrements tirés via les journaux. Filtrez les journaux en utilisant le nom du plugin, comme CRE Zylo.

Valider sur Zylo
Pour valider les enregistrements extraits de Zylo, connectez-vous à Zylo et allez sur Inventory > Applications.

Dépannage du plugin Zylo
Impossible de configurer le plugin
Si vous ne parvenez pas à configurer le plugin CRE Zylo, cela peut être dû au fait que vous avez fourni un Token ID ou un Token Secret incorrect.
What to do: Pour obtenir l'identifiant et le secret du jeton, suivez les étapes mentionnées ci-dessus dans la section « Obtenir l'identifiant et le secret du jeton.
Impossible de tirer l'application
Si vous ne parvenez pas à extraire des hôtes du plugin CRE Zylo, cela peut être dû à l'une des raisons suivantes :
- Aucune application n'est présente sur la plateforme.
- Une erreur est survenue lors du retrait d'une application de la plate-forme.
- Le mappage n'est pas ajouté lors de la configuration du plugin dans la page source de l'entité.
What to do:
- Vérifiez si vous disposez de données sur Zylo à extraire.
- Vérifiez les journaux de Logging si vous avez reçu une erreur dans le plugin workflow.
- Vérifiez la configuration du plugin et assurez-vous que le mappage est ajouté dans le plugin afin d'extraire les enregistrements de l'application.

