Intégrer Cloud Armor à Google SecOps
Ce document explique comment intégrer Google Cloud Armor à Google Security Operations.
Cas d'utilisation
L'intégration de Cloud Armor est compatible avec les cas d'utilisation suivants :
Blocage automatisé des menaces : bloquez instantanément les adresses ou plages d'adresses IP malveillantes à la périphérie Google Cloud en mettant à jour les règles de stratégie de sécurité lors d'un incident.
Gestion des stratégies de sécurité : listez, récupérez et mettez à jour les stratégies et règles de sécurité dans votre environnement pour assurer une protection WAF cohérente.
Atténuation dynamique des attaques DDoS : répondez aux attaques volumétriques ou basées sur un protocole en ajustant de manière programmatique les paramètres des stratégies de sécurité.
Audit d'investigation : récupérez les détails de configuration des règles de sécurité existantes pour corréler les protections de périphérie avec les alertes de sécurité internes.
Avant de commencer
Avant de configurer l'intégration de Cloud Armor dans Google SecOps, effectuez les étapes préalables suivantes :
Créez et configurez un rôle IAM (Identity and Access Management) personnalisé.
Choisissez et configurez l'une des méthodes d'authentification suivantes :
Option 1 : Workload Identity (recommandé) : cette méthode utilise des jetons de courte durée en empruntant l'identité d'un compte de service.
Option 2 : Clé JSON du compte de service : cette méthode repose sur un fichier de clé secrète statique et de longue durée.
Créer et configurer le rôle IAM
Pour fournir à l'intégration les autorisations nécessaires, créez un rôle personnalisé dans votre projet Google Cloud :
Dans la console Google Cloud , accédez à Rôles.
Cliquez sur addCréer un rôle personnalisé.
Indiquez un titre, une description et un identifiant unique.
Définissez l'étape de lancement du rôle sur Disponibilité générale.
Ajoutez les autorisations suivantes au rôle :
compute.backendBuckets.setSecurityPolicycompute.backendServices.setSecurityPolicycompute.regionBackendServices.setSecurityPolicycompute.regionSecurityPolicies.createcompute.regionSecurityPolicies.getcompute.regionSecurityPolicies.listcompute.regionSecurityPolicies.updatecompute.securityPolicies.createcompute.securityPolicies.getcompute.securityPolicies.listcompute.securityPolicies.update
Cliquez sur Créer.
Créer un compte de service
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.
Cliquez sur addCréer un compte de service.
Indiquez un nom et une description, puis cliquez sur Créer et continuer.
À l'étape Autoriser ce compte de service à accéder au projet, attribuez le rôle IAM personnalisé que vous avez créé.
Cliquez sur OK. Notez l'adresse e-mail du compte de service.
Configurer les identifiants Workload Identity
Workload Identity est l'approche recommandée, car elle utilise des jetons éphémères en empruntant l'identité d'un compte de service.
Identifier l'identité unique de l'instance
Pour établir une connexion, vous devez autoriser votre instance Google SecOps à emprunter l'identité de votre compte de service.
Dans Google SecOps, accédez à Content Hub > Intégrations de réponse.
Sélectionnez l'intégration Cloud Armor et saisissez l'adresse e-mail de votre compte de service dans
Workload Identity Email.Cliquez sur Enregistrer > Tester. Le test échoue.
Cliquez sur le bouton close_small à côté de Test et recherchez l'adresse e-mail d'identité commençant par
gke-init-python@...ousoar-python@....Copiez cette adresse e-mail unique.
Autoriser l'identité de l'instance dans Google Cloud
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.
Sélectionnez le compte de service cible, puis accédez à Autorisations > Accorder l'accès.
Collez l'adresse e-mail unique dans le champ Nouveaux comptes principaux et attribuez le rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator).
Configurer une clé JSON
Les fichiers de clés secrètes statiques de longue durée nécessitent une rotation manuelle. N'utilisez cette méthode que si l'authentification Workload Identity n'est pas disponible.
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service, puis sélectionnez votre compte de service.
Accédez à l'onglet Clés, puis cliquez sur Ajouter une clé > Créer une clé.
Sélectionnez JSON, puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
Paramètres d'intégration
L'intégration de Cloud Armor nécessite les paramètres suivants :
| Paramètre | Description |
|---|---|
API Root |
Obligatoire. La racine de l'API du service Cloud Armor. La valeur par défaut est |
Project ID |
Facultatif. ID du projet à cibler pour Cloud Armor. Si aucune valeur n'est fournie, l'intégration récupère l'ID à partir des identifiants du compte de service. |
Workload Identity Email |
Facultatif. Adresse e-mail du client de votre compte de service. Configurez ce paramètre pour l'authentification Workload Identity. Si cette option est configurée, |
User Service Account |
Facultatif. Contenu complet du fichier JSON de la clé du compte de service. Configurez ce paramètre pour l'authentification par clé de compte de service. Si elle est configurée, l'intégration ignore |
Verify SSL |
Obligatoire. Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur Google Cloud . Cette option est activée par défaut. |
Pour savoir comment configurer une intégration dans Google SecOps, consultez Configurer des intégrations.
Vous pourrez apporter des modifications ultérieurement si nécessaire. Après avoir configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour en savoir plus sur la configuration et la prise en charge de plusieurs instances, consultez Prendre en charge plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis votre bureau et Exécuter une action manuelle dans votre demande.
Ajouter une règle à une stratégie de sécurité
Ajoutez une règle à la stratégie de sécurité dans le service Cloud Armor.
Entités
Cette action ne s'exécute pas sur les entités.
Entrées de l'action
Pour configurer l'action, utilisez les paramètres suivants :
| Paramètres | |
|---|---|
Policy Name |
Obligatoire Nom de la stratégie de sécurité à laquelle ajouter une règle. |
Region |
Optional Région de la stratégie dans laquelle ajouter la règle. Si aucune valeur n'est fournie, la règle est ajoutée à la stratégie de sécurité au niveau global. |
Rule JSON |
Obligatoire Définition JSON de la règle à ajouter. Pour en savoir plus sur l'ajout d'une règle à une stratégie, consultez Méthode : securityPolicies.addRule. |
Sorties de l'action
| Type de sortie de l'action | |
|---|---|
| Pièce jointe du mur des cas | N/A |
| Lien vers le mur des cas | N/A |
| Tableau du mur des cas | N/A |
| Table d'enrichissement | N/A |
| Résultat JSON | Disponible |
| Résultat du script | Disponible |
Résultat du script
| Nom du résultat du script | Valeur |
|---|---|
| is_success | Vrai ou faux |
Résultat JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Mur des cas
Cette action fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
Successfully added a new rule to the security policy! |
Action effectuée. |
Error executing action "Add a Rule to a Security Policy".
Reason: ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée, les identifiants, le nom de la région, le contenu du fichier JSON ou le nom d'une stratégie. |
Créer une stratégie de sécurité
Créez une stratégie de sécurité dans le service Cloud Armor.
Entités
Cette action ne s'exécute pas sur les entités.
Entrées de l'action
Pour configurer l'action, utilisez les paramètres suivants :
| Paramètres | |
|---|---|
Region |
Optional Région dans laquelle créer une stratégie. Si aucune valeur n'est fournie, la stratégie de sécurité au niveau global est créée. |
Policy JSON |
Obligatoire Définition JSON de la stratégie à créer. Pour en savoir plus sur les stratégies, consultez Ressource REST : securityPolicies. |
Sorties de l'action
| Type de sortie de l'action | |
|---|---|
| Pièce jointe du mur des cas | N/A |
| Lien vers le mur des cas | N/A |
| Tableau du mur des cas | N/A |
| Table d'enrichissement | N/A |
| Résultat JSON | Disponible |
| Résultat du script | Disponible |
Résultat du script
| Nom du résultat du script | Valeur |
|---|---|
| is_success | Vrai ou faux |
Résultat JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Mur des cas
Cette action fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
Successfully created a new security policy! |
Action effectuée. |
Error executing action "Create a Security Policy". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée, les identifiants, le nom de la région ou le contenu d'un fichier JSON. |
Ping
Testez la connectivité au service Cloud Armor avec les paramètres fournis sur la page de configuration de l'intégration.
Entités
Cette action ne s'exécute pas sur les entités.
Entrées de l'action
N/A
Sorties de l'action
| Type de sortie de l'action | |
|---|---|
| Pièce jointe du mur des cas | N/A |
| Lien vers le mur des cas | N/A |
| Tableau du mur des cas | N/A |
| Table d'enrichissement | N/A |
| Résultat JSON | N/A |
| Résultat du script | Disponible |
Résultat du script
| Nom du résultat du script | Valeur |
|---|---|
| is_success | Vrai ou faux |
Mur des cas
Cette action fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
Successfully connected to the Google Cloud Armor service with
the provided connection parameters! |
Action effectuée. |
Failed to connect to the Google Cloud Armor service! Error is
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Mettre à jour une stratégie de sécurité
Mettez à jour la stratégie de sécurité existante dans le service Cloud Armor.
Cette action ne peut pas mettre à jour les règles d'une stratégie. Pour ajouter une règle à la stratégie associée, utilisez l'action Ajouter une règle à une stratégie de sécurité.
Entités
Cette action ne s'exécute pas sur les entités.
Entrées de l'action
Pour configurer l'action, utilisez les paramètres suivants :
| Paramètres | |
|---|---|
Policy Name |
Obligatoire Nom de la stratégie de sécurité à laquelle ajouter une règle. |
Region |
Optional Région de la stratégie mise à jour. Si aucune valeur n'est fournie, la stratégie de sécurité au niveau global est créée. |
Rule JSON |
Obligatoire Définition JSON de la stratégie à mettre à jour. Pour en savoir plus sur les mises à jour des règles, consultez Méthode : securityPolicies.patch . Vous ne pouvez pas mettre à jour les règles avec cette action. Pour ajouter une règle à une stratégie, utilisez l'action Ajouter une règle à une stratégie de sécurité. |
Sorties de l'action
| Type de sortie de l'action | |
|---|---|
| Pièce jointe du mur des cas | N/A |
| Lien vers le mur des cas | N/A |
| Tableau du mur des cas | N/A |
| Table d'enrichissement | N/A |
| Résultat JSON | Disponible |
| Résultat du script | Disponible |
Résultat du script
| Nom du résultat du script | Valeur |
|---|---|
| is_success | Vrai ou faux |
Résultat JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
Mur des cas
Cette action fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
Successfully added comment to the
identity protection detection with ID
DETECTION_ID in CrowdStrike |
Action effectuée. |
Error executing action "Update a Security Policy". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.