Intégrer Security Command Center à Google SecOps
Ce document explique comment intégrer Security Command Center à Google Security Operations (Google SecOps).
Version de l'intégration : 13.0
Avant de commencer
Pour utiliser l'intégration, vous avez besoin d'un rôle IAM (Identity and Access Management) personnalisé et d'un compte de service Google Cloud . Vous pouvez utiliser un compte de service existant ou en créer un.
Créer et configurer un rôle IAM
Pour créer et configurer un rôle IAM personnalisé pour l'intégration, procédez comme suit :
Dans la console Google Cloud , accédez à la page Rôles d'IAM.
Cliquez sur Créer un rôle pour créer un rôle personnalisé avec les autorisations requises pour l'intégration.
Pour un nouveau rôle personnalisé, saisissez un titre, une description et un ID unique.
Définissez l'étape de lancement du rôle sur Disponibilité générale.
Ajoutez les autorisations suivantes au rôle créé :
securitycenter.assets.list
securitycenter.findings.list
securitycenter.findings.setMute
securitycenter.findings.setState
Créer et configurer une clé API
Pour créer la clé API, procédez comme suit :
Dans la console Google Cloud , accédez à API et services > Identifiants > Créer des identifiants.
Sélectionnez Clé API. Une boîte de dialogue contenant une clé API générée s'affiche. Copiez la clé API et stockez-la de manière sécurisée.
Pour configurer la restriction d'API pour la clé API, procédez comme suit :
Cliquez sur Restreindre la clé > Restrictions des API > Restreindre la clé.
Sélectionnez API Security Command Center dans la liste des API, configurez les restrictions applicables, puis cliquez sur Enregistrer.
Accorder l'accès à la clé API
Pour accorder à Security Command Center l'accès à votre clé API, procédez comme suit :
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.
Sélectionnez le compte de service que vous utilisez dans l'intégration Security Command Center.
Cliquez sur l'adresse e-mail du compte de service.
Sélectionnez Accorder l'accès.
Dans le champ Nouveaux membres, saisissez l'adresse e-mail du compte de service.
Sous Centre de sécurité, sélectionnez le rôle
Security Center Findings Editor
, puis cliquez sur Enregistrer.
Paramètres d'intégration
L'intégration à Security Command Center nécessite les paramètres suivants :
Paramètre | Description |
---|---|
API Root |
Obligatoire. Racine de l'API de l'instance Security Command Center. |
Organization ID |
Facultatif. ID de l'organisation à utiliser dans l'intégration Security Command Center. |
Project ID |
Facultatif. ID de projet de l'instance Security Command Center. |
Quota Project ID |
Facultatif. ID de projet Google Cloud que vous utilisez pour les API Google Cloud et la facturation. Ce paramètre nécessite que vous accordiez le rôle
Si vous ne définissez pas de valeur pour ce paramètre, l'intégration récupère l'ID du projet à partir de votre compte de service Google Cloud . |
User's Service Account |
Obligatoire. Contenu du fichier JSON de clé de compte de service. Vous pouvez configurer ce paramètre ou le paramètre Pour configurer ce paramètre, indiquez le contenu complet du fichier JSON de la clé de compte de service que vous avez téléchargé lorsque vous avez créé un compte de service. |
Workload Identity Email |
Facultatif. Adresse e-mail du client de votre compte de service. Vous pouvez configurer ce paramètre ou le paramètre Si vous définissez ce paramètre, configurez le paramètre Pour emprunter l'identité de comptes de service avec la fédération d'identité de charge de travail, accordez le rôle |
Verify SSL |
Obligatoire. Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Security Command Center. Cette option est sélectionnée par défaut. |
Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Vous pourrez apporter des modifications ultérieurement, si nécessaire. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis Votre bureau et Effectuer une action manuelle.
Obtenir les détails d'un résultat
Utilisez l'action Obtenir les détails d'un résultat pour récupérer les détails d'un résultat dans Security Command Center.
Cette action ne s'applique pas aux entités Google SecOps.
Entrées d'action
L'action Obtenir les détails du résultat nécessite les paramètres suivants :
Paramètre | Description |
---|---|
Finding Name |
Obligatoire. Noms des résultats pour renvoyer les détails. Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule. Voici un exemple de recherche de noms : organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID |
Sorties d'action
L'action Obtenir les détails du résultat fournit les sorties suivantes :
Type de sortie de l'action | Disponibilité |
---|---|
Pièce jointe au mur des cas | Non disponible |
Lien vers le mur des cas | Non disponible |
Table du mur des cas | Disponible |
Table d'enrichissement | Non disponible |
Résultat JSON | Disponible |
Messages de sortie | Disponible |
Résultat du script | Disponible |
Table du mur des cas
L'action Obtenir les détails du résultat peut renvoyer le tableau suivant :
Titre du tableau : Détails du résultat
Colonnes du tableau :
- Catégorie
- État
- Gravité
- Type
Résultat JSON
L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action Obtenir les détails du problème :
{
{
"finding_name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/2678067631293752869/findings/hvX6WwbvFyBGqPbEs9WH9m",
"parent": "organizations/ORGANIZATION_ID/sources/2678067631293752869",
"resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"state": "ACTIVE",
"category": "Discovery: Service Account Self-Investigation",
"sourceProperties": {
"sourceId": {
"projectNumber": "PROJECT_ID",
"customerOrganizationNumber": "ORGANIZATION_ID"
},
"detectionCategory": {
"technique": "discovery",
"indicator": "audit_log",
"ruleName": "iam_anomalous_behavior",
"subRuleName": "service_account_gets_own_iam_policy"
},
"detectionPriority": "LOW",
"affectedResources": [
{
"gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID"
}
],
"evidence": [
{
"sourceLogId": {
"projectId": "PROJECT_ID",
"resourceContainer": "projects/PROJECT_ID",
"timestamp": {
"seconds": "1622678907",
"nanos": 448368000
},
"insertId": "ID"
}
}
],
"properties": {
"serviceAccountGetsOwnIamPolicy": {
"principalEmail": "prisma-cloud-serv@PROJECT_ID.iam.gserviceaccount.com",
"projectId": "PROJECT_ID",
"callerIp": "192.0.2.41",
"callerUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)",
"rawUserAgent": "Redlock/GC-MDC/resource-manager/PROJECT_ID Google-API-Java-Client HTTP-Java-Client/1.34.0 (gzip),gzip(gfe)"
}
},
"contextUris": {
"mitreUri": {
"displayName": "Permission Groups Discovery: Cloud Groups",
"url": "https://attack.mitre.org/techniques/ID/003/"
},
"cloudLoggingQueryUri": [
{
"displayName": "Cloud Logging Query Link",
"url": "https://console.cloud.google.com/logs/query;query=timestamp%3D%222021-06-03T00:08:27.448368Z%22%0AinsertId%3D%22ID%22%0Aresource.labels.project_id%3D%22PROJECT_ID%22?project=PROJECT_ID"
}
]
}
},
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2021-06-03T00:08:27.448Z",
"createTime": "2021-06-03T00:08:31.074Z",
"severity": "LOW",
"canonicalName": "projects/PROJECT_ID/sources/SOURCE_ID/findings/FINDING_ID",
"mute": "UNDEFINED",
"findingClass": "THREAT",
"mitreAttack": {
"primaryTactic": "DISCOVERY",
"primaryTechniques": [
"PERMISSION_GROUPS_DISCOVERY",
"CLOUD_GROUPS"
]
}
},
"resource": {
"name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_ID",
"projectDisplayName": "PROJECT_ID",
"parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
"parentDisplayName": "example.net",
"type": "google.cloud.resourcemanager.Project",
"displayName": "PROJECT_ID"
}
}
}
Messages de sortie
L'action Obtenir les détails du résultat peut renvoyer les messages de sortie suivants :
Message affiché | Description du message |
---|---|
|
L'action a réussi. |
Error executing action "Get Finding Details". Reason: ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant liste la valeur de la sortie des résultats du script lorsque vous utilisez l'action Get Finding Details (Obtenir les détails du problème) :
Nom du résultat du script | Valeur |
---|---|
is_success |
True ou False |
Lister les failles des composants
Utilisez l'action Lister les failles des composants pour lister les failles liées aux entités dans Security Command Center.
Cette action ne s'applique pas aux entités Google SecOps.
Entrées d'action
L'action Lister les failles des composants nécessite les paramètres suivants :
Paramètre | Description |
---|---|
Asset Resource Names |
Obligatoire. Noms de ressources des composants pour lesquels renvoyer des données. Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule. |
Timeframe |
Facultatif. Période pendant laquelle rechercher les failles ou les erreurs de configuration. Les valeurs possibles sont les suivantes :
La valeur par défaut est |
Record Types |
Facultatif. Type d'enregistrement à renvoyer. Les valeurs possibles sont les suivantes :
La valeur par défaut est |
Output Type |
Facultatif. Type de résultat à renvoyer dans le résultat JSON pour chaque élément. Les valeurs possibles sont les suivantes :
La valeur par défaut est |
Max Records To Return |
Facultatif. Nombre maximal d'enregistrements à renvoyer pour chaque type d'enregistrement. La valeur par défaut est |
Sorties d'action
L'action Lister les failles des composants fournit les sorties suivantes :
Type de sortie de l'action | Disponibilité |
---|---|
Pièce jointe au mur des cas | Non disponible |
Lien vers le mur des cas | Non disponible |
Table du mur des cas | Disponible |
Table d'enrichissement | Non disponible |
Résultat JSON | Disponible |
Messages de sortie | Disponible |
Résultat du script | Disponible |
Table du mur des cas
L'action Lister les failles des composants peut renvoyer les tableaux suivants :
Titre du tableau : ASSET_ID Failles
Colonnes du tableau :
- Catégorie
- Description
- Gravité
- Heure de l'événement
- CVE
Titre du tableau : ASSET_ID Configurations incorrectes
Colonnes du tableau :
- Catégorie
- Description
- Gravité
- Heure de l'événement
- Recommandation
Résultat JSON
L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action List Asset Vulnerabilities (Lister les failles des composants) :
{
."siemplify_asset_display_name":[1] [2] ""
"vulnerabilities": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"cve_id": "CVE_ID"
"event_time": "EVENT_TIME"
"related_references": "RELATED_REFERENCES"
"severity": "SEVERITY"
}
]
},
"misconfigurations": {
"statistics": {
"critical": 1,
"high": 1,
"medium": 1,
"low": 1,
"undefined": 1
},
"data": [
{
"category": "CATEGORY"
"description": "DESCRIPTION"
"recommendation": "RECOMMENDATION"
"event_time": "EVENT_TIME"
"severity": "SEVERITY"
}
]
},
}
Messages de sortie
L'action List Asset Vulnerabilities (Lister les failles des composants) peut renvoyer les messages de sortie suivants :
Message affiché | Description du message |
---|---|
|
L'action a réussi. |
Error executing action "List Asset Vulnerabilities". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant répertorie la valeur de la sortie du résultat du script lorsque vous utilisez l'action Lister les failles des composants :
Nom du résultat du script | Valeur |
---|---|
is_success |
True ou False |
Ping
Utilisez l'action Ping pour tester la connectivité à Security Command Center.
Cette action ne s'applique pas aux entités Google SecOps.
Entrées d'action
Aucun
Sorties d'action
L'action Ping fournit les résultats suivants :
Type de sortie de l'action | Disponibilité |
---|---|
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 |
Messages de sortie | Disponible |
Résultat du script | Disponible |
Messages de sortie
L'action Ping peut renvoyer les messages de résultat suivants :
Message affiché | Description du message |
---|---|
Successfully connected to the Security Command Center server
with the provided connection parameters! |
L'action a réussi. |
Failed to connect to the Security Command Center 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ésultat du script
Le tableau suivant répertorie la valeur du résultat du script lorsque vous utilisez l'action Ping :
Nom du résultat du script | Valeur |
---|---|
is_success |
True ou False |
Mettre à jour un résultat
Utilisez l'action Mettre à jour le résultat pour mettre à jour un résultat dans Security Command Center.
Cette action ne s'applique pas aux entités Google SecOps.
Entrées d'action
L'action Mettre à jour le résultat nécessite les paramètres suivants :
Paramètre | Description |
---|---|
Finding Name |
Obligatoire. Rechercher les noms à modifier. Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule. Voici un exemple de recherche de noms : |
Mute Status |
Facultatif. État d'ignorance du résultat. Voici les valeurs possibles :
|
State Status |
Facultatif. État du résultat. Les valeurs possibles sont les suivantes :
|
Sorties d'action
L'action Mettre à jour le résultat fournit les sorties suivantes :
Type de sortie de l'action | Disponibilité |
---|---|
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 |
Messages de sortie | Disponible |
Résultat du script | Disponible |
Messages de sortie
L'action Mettre à jour le résultat peut renvoyer les messages de résultat suivants :
Message affiché | Description du message |
---|---|
|
L'action a réussi. |
Error executing action "Update finding". Reason: ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant répertorie la valeur de la sortie du résultat du script lorsque vous utilisez l'action Mettre à jour le résultat :
Nom du résultat du script | Valeur |
---|---|
is_success |
True ou False |
Connecteurs
Pour en savoir plus sur la configuration des connecteurs dans Google SecOps, consultez Ingérer vos données (connecteurs).
Connecteur de résultats Google Security Command Center
Utilisez le connecteur de résultats Google Security Command Center pour récupérer des informations sur les résultats de Security Command Center.
Le filtre de liste dynamique fonctionne avec les catégories.
Entrées du connecteur
Le connecteur Google Security Command Center – Résultats nécessite les paramètres suivants :
Paramètre | Description |
---|---|
Product Field Name |
Obligatoire. Nom du champ dans lequel le nom du produit est stocké. Le nom du produit a principalement un impact sur le mappage. Pour simplifier et améliorer le processus de mappage du connecteur, la valeur par défaut est résolue en une valeur de remplacement référencée dans le code. Toute entrée non valide pour ce paramètre est résolue en une valeur de remplacement par défaut. La valeur par défaut est |
Event Field Name |
Obligatoire. Nom du champ qui détermine le nom (sous-type) de l'événement. La valeur par défaut est |
Environment Field Name |
Facultatif. Nom du champ dans lequel le nom de l'environnement est stocké. Si le champ "environment" (environnement) est manquant, le connecteur utilise la valeur par défaut. |
Environment Regex Pattern |
Facultatif. 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. |
Script Timeout (Seconds) |
Obligatoire. Délai limite, en secondes, pour le processus Python qui exécute le script actuel. La valeur par défaut est |
API Root |
Obligatoire. Racine de l'API de l'instance Security Command Center. La valeur par défaut est |
Organization ID |
Facultatif. ID d'une organisation à utiliser dans l'intégration Security Command Center. |
Project ID |
Facultatif. ID de projet de l'instance Security Command Center. |
Quota Project ID |
Facultatif. ID de projet Google Cloud que vous utilisez pour les API Google Cloud et la facturation. Ce paramètre nécessite que vous accordiez le rôle
Si vous ne définissez pas de valeur pour ce paramètre, l'intégration récupère l'ID du projet à partir de votre compte de service Google Cloud . |
User's Service Account |
Obligatoire. Contenu du fichier JSON de clé de compte de service. Vous pouvez configurer ce paramètre ou le paramètre Pour configurer ce paramètre, indiquez le contenu complet du fichier JSON de la clé de compte de service que vous avez téléchargé lorsque vous avez créé un compte de service. |
Workload Identity Email |
Facultatif. Adresse e-mail du client de votre compte de service. Vous pouvez configurer ce paramètre ou le paramètre Si vous définissez ce paramètre, configurez le paramètre Pour emprunter l'identité de comptes de service avec la fédération d'identité de charge de travail, accordez le rôle |
Finding Class Filter
|
Facultatif. Classes de résultats à ingérer pour le connecteur. Les valeurs possibles sont les suivantes :
Si vous ne définissez pas de valeur, le connecteur ingère les résultats de toutes les classes. La valeur par défaut est |
Lowest Severity To Fetch |
Facultatif. Gravité la plus faible des alertes à récupérer. Si vous ne configurez pas ce paramètre, le connecteur ingère les alertes de tous les niveaux de gravité. Le connecteur traite les alertes dont la gravité n'est pas définie comme celles dont la gravité est Les valeurs possibles sont les suivantes :
La valeur par défaut est |
Max Hours Backwards |
Facultatif. Nombre d'heures avant maintenant pour récupérer les résultats. Ce paramètre peut s'appliquer à l'itération initiale du connecteur après l'avoir activé pour la première fois, ou à la valeur de remplacement pour un code temporel de connecteur expiré. La valeur maximale est de La valeur par défaut est |
Max Findings To Fetch
|
Facultatif. Nombre de résultats à traiter à chaque itération du connecteur. La valeur maximale est de La valeur par défaut est |
Use dynamic list as a blacklist |
Obligatoire. Si cette option est sélectionnée, le connecteur utilise la liste dynamique comme liste de blocage. (non sélectionnée par défaut). |
Verify SSL
|
Obligatoire. Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Security Command Center. (non sélectionnée par défaut). |
Proxy Server Address |
Facultatif. Adresse du serveur proxy à utiliser. |
Proxy Username |
Facultatif. Nom d'utilisateur du proxy pour l'authentification. |
Proxy Password |
Facultatif. Mot de passe du proxy pour l'authentification. |
Règles du connecteur
Le connecteur de résultats Google Security Command Center est compatible avec les proxys.
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.