Intégrer SAP ERP à Google SecOps

Ce document explique comment intégrer SAP ERP à Google Security Operations.

L'intégration de SAP ERP connecte Google SecOps à votre environnement SAP ERP via un service de passerelle Cloud Run. Pour en savoir plus sur la surveillance et la sécurisation des environnements SAP dans Google SecOps, consultez Sécuriser les applications SAP avec Google SecOps.

Cas d'utilisation

L'intégration SAP ERP utilise les fonctionnalités de Google SecOps pour prendre en charge les cas d'utilisation suivants :

  • Contenir les comptes utilisateur SAP compromis : verrouillez immédiatement les comptes utilisateur SAP lors des playbooks de réponse automatisée aux incidents lorsqu'une activité suspecte, une utilisation abusive d'identifiants ou une élévation non autorisée des privilèges sont détectées.

  • Mettre fin aux sessions utilisateur actives : mettez fin aux sessions SAP actives pour un nom d'utilisateur et un client ciblés afin de révoquer l'accès en cours après un piratage de compte ou un non-respect des règles.

  • Appliquer la journalisation d'audit de sécurité : activez à distance le journal d'audit de sécurité SAP sur les instances et les clients SAP cibles pour vous assurer que les événements liés à la sécurité critiques des applications sont enregistrés.

  • Valider la connectivité de la passerelle : vérifiez l'authentification Google Cloud et la connectivité réseau entre Google SecOps et le service de passerelle Cloud Run.

Avant de commencer

Avant de configurer l'intégration de SAP ERP dans Google SecOps, effectuez les étapes préalables suivantes :

  1. Déployez et configurez la passerelle SAP RFC Cloud Run pour transférer les actions vers vos instances SAP ERP.

  2. Configurez l'authentification et les autorisations IAM Google Cloud à l'aide de Workload Identity ou d'une clé JSON de compte de service.

  3. Configurez les autorisations SAP pour l'utilisateur de communication de la passerelle dans vos clients SAP cibles.

  4. Vérifiez la connectivité réseau entre Google SecOps, votre service Cloud Run et vos instances SAP ERP.

Déployer et configurer la passerelle SAP RFC Cloud Run

L'intégration SAP ERP communique avec vos systèmes SAP via un service de passerelle RFC SAP Cloud Run. Ce service transfère de manière sécurisée les actions de Google SecOps vers vos instances SAP cibles.

Assurez-vous que votre service de passerelle Cloud Run est déployé et configuré avec les informations de connexion pour chaque instance SAP cible (SAP Instance Name) et chaque client SAP à trois chiffres (SAP Client Number). Enregistrez l'URL HTTPS du service Cloud Run pour le paramètre d'intégration Cloud Run Service URL.

Configurer l'authentification Google Cloud et les autorisations IAM

Pour authentifier les requêtes envoyées à votre service de passerelle Cloud Run, configurez un compte de service Google Cloud à l'aide de l'une des méthodes suivantes :

  • Workload Identity (recommandé) : utilise l'emprunt d'identité d'un compte de service pour que vous n'ayez pas besoin de télécharger ni de gérer des clés JSON statiques.
  • Clé JSON du compte de service : utilise un fichier de clé JSON téléchargé. N'utilisez cette méthode que si vous ne pouvez pas configurer Workload Identity. Si vous fournissez à la fois Service Account JSON et Workload Identity Email, l'intégration utilise Service Account JSON.

Suivez le principe du moindre privilège lorsque vous attribuez des rôles IAM Google Cloud. Évitez d'attribuer des rôles d'administrateur étendus tels que roles/owner ou roles/editor. N'accordez que les rôles minimaux listés dans le tableau suivant :

Principal Ressource cible Rôle IAM requis Objectif
Compte de service (configuré dans Workload Identity Email ou Service Account JSON) Service de passerelle RFC SAP Cloud Run Demandeur Cloud Run (roles/run.invoker) Permet au compte de service d'appeler le service de passerelle Cloud Run.
Identité de l'instance Google SecOps (uniquement lorsque vous utilisez Workload Identity Email) Compte de service spécifié dans Workload Identity Email Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator) Permet à votre instance Google SecOps d'emprunter l'identité du compte de service lors de l'appel de la passerelle.

S'authentifier avec Workload Identity (recommandé)

Pour vous authentifier à l'aide de Workload Identity, créez un compte de service, accordez-lui l'accès pour appeler votre service Cloud Run et autorisez votre instance Google SecOps à emprunter l'identité de ce compte de service.

