Palo Alto Networks Prisma Cloud
Ce document explique comment intégrer Palo Alto Networks Prisma Cloud au module SOAR de Google Security Operations. Dans la plate-forme Google SecOps, l'intégration de Palo Alto Networks Prisma Cloud s'appelle Palo Alto Prisma Cloud.
Version de l'intégration : 3.0
Intégrer Prisma Cloud à Google SecOps
L'intégration nécessite les paramètres suivants :
Paramètre | Description |
---|---|
API Root |
Obligatoire Racine de l'API de l'instance Prisma Cloud. La valeur par défaut est |
Access Key ID |
Obligatoire ID de clé d'accès du compte Prisma Cloud. |
Secret Access Key |
Obligatoire Clé d'accès secrète du compte Prisma Cloud. |
Verify SSL |
Obligatoire Si cette option est sélectionnée, Google SecOps vérifie que le certificat SSL pour la connexion au serveur Prisma Cloud est valide. Cette option est sélectionnée par défaut. |
Si nécessaire, vous pourrez apporter des modifications ultérieurement. Une fois que vous avez configuré une instance Prisma Cloud, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances Prisma Cloud, consultez Prise en charge de plusieurs instances.
Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Actions
Voici la liste des actions disponibles dans l'intégration Prisma Cloud :
Enrichir les composants
Utilisez Prisma Cloud pour enrichir les informations sur une ressource.
Cette action ne s'applique pas aux entités Google SecOps. Pour en savoir plus sur les entités acceptées, consultez Quels types d'entités sont acceptés ?.
Entrées d'action
L'action requiert les paramètres suivants :
Paramètre | Description |
---|---|
Asset Identifiers |
Obligatoire Liste d'identifiants d'éléments séparés par une virgule pour lesquels vous souhaitez récupérer les détails. Un identifiant d'élément est un ID d'élément ou un nom de ressource restreint (RRN) d'élément. |
Sorties d'action
L'action fournit les sorties suivantes :
Type de sortie de l'action | Disponibilité des résultats d'action |
---|---|
Pièce jointe au mur des cas | Non disponible |
Lien vers le mur des cas | Non disponible |
Table du mur des cas | Non disponible |
Table d'enrichissement | Non disponible |
Résultat JSON | Disponible |
Résultat du script | Disponible |
Messages de sortie | Disponible |
Résultat JSON
L'exemple suivant décrit le résultat JSON reçu lors de l'utilisation de l'action "Enrichir les composants" :
{
"id":"2dcffa4a51d892bcf48ed80652e75650",
"externalAssetId":"5115585594921894848",
"cloudType":"gcp",
"createdTs":1707216238063,
"insertTs":1707216238063,
"dynamicData":null,
"data":{
"id":"5115585594921894848",
"kind":"compute#instance",
"name":"example-name-rgmn",
"tags":{
"items":[
"example-name"
],
"fingerprint":"ycXN3kijHZc="
},
"zone":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a",
"disks":[
{
"boot":true,
"kind":"compute#attachedDisk",
"mode":"READ_WRITE",
"type":"PERSISTENT",
"index":0,
"source":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a/disks/example-name-rgmn",
"licenses":[
"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/licenses/LICENSE_ID"
],
"interface":"SCSI",
"autoDelete":true,
"deviceName":"persistent-disk-0",
"diskSizeGb":"30",
"architecture":"X86_64",
"guestOsFeatures":[
{
"type":"GVNIC"
},
{
"type":"SEV_CAPABLE"
},
{
"type":"UEFI_COMPATIBLE"
},
{
"type":"VIRTIO_SCSI_MULTIQUEUE"
}
],
"shieldedInstanceInitialState":{
"dbxs":[
]
}
}
],
"labels":{
"goog-ccm":"true",
"goog-solutions-console-solution-id":"java-application",
"goog-solutions-console-deployment-name":"java-application"
},
"status":"RUNNING",
"metadata":{
"kind":"compute#metadata",
"items":[
{
"key":"created-by",
"value":"projects/PROJECT_ID/regions/us-central1/instanceGroupManagers/example-name"
},
{
"key":"instance-template",
"value":"projects/PROJECT_ID/global/instanceTemplates/xwiki-us-central1-a-temp"
},
{
"key":"startup-script",
"value":"#! /bin/bash\n\nsed -i \"s/$(echo JGROUP_BUCKET | sed -e 's/\\([[\/.*]\\|\\]\\)/\\\\&/g')/$(echo xwiki-jgroup-PROJECT_ID-gce | sed -e 's/[\/&]/\\\\&/g')/g\" /usr/lib/xwiki/WEB-INF/observation/remote/jgroups/tcp.xml\nsed -i \"s/$(echo ACCESS_KEY | sed -e 's/\\([[\/.*]\\|\\]\\)/\\\\&/g')/$(echo GOOG1E | sed -e 's/[\/&]/\\\\&/g')/g\" /usr/lib/xwiki/WEB-INF/observation/remote/jgroups/tcp.xml\nsed -i \"s/$(echo SECRET_KEY | sed -e 's/\\([[\/.*]\\|\\]\\)/\\\\&/g')/$(echo IvgTtIJJq+68sI9XISo2qMXGyONmFDf7U9QuegN/ | sed -e 's/[\/&]/\\\\&/g')/g\" /usr/lib/xwiki/WEB-INF/observation/remote/jgroups/tcp.xml\n\nDB_PASS=\"$(gcloud secrets versions access --secret xwiki-db-password latest --project PROJECT_NAME)\"\n\nbash /home/xwiki_startup.sh \"203.0.113.2\" \"xwiki\" \"${DB_PASS}\" \"203.0.113.242\"\nbash /home/xwiki_deploy_flavor.sh \"203.0.113.2\" \"xwiki\" \"${DB_PASS}\" \"203.0.113.242\"\n"
}
],
"fingerprint":"_s0ui1yxFME="
},
"selfLink":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a/instances/example-name-rgmn",
"scheduling":{
"preemptible":false,
"automaticRestart":true,
"onHostMaintenance":"MIGRATE",
"provisioningModel":"STANDARD"
},
"cpuPlatform":"Intel Cascade Lake",
"fingerprint":"YBMt5z3lxpI=",
"machineType":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-central1-a/machineTypes/n2-standard-2",
"minCpuPlatform":"Intel Cascade Lake",
"serviceAccounts":[
{
"email":"example@developer.gserviceaccount.com",
"scopes":[
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/devstorage.full_control",
"https://www.googleapis.com/auth/devstorage.read_only",
"https://www.googleapis.com/auth/logging.write",
"https://www.googleapis.com/auth/monitoring.write",
"https://www.googleapis.com/auth/service.management.readonly",
"https://www.googleapis.com/auth/servicecontrol",
"https://www.googleapis.com/auth/trace.append"
]
}
],
"startRestricted":false,
"labelFingerprint":"Cy_Kdpu4cz8=",
"creationTimestamp":"2024-02-05T16:28:31.856-08:00",
"networkInterfaces":[
{
"kind":"compute#networkInterface",
"name":"nic0",
"network":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/networks/NETWORK_ID",
"networkIP":"203.0.113.2",
"stackType":"IPV4_ONLY",
"subnetwork":"https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/us-central1/subnetworks/SUBNETWORK_ID",
"fingerprint":"lpKHF5wzhv4="
}
],
"deletionProtection":false,
"lastStartTimestamp":"2024-02-05T16:28:47.038-08:00",
"shieldedInstanceConfig":{
"enableVtpm":true,
"enableSecureBoot":false,
"enableIntegrityMonitoring":true
},
"shieldedInstanceIntegrityPolicy":{
"updateAutoLearnPolicy":true
}
},
"name":"example-name-rgmn",
"regionId":"us-central1",
"regionName":"US",
"riskGrade":"B",
"stateId":null,
"url":"https://console.cloud.google.comhttps://console.cloud.google.com/compute/instancesDetail/zones/us-central1-a/instances/example-name-rgmn?project=PROJECT_NAME",
"vpcId":null,
"vpcName":null,
"relationshipCounts":1,
"vulnerabilityCounts":{
"critical":17,
"high":38,
"knownExploits":{
"critical":0,
"high":0,
"low":0,
"medium":0
},
"low":31,
"medium":59,
"old":{
"critical":0,
"high":0,
"low":0,
"medium":0
},
"patchable":{
"critical":17,
"high":38,
"low":5,
"medium":26
}
},
"vpcExternalAssetId":null,
"tags":{
"goog-ccm":true,
"xwiki-us-central1-autoscale":"",
"goog-solutions-console-deployment-name":"java-application",
"goog-solutions-console-solution-id":"java-application"
},
"assetType":"Google Compute Engine VM Instance",
"serviceName":"Google Compute Engine",
"resourceType":"Google Compute Engine VM Instance",
"accountGroup":"account",
"accountName":"Example-Name",
"assetClassId":"compute",
"assetClass":"Compute",
"deleted":false,
"problem":[
],
"alertsCount":[
{
"count":5,
"severity":"high"
},
{
"count":3,
"severity":"critical"
},
{
"count":2,
"severity":"low"
}
],
"attributes":{
"altAssetId":"example-name-rgmn.us-central1-a.c.PROJECT_NAME.internal",
"name":"example-name-rgmn.us-central1-a.c.PROJECT_NAME.internal",
"provider":"gcp",
"accountID":"example-account",
"region":"us-central1-a",
"resourceName":"5115585594921894848",
"osRelease":"focal",
"osDistro":"ubuntu",
"distro":"Ubuntu 20.04.5 LTS",
"scannedBy":"Agentless",
"docker":"",
"kubernetes":"",
"cluster":"",
"vmImage":"hsa-xwiki-vm-img-latest",
"collections":[
"All"
],
"scanPassed":true,
"stage":"run",
"lastScanTime":"2024-02-12T18:25:39.39Z"
},
"alertCountBySeverity":[
{
"severity":"high",
"count":5
},
{
"severity":"critical",
"count":3
},
{
"severity":"low",
"count":2
}
]
}
Résultat du script
Le tableau suivant décrit les valeurs de la sortie des résultats du script lorsque vous utilisez l'action "Enrichir les composants" :
Nom du résultat du script | Valeur |
---|---|
is_success | Vrai ou faux |
Messages de sortie
Sur un mur des cas, l'action "Enrichir les composants" fournit les messages de sortie suivants :
Message affiché | Description du message |
---|---|
|
Action effectuée. |
Error executing action "Enrich Assets". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Ping
Utilisez cette action pour tester la connectivité au serveur Prisma Cloud.
Entrées d'action
Aucun
Sorties d'action
L'action fournit les sorties suivantes :
Type de sortie de l'action | Disponibilité des résultats d'action |
---|---|
Pièce jointe au mur des cas | Non disponible |
Lien vers le mur des cas | Non disponible |
Table du mur des cas | Non disponible |
Table d'enrichissement | Non disponible |
Résultat JSON | Non disponible |
Résultat du script | Disponible |
Messages de sortie | Disponible |
Résultat du script
Le tableau suivant décrit les valeurs de la sortie des résultats du script lorsque vous utilisez l'action Ping :
Nom du résultat du script | Valeur |
---|---|
is_success | Vrai ou faux |
Messages de sortie
Sur un mur de demandes, l'action "Envoyer un ping" fournit les messages de sortie suivants :
Message affiché | Description du message |
---|---|
Successfully connected to the Palo Alto Prisma Cloud server with
the provided connection parameters! |
Action effectuée. |
Failed to connect to the Palo Alto Prisma Cloud server! Error is
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Répondre à l'alerte
Utilisez Prisma Cloud pour répondre à une alerte.
Cette action ne s'applique pas aux entités Google SecOps. Pour en savoir plus sur les entités acceptées, consultez Quels types d'entités sont acceptés ?.
Entrées d'action
L'action requiert les paramètres suivants :
Paramètre | Description |
---|---|
Alert ID |
Obligatoire ID de l'alerte de réponse. |
Response Type |
Optional État d'une alerte. Si la valeur
|
Snooze Time |
Optional Durée de la répétition en heures. |
Dismiss Note |
Optional Une note pour justifier un refus. |
Sorties d'action
L'action fournit les sorties suivantes :
Type de sortie de l'action | Disponibilité des résultats d'action |
---|---|
Pièce jointe au mur des cas | Non disponible |
Lien vers le mur des cas | Non disponible |
Table du mur des cas | Non disponible |
Table d'enrichissement | Non disponible |
Résultat JSON | Disponible |
Résultat du script | Disponible |
Messages de sortie | Disponible |
Résultat JSON
L'exemple suivant décrit le résultat JSON reçu lors de l'utilisation de l'action "Répondre à l'alerte" :
{
"response_status": {"Reopened", "Snoozed", "Dismissed", "Remediated", "No Remediation Applied."}
}
Résultat du script
Le tableau suivant décrit les valeurs de la sortie du résultat du script lorsque vous utilisez l'action "Répondre à l'alerte" :
Nom du résultat du script | Valeur |
---|---|
is_success | Vrai ou faux |
Messages de sortie
Sur un mur de demandes, l'action "Envoyer un ping" fournit les messages de sortie suivants :
Message affiché | Description du message |
---|---|
Successfully responded to an alert with ID
ALERT_ID in Palo Alto Prisma
Cloud. |
Action effectuée. |
Error executing action "Respond To Alert". Reason: Alert with
ID ALERT_ID wasn't found in Palo
Alto Prisma Cloud. Please check the spelling. |
Échec de l'action. L'alerte est introuvable. Vérifiez l'orthographe. |
Error executing action "Respond To Alert". Reason: The Response
Type parameter is misconfigured. Select a valid value for the Response
Type parameter. |
Échec de l'action. Vérifiez la valeur du paramètre Type de réponse. |
Error executing action "Respond To Alert". Reason: Action
couldn't respond to alert with ID
ALERT_ID in Palo Alto Prisma Cloud.
Please check the action configuration parameters. |
Échec de l'action. Vérifiez les valeurs des paramètres d'entrée. |
Error executing action "Respond To Alert". Reason:
The Response Type parameter was set to "Snooze". Make sure that the Snooze
Time parameter value is configured and valid. |
Échec de l'action. Vérifiez la valeur du paramètre Heure de mise en veille. |
Error executing action "Respond To Alert". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Connecteurs
Pour obtenir des instructions détaillées sur la configuration d'un connecteur dans Google SecOps, consultez Configurer le connecteur.
Connecteur d'alertes Palo Alto Prisma Cloud
Utilisez ce connecteur pour extraire les alertes de Prisma Cloud.
La liste dynamique fonctionne avec le paramètre policy.name, comme indiqué dans l'exemple suivant :
"filters": [
{
"operator": "=",
"name": "policy.name",
"value": "Google Cloud VM instance that is internet reachable with unrestricted access (203.0.113.0/24)"
},
{
"operator": "=",
"name": "policy.name",
"value": "Compute Engine with IAM write access level"
}
]
Entrées du connecteur
Le connecteur nécessite les paramètres suivants :
Paramètre | Description |
---|---|
Product Field Name |
Obligatoire Nom du champ source permettant de récupérer le nom du champ produit. La valeur par défaut est |
Event Field Name |
Obligatoire Nom du champ source permettant de récupérer le nom du champ d'événement. La valeur par défaut est |
Environment Field Name |
Optional
Nom du champ dans lequel le nom de l'environnement est stocké. Si le champ d'environnement n'est pas trouvé, l'environnement est défini sur l'environnement par défaut. |
Environment Regex Pattern |
Optional
Modèle d'expression régulière à exécuter sur la valeur trouvée dans le champ Utilisez la valeur par défaut Si le modèle d'expression régulière est nul ou vide, ou si la valeur d'environnement est nulle, le résultat final de l'environnement est l'environnement par défaut. |
API Root |
Obligatoire
Racine de l'API de l'instance Prisma Cloud. La valeur par défaut est |
Access Key ID |
Obligatoire
ID de clé d'accès du compte Prisma Cloud. |
Secret Access Key |
Obligatoire
Clé d'accès secrète du compte Prisma Cloud. |
Lowest Severity to Fetch |
Optional
Gravité minimale des alertes à récupérer. Si vous ne fournissez aucune valeur, le connecteur ingère les alertes de toutes les gravités. Valeurs possibles :
|
Max Hours Backwards |
Optional Nombre d'heures avant que le connecteur ne commence à récupérer les incidents. Ce paramètre ne s'applique qu'une seule fois à la première itération du connecteur après son activation. La valeur par défaut est de 1 heure. |
Max Alerts To Fetch |
Optional
Nombre d'alertes à traiter lors d'une itération du connecteur. La valeur par défaut est 100. La valeur maximale est de 1 000. |
Use dynamic list as a blocklist |
Obligatoire
Si cette option est sélectionnée, la liste dynamique est utilisée comme liste de blocage. (non sélectionnée par défaut). |
Verify SSL |
Obligatoire
Si cette option est sélectionnée, Google SecOps vérifie que le certificat SSL pour la connexion au serveur Prisma Cloud est valide. (non sélectionnée par défaut). |
Proxy Server Address |
Optional Adresse du serveur proxy à utiliser. |
Proxy Username |
Optional Nom d'utilisateur du proxy pour l'authentification. |
Proxy Password |
Optional Mot de passe du proxy pour l'authentification. |
Événements de connecteur
Voici un exemple d'événement de connecteur :
{
"id": "ID",
"status": "open",
"reason": "NEW_ALERT",
"firstSeen": 1706971601230,
"lastSeen": 1706971601230,
"alertTime": 1706971601230,
"lastUpdated": 1707806767098,
"saveSearchId": "b1ccf7df-d2c8-4588-8d06-b62738fd9745",
"policy": {
"policyId": "45488d62-6abe-4938-9b7a-aaa44858540e",
"name": "Data destruction risk due to a publicly exposed and vulnerable Google Cloud VM instance with delete permissions",
"policyType": "attack_path",
"systemDefault": true,
"description": "This policy idnces as soon as possible.",
"severity": "critical",
"recommendation": "The followinge vulnerabilities quickly.",
"labels": [
"Prisma_Cloud"
],
"lastModifiedOn": 1702006359544,
"lastModifiedBy": "user@example.com",
"deleted": false,
"findingTypes": [],
"remediable": false
},
"alertRules": [
{
"policyScanConfigId": "9612cba4-4f76-44ec-b11f-9c01ba9a4c04",
"name": "Default Alert Rule",
"enabled": true,
"scanAll": true,
"target": {
"accountGroups": [],
"excludedAccounts": [],
"regions": [],
"tags": []
},
"createdBy": "example@example.com",
"alertRuleNotificationConfig": [],
"allowAutoRemediate": false,
"notifyOnOpen": true,
"notifyOnSnoozed": false,
"notifyOnDismissed": false,
"notifyOnResolved": false
}
],
"resource": {
"id": "ID",
"name": "gke-gke-pc-pool-1-4e52a225-12id",
"account": "Example-Account",
"accountId": "ACCOUNT_ID",
"cloudAccountGroups": [
"Default Account Group"
],
"region": "US",
"regionId": "us-central1",
"resourceType": "INSTANCE",
"resourceApiName": "gcloud-compute-instances-list",
"cloudServiceName": "Google Compute Engine",
"data": {},
"cloudType": "gcp",
"resourceTs": 1706915178410,
"internalResourceId": "INTERNAL_RESOURCE_ID",
"cloudAccountOwners": [
"user1@example.com",
"user2@example.com"
],
"unifiedAssetId": "393924d2b306c07490b19615c6e1a265",
"resourceConfigJsonAvailable": false,
"resourceDetailsAvailable": true
},
"networkAnomaly": false
}
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.