Intégrer Security Command Center à Google SecOps
Version de l'intégration : 14.0
Ce document explique comment intégrer Security Command Center à Google Security Operations.
Avant de commencer
Pour intégrer Security Command Center, vous devez effectuer les étapes suivantes :
Créez un rôle IAM (Identity and Access Management) personnalisé avec les autorisations nécessaires.
Configurez l'authentification à l'aide de l'une des options suivantes :
Workload Identity (recommandé)
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é doté des autorisations requises pour l'intégration.
Saisissez un titre, une description et un ID unique.
Définissez l'étape de lancement du rôle sur
General Availability.Ajoutez les autorisations suivantes au rôle créé :
securitycenter.assets.listsecuritycenter.findings.listsecuritycenter.findings.setMutesecuritycenter.findings.setState
Cliquez sur Créer.
Configurer l'authentification
Pour authentifier l'intégration, utilisez un compte de service avec une clé JSON ou avec Workload Identity.
Authentification avec une clé JSON
Cette méthode utilise un fichier de clé JSON statique pour authentifier le compte de service.
Créer un compte de service
Pour vous authentifier à l'aide d'une clé JSON, vous devez d'abord créer un compte de service :
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.
Sélectionnez le projet dans lequel vous souhaitez créer le compte de service.
Cliquez sur Créer un compte de service.
Si vous préférez utiliser un compte de service existant, sélectionnez celui de votre choix et générez une clé JSON.
Indiquez un nom et une description, puis cliquez sur Créer et continuer.
À l'étape Autoriser ce compte de service à accéder au projet, ajoutez le rôle personnalisé que vous avez créé.
Cliquez sur OK pour terminer la création du compte.
Générer une clé JSON
Pour générer le fichier de clé JSON requis, procédez comme suit :
Dans la liste des comptes de service, sélectionnez l'adresse e-mail du compte de service que vous avez créé (ou sélectionné) pour ouvrir ses détails.
Cliquez sur l'onglet Clés.
Cliquez sur Ajouter une clé > Créer une clé.
Sélectionnez le type de clé JSON, puis cliquez sur Créer.
Le fichier de clé JSON est téléchargé sur votre ordinateur. Stockez ce fichier de manière sécurisée et collez l'intégralité de son contenu dans
User's Service Accountlorsque vous configurez les paramètres d'intégration.
Authentification avec Workload Identity (recommandé)
Cette méthode permet à l'intégration d'emprunter l'identité d'un compte de service sans avoir à gérer les secrets de longue durée.
Pour configurer Workload Identity, procédez comme suit :
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.
Sélectionnez un compte de service existant ou créez-en un.
Attribuez le rôle personnalisé que vous avez créé au compte de service.
Attribuez le rôle Consommateur de l'utilisation du service au compte de service. Cette autorisation est requise pour associer l'utilisation de l'API au projet défini dans
Quota Project ID.Attribuez le rôle Créateur de jetons du compte de service au compte de service.
Cette autorisation permet à l'intégration de générer les identifiants éphémères nécessaires à l'authentification.
Notez l'adresse e-mail du client du compte de service et utilisez cette valeur dans Adresse e-mail Workload Identity lorsque vous configurez les paramètres d'intégration.
Paramètres d'intégration
L'intégration de 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 Google Cloud à utiliser pour définir le champ d'application des requêtes d'intégration Security Command Center. |
Project ID |
Facultatif. ID du projet Google Cloud utilisé pour définir le champ d'application des requêtes d'instance Security Command Center. |
Quota Project ID |
Facultatif. ID du projet Google Cloud utilisé pour l'utilisation de l'API et la facturation. |
User's Service Account |
Facultatif. Contenu complet du fichier JSON de clé de compte de service. N'utilisez ce paramètre que si vous vous authentifiez à l'aide d'une clé JSON. |
Workload Identity Email |
Facultatif. Adresse e-mail du client de votre compte de service. N'utilisez ce paramètre que si vous vous authentifiez à l'aide d'une identité de charge de travail. Si vous configurez ce paramètre, vous devez également configurer |
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 activé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 des informations sur 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 complets des ressources des résultats dont vous souhaitez afficher les détails, au format Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule. |
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 de la demande | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Tableau 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 de sortie | 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 de la découverte) :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
true ou false |
Lister les failles des composants
Utilisez l'action Lister les failles des éléments 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 de sécurité des composants nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
Asset Resource Names |
Obligatoire. Liste d'identifiants uniques (noms de ressources complets) des composants pour lesquels récupérer des données, séparés par une virgule. |
Timeframe |
Facultatif. Période de recherche des failles ou des 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 de la demande | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Tableau 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 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 de sortie | 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
Aucune.
Sorties d'action
L'action Ping fournit les résultats suivants :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur de la demande | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau 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 de sortie | 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 le résultat
Utilisez l'action Mettre à jour le résultat pour mettre à jour un résultat existant 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. Noms complets des ressources des résultats dont vous souhaitez afficher les détails, au format Ce paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule. |
Mute Status |
Facultatif. État Ignorer du résultat. Les valeurs possibles sont les suivantes :
|
State Status |
Facultatif. État du problème. Les valeurs possibles sont les suivantes :
|
Sorties d'action
L'action Mettre à jour le résultat fournit les résultats suivants :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur de la demande | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau 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 de sortie | 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 savoir comment configurer des connecteurs dans Google SecOps, consultez Ingérer vos données (connecteurs).
Security Command Center – Connecteur de résultats
Utilisez le connecteur de résultats Security Command Center pour récupérer des informations sur les résultats de Security Command Center.
Ce connecteur permet de filtrer les résultats par catégorie à l'aide de la liste dynamique.
Entrées du connecteur
Le connecteur de résultats Security Command Center 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 à partir du code. Toute entrée non valide pour ce paramètre est résolue par défaut sur une valeur de remplacement. La valeur par défaut est |
Event Field Name |
Obligatoire. Nom du champ qui détermine le nom (sous-type) de l'événement. |
Environment Field Name |
Facultatif. Nom du champ dans lequel le nom de l'environnement est stocké. Si le champ "environment" est manquant, le connecteur utilise la valeur par défaut. La valeur par défaut est |
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 de l'environnement est nulle, l'environnement par défaut est sélectionné comme résultat final. |
PythonProcessTime |
Obligatoire. Délai avant expiration, en secondes, du 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. |
Organization ID |
Facultatif. ID de l'organisation Google Cloud à utiliser |
Project ID |
Facultatif. ID du projet Google Cloud à utiliser. |
Quota Project ID |
Facultatif. ID du projet Google Cloud à utiliser. |
User's Service Account |
Obligatoire. Contenu complet du fichier JSON de clé de compte de service. N'utilisez ce paramètre que si vous vous authentifiez à l'aide d'une clé JSON. |
Workload Identity Email |
Facultatif. Adresse e-mail du client de votre compte de service. N'utilisez ce paramètre que si vous vous authentifiez à l'aide d'une identité de charge de travail. Si vous configurez ce paramètre, vous devez également configurer |
Finding Class Filter |
Facultatif. Liste des types de résultats de sécurité à inclure lors de l'ingestion des données à partir de la source, séparés par une virgule. Les valeurs possibles sont les suivantes :
Si aucune valeur n'est fournie, les résultats de toutes les classes sont ingérés. |
Lowest Severity To Fetch |
Facultatif. Niveau de gravité le 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é. Les valeurs possibles sont les suivantes :
Si un résultat dont la gravité n'est pas définie est associé au niveau Si aucune valeur n'est fournie, tous les types de gravité sont ingérés. |
Fallback Severity |
Facultatif. Niveau de gravité à attribuer à tout résultat de sécurité ingéré sans niveau de gravité défini ou reconnaissable à partir de la source. Les valeurs possibles sont les suivantes :
La valeur par défaut est |
Max Hours Backwards |
Facultatif. Nombre d'heures avant l'heure actuelle 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. Désactivé 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. Désactivé 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. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.