Créer un compte de service et accorder l'accès à Cloud Run
  1. Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.

  2. Cliquez sur Créer un compte de service, saisissez un nom pour le compte de service, puis cliquez sur Créer et continuer.

  3. Cliquez sur OK pour terminer la création du compte de service, puis copiez son adresse e-mail.

  4. Dans la console Google Cloud , accédez à Cloud Run et sélectionnez votre service de passerelle SAP RFC.

  5. Accédez à l'onglet Sécurité ou Autorisations, puis cliquez sur Ajouter un compte principal.

  6. Dans le champ Nouveaux comptes principaux, collez l'adresse e-mail de votre compte de service.

  7. Dans le menu Sélectionner un rôle, sélectionnez Demandeur Cloud Run (roles/run.invoker), puis cliquez sur Enregistrer.

Accorder des autorisations d'emprunt d'identité à votre instance Google SecOps
  1. Dans Google SecOps, accédez à Content Hub > Intégrations de réponse.

  2. Sélectionnez l'intégration SAP ERP, saisissez votre Cloud Run Service URL, puis saisissez l'adresse e-mail de votre compte de service dans Workload Identity Email.

  3. Cliquez sur Enregistrer > Tester. Le test devrait échouer avant que vous n'accordiez les autorisations d'emprunt d'identité.

  4. Cliquez sur close_small à côté de Tester et recherchez l'adresse e-mail du compte de service de l'instance Google SecOps dans le message d'erreur (au format gke-init-python@PROJECT.iam.gserviceaccount.com ou soar-python@TENANT_PROJECT.iam.gserviceaccount.com). Copiez cette adresse e-mail.

  5. Dans la console Google Cloud , accédez à IAM et administration > Comptes de service, puis sélectionnez votre compte de service.

  6. Accédez à Autorisations>Accorder l'accès.

  7. Sous Nouveaux comptes principaux, collez l'adresse e-mail de l'instance Google SecOps que vous avez copiée.

  8. Sous Attribuer des rôles, sélectionnez Créateur de jetons de compte de service (roles/iam.serviceAccountTokenCreator), puis cliquez sur Enregistrer.

S'authentifier avec une clé JSON de compte de service

Si vous ne pouvez pas utiliser Workload Identity, créez un compte de service et extrayez son fichier de clé JSON :

  1. Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.

  2. Sélectionnez un compte de service existant ou cliquez sur Créer un compte de service pour en créer un dédié.

  3. Assurez-vous que le compte de service dispose du rôle Demandeur Cloud Run (roles/run.invoker) sur votre service de passerelle SAP RFC Cloud Run.

  4. Sélectionnez votre compte de service, puis accédez à Clés > Ajouter une clé > Créer une clé.

  5. Sélectionnez le type de clé JSON, puis cliquez sur Créer. Un fichier de clé JSON est téléchargé sur votre ordinateur.

  6. Ouvrez le fichier téléchargé dans un éditeur de texte, copiez l'intégralité du contenu JSON et collez-le dans le paramètre Service Account JSON de Google SecOps.

Configurer les autorisations SAP

Dans chaque client SAP cible, n'accordez à l'utilisateur de communication SAP configuré dans votre passerelle Cloud Run que les autorisations minimales requises pour les actions que vous prévoyez d'exécuter :

Action Autorisation SAP requise
Activer le journal d'audit Autorisation d'activer à distance le journal d'audit de sécurité SAP dans le client SAP cible.
Supprimer la session utilisateur Autorisation d'exécuter le module de fonction TH_DELETE_USER pour mettre fin aux sessions utilisateur actives dans le client SAP cible.
Lock SAP User Autorisation de verrouiller des comptes utilisateur dans le client SAP cible.

Vérifier la connectivité réseau

Assurez-vous que votre environnement répond aux exigences réseau suivantes :

  • Google SecOps (ou votre agent distant) peut accéder à l'URL de votre passerelle RFC SAP Cloud Run via HTTPS (port 443).
  • Votre service de passerelle SAP RFC Cloud Run dispose d'une connectivité réseau avec vos instances SAP ERP cibles.

Paramètres d'intégration

L'intégration SAP ERP nécessite les paramètres suivants :

Paramètre Description
Cloud Run Service URL

Obligatoire.

URL HTTPS du service de passerelle Cloud Run qui se connecte à votre instance SAP ERP.

Service Account JSON

Facultatif.

Clé JSON du compte de service utilisée pour s'authentifier auprès du service de passerelle Cloud Run.

Si les options Service Account JSON et Workload Identity Email sont fournies, l'intégration utilise Service Account JSON.

Workload Identity Email

Facultatif.

Adresse e-mail du compte de service utilisée pour l'authentification Workload Identity (recommandé).

