Intégrer Cloud Armor à Google SecOps
Ce document explique comment intégrer Google Cloud Armor à Google Security Operations.
Cas d'utilisation
L'intégration Cloud Armor est compatible avec les cas d'utilisation suivants :
Blocage automatique 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 du règlement 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 règles de sécurité.
Audit forensique : 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 Identity and Access Management personnalisé.
Choisissez et configurez l'une des méthodes d'authentification suivantes :
Option 1 : Workload Identity (recommandée) : cette méthode utilise des jetons éphémères 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 durable.
Créer et configurer le rôle IAM
Pour accorder à 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 Ajouter > Créer un rôle personnalisé.
Indiquez 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 :
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 Ajouter > Cré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 à Plate-forme de contenu > Intégrations de réponse.
Sélectionnez l'intégration Cloud Armor, puis 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 Tester, puis 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, puis 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 et 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. 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 |
User Service Account |
Facultatif. Contenu complet du fichier JSON de clé de 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 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 dans Votre bureau et Effectuer une action manuelle.
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'applique pas aux entités.
Entrées d'action
Pour configurer l'action, utilisez les paramètres suivants :
| Paramètres | |
|---|---|
Policy Name |
Obligatoire Nom de la règle de sécurité à laquelle ajouter une règle. |
Region |
Optional Région de la règle à ajouter à la stratégie. Si aucune valeur n'est fournie, la règle est ajoutée à la stratégie de sécurité au niveau mondial. |
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 d'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 règle de sécurité
Créez une stratégie de sécurité dans le service Cloud Armor.
Entités
Cette action ne s'applique pas aux entités.
Entrées d'action
Pour configurer l'action, utilisez les paramètres suivants :
| Paramètres | |
|---|---|
Region |
Optional Région dans laquelle créer une règle. Si aucune valeur n'est fournie, la règle de sécurité au niveau mondial est créée. |
Policy JSON |
Obligatoire Définition JSON de la règle à créer. Pour en savoir plus sur les règles, consultez Ressource REST : securityPolicies. |
Sorties d'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'applique pas aux entités.
Entrées d'action
N/A
Sorties d'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 permet pas de modifier les règles d'un règlement. 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'applique pas aux entités.
Entrées d'action
Pour configurer l'action, utilisez les paramètres suivants :
| Paramètres | |
|---|---|
Policy Name |
Obligatoire Nom de la règle de sécurité à laquelle ajouter une règle. |
Region |
Optional Région pour la règle mise à jour. Si aucune valeur n'est fournie, la règle de sécurité au niveau mondial est créée. |
Rule JSON |
Obligatoire Définition JSON de la règle à mettre à jour. Pour en savoir plus sur les modifications apportées aux 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 d'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 auprès des membres de la communauté et des professionnels Google SecOps.