Utilisé lorsque Service Account JSON est vide.

Verify SSL

Facultatif.

Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au serveur de passerelle Cloud Run.

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.

Activer le journal d'audit

Utilisez l'action Activer le journal d'audit pour activer le journal d'audit de sécurité SAP sur une instance et un client SAP cibles via la passerelle SAP RFC Cloud Run.

Cette action ne s'exécute pas sur les entités Google SecOps.

Entrées de l'action

L'action Activer le journal d'audit nécessite les paramètres suivants :

Paramètre Description
SAP Client Number

Obligatoire.

Numéro de client SAP à trois chiffres.

SAP Instance Name

Obligatoire.

Nom de l'instance SAP cible configurée dans la passerelle SAP RFC Cloud Run.

Sorties de l'action

L'action Activer le journal d'audit 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
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action Activer le journal d'audit :

{
  "status": "SUCCESS",
  "functionId": "ACTIVATE_AUDIT_LOG",
  "sap_instance": "PRD",
  "client": "100",
  "return": [
    {
      "type": "S",
      "message": "Security Audit Log activated successfully."
    }
  ]
}
Messages de sortie

L'action Activer le journal d'audit peut renvoyer les messages de sortie suivants :

Message de sortie Description du message
Successfully activated SAP audit log. L'action a réussi.
Error executing action - "Activate Audit Log". Reason: Failed to activate audit log. SAP Error: ERROR_SUMMARY

L'action a échoué, car le système SAP a renvoyé une erreur.

Vérifiez que l'instance et le client SAP cibles sont accessibles, et que l'utilisateur de communication de la passerelle est autorisé à activer le journal d'audit de sécurité.

Error executing action - "Activate Audit Log". Reason: SAP Client Number must be a 3-digit numeric string (got 'SAP_CLIENT_NUMBER').

La validation des paramètres de l'action a échoué.

Indiquez une chaîne numérique valide de trois chiffres pour SAP Client Number, par exemple 100.

Error executing action - "Activate Audit Log". Reason: Proxy request failed (HTTP STATUS_CODE): ERROR_DETAIL

Échec de la requête adressée à la passerelle RFC SAP Cloud Run.

Vérifiez le Cloud Run Service URL, les autorisations du compte de service et les journaux de la passerelle.

Résultat du script

Le tableau suivant répertorie la valeur de la sortie du résultat du script lors de l'utilisation de l'action Activer le journal d'audit :

Nom du résultat du script Valeur
is_success true ou false

Supprimer la session utilisateur

Utilisez l'action Supprimer la session utilisateur pour mettre fin aux sessions actives d'un utilisateur dans SAP via la passerelle SAP RFC Cloud Run.

Cette action ne s'exécute pas sur les entités Google SecOps.

Entrées de l'action

L'action Supprimer la session utilisateur nécessite les paramètres suivants :

Paramètre Description
SAP Username

Obligatoire.

Nom d'utilisateur SAP dont vous souhaitez mettre fin aux sessions actives.

SAP Client Number

Obligatoire.

Numéro de client SAP à trois chiffres.

SAP Instance Name

Obligatoire.

Nom de l'instance SAP cible configurée dans la passerelle SAP RFC Cloud Run.

Sorties de l'action

L'action Supprimer une session utilisateur 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
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action Supprimer la session utilisateur :

{
  "status": "SUCCESS",
  "functionId": "DELETE_USER_SESSION",
  "sap_instance": "PRD",
  "client": "100",
  "return": [
    {
      "type": "S",
      "message": "User session terminated."
    }
  ]
}
Messages de sortie

L'action Supprimer une session utilisateur peut renvoyer les messages de sortie suivants :

Message de sortie Description du message
Successfully deleted user session for SAP_USERNAME. L'action a réussi.
Error executing action - "Delete User Session". Reason: Failed to delete user session for SAP_USERNAME. SAP Error: ERROR_SUMMARY

L'action a échoué, car le système SAP a renvoyé une erreur.

Vérifiez que le nom d'utilisateur existe dans le client SAP spécifié et que l'utilisateur de communication de la passerelle est autorisé à exécuter TH_DELETE_USER.

Error executing action - "Delete User Session". Reason: SAP Client Number must be a 3-digit numeric string (got 'SAP_CLIENT_NUMBER').

La validation des paramètres de l'action a échoué.

Indiquez une chaîne numérique valide de trois chiffres pour SAP Client Number, par exemple 100.

Error executing action - "Delete User Session". Reason: Proxy request failed (HTTP STATUS_CODE): ERROR_DETAIL

Échec de la requête adressée à la passerelle RFC SAP Cloud Run.

Vérifiez le Cloud Run Service URL, les autorisations du compte de service et les journaux de la passerelle.

Résultat du script

Le tableau suivant liste la valeur de la sortie du résultat du script lors de l'utilisation de l'action Supprimer la session utilisateur :

Nom du résultat du script Valeur
is_success true ou false

Verrouiller l'utilisateur SAP

Utilisez l'action Verrouiller un utilisateur SAP pour verrouiller un compte utilisateur spécifié dans SAP via la passerelle RFC SAP Cloud Run.

Cette action ne s'exécute pas sur les entités Google SecOps.

Entrées de l'action

L'action Verrouiller l'utilisateur SAP nécessite les paramètres suivants :

Paramètre Description
SAP Username

Obligatoire.

Nom d'utilisateur SAP du compte à verrouiller.

SAP Client Number

Obligatoire.

Numéro de client SAP à trois chiffres.

SAP Instance Name

Obligatoire.

Nom de l'instance SAP cible configurée dans la passerelle SAP RFC Cloud Run.

Sorties de l'action

L'action Verrouiller l'utilisateur SAP 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
Tableau du mur des cas Non disponible
Table d'enrichissement Non disponible
Résultat JSON Disponible
Messages de sortie Disponible
Résultat du script Disponible
Résultat JSON

L'exemple suivant montre le résultat JSON reçu lors de l'utilisation de l'action Verrouiller l'utilisateur SAP :

{
  "status": "SUCCESS",
  "functionId": "USER_LOCK",
  "sap_instance": "PRD",
  "client": "100",
  "return": [
    {
      "type": "S",
      "message": "User locked successfully."
    }
  ]
}
Messages de sortie

L'action Verrouiller l'utilisateur SAP peut renvoyer les messages de sortie suivants :

Message de sortie Description du message
Successfully locked user SAP_USERNAME. L'action a réussi.
Error executing action - "Lock SAP User". Reason: Failed to lock user SAP_USERNAME. SAP Error: ERROR_SUMMARY

L'action a échoué, car le système SAP a renvoyé une erreur.

Vérifiez que le nom d'utilisateur existe dans le client SAP spécifié et que l'utilisateur de communication de la passerelle est autorisé à verrouiller les comptes utilisateur.

Error executing action - "Lock SAP User". Reason: SAP Client Number must be a 3-digit numeric string (got 'SAP_CLIENT_NUMBER').

La validation des paramètres de l'action a échoué.

Indiquez une chaîne numérique valide de trois chiffres pour SAP Client Number, par exemple 100.

Error executing action - "Lock SAP User". Reason: Proxy request failed (HTTP STATUS_CODE): ERROR_DETAIL

Échec de la requête adressée à la passerelle RFC SAP Cloud Run.

Vérifiez le Cloud Run Service URL, les autorisations du compte de service et les journaux de la passerelle.

Résultat du script

Le tableau suivant répertorie la valeur de la sortie du résultat du script lors de l'utilisation de l'action Verrouiller l'utilisateur SAP :

Nom du résultat du script Valeur
is_success true ou false

Ping

Utilisez l'action Ping pour tester l'authentification et la connectivité réseau au service de passerelle Cloud Run SAP ERP.

Cette action ne s'exécute pas sur les entités Google SecOps.

Entrées de l'action

Aucune.

Sorties de l'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
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 sortie suivants :

Message de sortie Description du message
Successfully connected to the SAP ERP server with the provided connection parameters! L'action a réussi.
Failed to connect to the SAP ERP server! Error is Failed to generate Google Cloud authentication token. Verify service account credentials and permissions.

L'action n'a pas pu générer de jeton d'authentification Google Cloud .

Vérifiez votre configuration Service Account JSON ou Workload Identity Email.

Failed to connect to the SAP ERP server! Error is Authentication to Cloud Run failed (HTTP STATUS_CODE). Verify the caller has roles/run.invoker on the service.

La passerelle Cloud Run a refusé la demande d'authentification.

Assurez-vous que le compte de service dispose du rôle Demandeur Cloud Run (roles/run.invoker) sur le service Cloud Run.

Failed to connect to the SAP ERP server! Error is Cloud Run service returned unexpected HTTP STATUS_CODE: ERROR_DETAIL

La passerelle Cloud Run a renvoyé un code d'état HTTP inattendu.

Vérifiez le Cloud Run Service URL et inspectez les journaux du service Cloud Run.

Résultat du script

Le tableau suivant liste la valeur de la sortie du résultat du script lors de l'utilisation de l'action Ping :

Nom du résultat du script Valeur
is_success true ou false

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.