Intégrer Google Cloud IAM à Google SecOps

Ce document explique comment intégrer la gestion de l'authentification et des accès (IAM) à Google Security Operations. Google Cloud

Cas d'utilisation

L'intégration Google Cloud IAM est compatible avec les cas d'utilisation suivants :

  • Gestion automatisée du cycle de vie des comptes de service : créez, activez ou désactivez automatiquement des comptes de service lors des processus d'intégration et de désintégration pour vous assurer que l'accès n'est accordé que lorsque cela est nécessaire.

  • Réponse rapide aux incidents liés à l'identité : supprimez ou désactivez immédiatement les comptes de service et les rôles compromis lors d'un incident de sécurité pour empêcher tout accès non autorisé aux ressources cloud.

  • Gouvernance et enrichissement des identités : enrichissez les entités utilisateur dans Google SecOps avec des métadonnées détaillées sur les comptes de service, telles que les noms à afficher et les ID de projet, afin de fournir aux analystes un contexte immédiat lors des investigations.

  • Audit et application des règles : récupérez et auditez les règles de contrôle des accès pour vous assurer qu'elles respectent le principe du moindre privilège, et définissez de nouvelles règles de manière programmatique pour corriger les modifications non autorisées.

  • Gestion du contrôle des accès basé sur les rôles (RBAC) : créez et gérez des rôles IAM personnalisés avec des ensembles d'autorisations spécifiques dans votre organisation pour maintenir un contrôle précis sur l'accès à l'environnement cloud.

Avant de commencer

Avant de configurer l'intégration Google Cloud IAM dans Google SecOps, suivez les étapes préalables suivantes :

  1. Créez un rôle IAM personnalisé : définissez un rôle avec les autorisations spécifiques requises pour gérer les comptes de service et les rôles.

  2. Créez un compte de service : créez l'identité que l'intégration utilise pour effectuer des actions.

  3. Sélectionnez une méthode d'authentification : choisissez entre Workload Identity (recommandé) ou une clé JSON de compte de service.

Créer et configurer un rôle IAM personnalisé

Pour respecter le principe du moindre privilège, suivez les étapes ci-dessous afin de créer un rôle personnalisé contenant uniquement les autorisations spécifiques nécessaires à cette intégration :

  1. Dans la console Google Cloud , accédez à IAM et administration > Rôles.

  2. Cliquez sur Créer un rôle.

  3. Indiquez un titre, une description et un ID.

  4. Définissez l'étape de lancement du rôle sur General Availability.

  5. Cliquez sur Ajouter des autorisations, puis ajoutez les autorisations spécifiques suivantes :

    • iam.serviceAccounts.list
    • iam.serviceAccounts.create
    • iam.serviceAccounts.get
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.setIamPolicy
    • iam.serviceAccounts.disable
    • iam.serviceAccounts.enable
    • iam.serviceAccounts.delete
    • iam.roles.list
    • iam.roles.get
    • iam.roles.create
    • iam.roles.delete
  6. Cliquez sur Créer.

Créer un compte de service

L'intégration utilise un compte de service pour s'authentifier et exécuter des actions IAM dans votre projet.

Pour créer un compte de service, procédez comme suit :

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

  2. Cliquez sur Créer un compte de service.

  3. Saisissez un nom et une description, puis cliquez sur Créer et continuer.

  4. Dans la section Autoriser ce compte de service à accéder au projet, attribuez le rôle personnalisé que vous avez créé à l'étape précédente à ce compte de service. Cliquez sur OK.

Sélectionnez une méthode d'authentification

Google SecOps prend en charge deux chemins d'authentification pour cette intégration :

  • Option 1 : Workload Identity (recommandé) : cette méthode utilise des jetons éphémères avec l'emprunt d'identité d'un compte de service. Il est plus sécurisé, car il élimine le besoin de clés JSON de longue durée.

  • Option 2 : clé JSON du compte de service : cette méthode utilise un fichier de clé statique. N'utilisez cette option que si Workload Identity n'est pas disponible dans votre environnement.

S'authentifier à l'aide d'Workload Identity (recommandé)

Pour utiliser Workload Identity, vous devez autoriser votre instance Google SecOps à emprunter l'identité du compte de service que vous avez créé.

  1. Dans Google SecOps, accédez à Content Hub > Intégrations de réponse.

  2. Sélectionnez l'intégration Google Cloud IAM.

  3. Saisissez l'adresse e-mail de votre compte de service dans le champ Adresse e-mail Workload Identity.

  4. Cliquez sur Enregistrer, puis sur Tester. Le test devrait échouer au début.

  5. Cliquez sur close_small à côté du test ayant échoué pour afficher le message d'erreur.

  6. Recherchez l'adresse e-mail unique (au format gke-init-python@... ou soar-python@...) qui se trouve à la fin du message d'erreur. Copiez cette adresse.

Accorder des autorisations d'emprunt d'identité

Une fois que vous avez récupéré l'identité unique de votre instance Google SecOps, vous devez l'autoriser à accéder à vos ressources Google Cloud . Cette étape permet d'emprunter l'identité d'un compte de service, ce qui permet à la plate-forme de générer des jetons éphémères et d'agir en votre nom sans avoir besoin de clés statiques.

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

  2. Sélectionnez le compte de service que vous avez créé pour cette intégration.

  3. Accédez à l'onglet Autorisations, puis cliquez sur Accorder l'accès.

  4. Collez l'adresse e-mail unique que vous avez copiée dans le champ Nouveaux comptes principaux.

  5. Attribuez le rôle Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator), puis cliquez sur Enregistrer.

S'authentifier à l'aide d'une clé JSON

Si vous ne pouvez pas utiliser Workload Identity dans votre environnement, vous pouvez authentifier l'intégration à l'aide d'une clé JSON de compte de service. Cette méthode repose sur un fichier secret statique de longue durée pour établir la connexion entre la plate-forme et vos ressources Google Cloud .

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

  2. Accédez à l'onglet Clés.

  3. Cliquez sur Ajouter une clé > Créer une clé.

  4. Sélectionnez JSON comme type de clé, puis cliquez sur Créer. Le fichier est téléchargé sur votre ordinateur.

  5. Copiez l'intégralité du contenu du fichier JSON.

  6. Lorsque vous configurez cette intégration dans la plate-forme, collez le contenu dans le champ Contenu du fichier JSON du compte de service.

Paramètres d'intégration

L'intégration Google Cloud IAM nécessite les paramètres suivants :

Paramètre Description
API Root

Facultatif.

URL de base de l'instance Google Cloud IAM.

La valeur par défaut est https://iam.googleapis.com.

Account Type

Facultatif.

Type de compte Google Cloud .

Cette valeur correspond au paramètre type du fichier JSON d'authentification.

La valeur par défaut est service_account.

Project ID

Facultatif.

ID de projet du compte Google Cloud .

Cette valeur correspond au paramètre project_id dans le fichier JSON d'authentification.

Quota Project ID

Facultatif.

ID de projet utilisé pour les quotas et la facturation lors de l'envoi de requêtes d'API.

Private Key ID

Facultatif.

ID de clé privée du compte Google Cloud .

Cette valeur correspond au paramètre private_key_id dans le fichier JSON d'authentification.

Private Key

Facultatif.

Clé privée du compte Google Cloud .

Cette valeur correspond au paramètre private_key dans le fichier JSON d'authentification.

Client Email

Facultatif.

Adresse e-mail du compte Google Cloud .

Cette valeur correspond au paramètre client_email dans le fichier JSON d'authentification.

Client ID

Facultatif.

ID client du compte Google Cloud .

Cette valeur correspond au paramètre client_id dans le fichier JSON d'authentification.

Auth URI

Facultatif.

URI d'authentification pour le compte Google Cloud .

Cette valeur correspond au paramètre auth_uri dans le fichier JSON d'authentification.

La valeur par défaut est https://accounts.google.com/o/oauth2/auth.

Token URI

Facultatif.

URI du jeton pour le compte Google Cloud .

Cette valeur correspond au paramètre token_uri dans le fichier JSON d'authentification.

La valeur par défaut est https://oauth2.googleapis.com/token.

Auth Provider X509 URL

Facultatif.

URL du certificat X.509 du fournisseur d'authentification.

Cette valeur correspond au paramètre auth_provider_x509_cert_url du fichier JSON d'authentification.

La valeur par défaut est https://www.googleapis.com/oauth2/v1/certs.

Client X509 URL

Facultatif.

URL du certificat client X.509.

Cette valeur correspond au paramètre client_x509_cert_url du fichier JSON d'authentification.

Organization ID

Facultatif.

Identifiant unique de votre organisation Google Cloud .

Service Account Json File Content

Facultatif.

Contenu JSON complet du fichier de clé du compte de service.

Si ce paramètre est fourni, les paramètres de connexion individuels (tels que Private Key ID et Private Key) sont ignorés.

Workload Identity Email

Facultatif.

Adresse e-mail associée au compte de service Workload Identity.

Verify SSL

Facultatif.

Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de la connexion au service IAM 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 depuis Votre bureau et Effectuer une action manuelle.

Créer un rôle

Créez un rôle Identity and Access Management.

Paramètres

Nom du paramètre à afficher Type Valeur par défaut Obligatoire Description
ID de rôle Chaîne N/A Oui Spécifiez l'ID du rôle IAM (Identity and Access Management) nouvellement créé.
Définition du rôle Chaîne N/A Oui Spécifiez le document de stratégie JSON à utiliser comme définition de rôle.

Exécuter sur

L'action ne s'exécute pas sur les entités.

Exemple de fichier JSON pour une règle de rôle

{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXBu1RHiPw="
}

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]"
}
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si l'action s'est exécutée correctement (is_success=true) :

    • Le rôle Identity and Access Management <roleid> a bien été créé.

  • Si l'élément role_id fourni existe déjà(is_success =false)

    • L'ID de rôle <role_id> fourni existe déjà.

  • Si le fichier JSON de rôle fourni n'est pas valide (is_success =false)

    • Le document JSON de définition de rôle <role json> fourni n'est pas valide.

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'erreur est fatale ou liée au SDK (par exemple, identifiants incorrects, absence de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Créer un rôle". Raison : {0}''.format(error.Stacktrace)

Général

Créer un compte de service

Créez un compte de service Identity and Access Management.

Paramètres

Nom du paramètre à afficher Type Valeur par défaut Obligatoire Description
ID du compte de service Chaîne Chaîne Oui Spécifiez l'ID du compte de service à créer.
Nom à afficher du compte de service Chaîne Chaîne Non Spécifiez le nom à afficher du compte de service à créer.
Description du compte de service Chaîne Chaîne Non Spécifiez la description du compte de service à créer.

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
   "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "projectId": "PROJECT_ID",
   "uniqueId": "UNIQUE_ID",
   "email": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "displayName": "SERVICE_ACCOUNT_DISPLAY_NAME",
   "etag": "ETAG_VALUE",
   "description": "SERVICE_ACCOUNT_DESCRIPTION",
   "oauth2ClientId": "UNIQUE_ID"
}
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si l'action s'est exécutée correctement (is_success=true) :

    • Le compte de service Google Cloud a bien été créé <unique id>.
  • Si l'action n'a pas pu s'exécuter, car le compte de service fourni existe déjà(is_success =false)

    • Le compte de service <unique id> fourni existe déjà.

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Create Service Account". Raison : {0}''.format(error.Stacktrace)

Général

Supprimer le rôle

Supprimez un rôle Identity and Access Management.

Paramètres

Nom du paramètre à afficher Type Valeur par défaut Obligatoire Description
ID de rôle Chaîne N/A Oui Spécifiez l'ID du rôle IAM (Identity and Access Management) nouvellement créé.

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]",
   "deleted": true
}
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si l'action s'est exécutée correctement (is_success=true) :

    • Le rôle Identity and Access Management <roleid> a bien été supprimé.

  • Si l'élément role_id fourni n'existe pas(is_success =false)

    • L'ID de rôle <role_id> fourni n'existe pas.

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'erreur est fatale ou liée au SDK (par exemple, identifiants incorrects, pas de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Supprimer le rôle". Raison : {0}''.format(error.Stacktrace)

Général

Supprimer un compte de service

Supprimez le compte de service. L'action attend l'adresse e-mail du compte de service Identity and Access Management en tant qu'entité utilisateur Google SecOps.

Exécuter sur

Cette action s'exécute sur l'entité "Utilisateur".

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si au moins une des entités fournies a été supprimée : "Les comptes de service suivants ont bien été supprimés : {0}".format([entity.Identifier]).

  • Si la suppression de toutes les entités fournies échoue : "Aucun compte de service n'a été supprimé."

  • Si vous ne trouvez pas les données dans Identity and Access Management pour supprimer des entités spécifiques : "L'action n'a pas trouvé de correspondance dans Identity and Access Management pour les entités fournies : {0}".format([entity.identifier])

L'action doit échouer et arrêter l'exécution d'un playbook :

Si une erreur fatale ou une erreur de SDK se produit (par exemple, des identifiants incorrects, une absence de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Supprimer le compte de service". Raison : {0}''.format(error.Stacktrace)

Général

Désactiver un compte de service

Désactivez le compte de service. L'action attend l'adresse e-mail du compte de service Identity and Access Management en tant qu'entité utilisateur Google SecOps.

Exécuter sur

Cette action s'exécute sur l'entité "Utilisateur".

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si au moins une des entités fournies a été désactivée : "Les comptes de service suivants ont été désactivés : {0}".format([entity.Identifier]).

  • Si la désactivation de toutes les entités fournies échoue : "Aucun compte de service n'a été désactivé."

  • Si vous ne trouvez pas les données dans Google Cloud Identity and Access Management pour désactiver des entités spécifiques : "L'action n'a pas trouvé de correspondance dans Google Cloud Identity and Access Management pour les entités fournies : {0}".format([entity.identifier])

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'erreur est fatale ou liée au SDK (par exemple, des identifiants incorrects, une absence de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Désactiver le compte de service". Raison : {0}''.format(error.Stacktrace)

Général

Activer le compte de service

Activez le compte de service. L'action attend l'adresse e-mail du compte de service Identity and Access Management en tant qu'entité utilisateur Google SecOps.

Exécuter sur

Cette action s'exécute sur l'entité "Utilisateur".

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si au moins une des entités fournies a été activée : "Les comptes de service suivants ont été activés : {0}".format([entity.Identifier]).

  • Si l'activation de toutes les entités fournies échoue : "Aucun compte de service n'a été activé."

  • Si vous ne trouvez pas de données dans Identity and Access Management pour activer des entités spécifiques : "L'action n'a pas trouvé de correspondance dans Identity and Access Management pour les entités fournies : {0}".format([entity.identifier])

L'action doit échouer et arrêter l'exécution d'un playbook :

Si une erreur fatale ou une erreur de SDK se produit (par exemple, des identifiants incorrects, une absence de connexion au serveur ou autre) : "Erreur lors de l'exécution de l'action "Activer le compte de service". Raison : {0}''.format(error.Stacktrace)

Général

Enrichir les entités

Enrichissez les entités utilisateur Google SecOps avec des informations sur les comptes de service provenant d'Identity and Access Management. L'action attend l'adresse e-mail du compte de service Identity and Access Management en tant qu'entité utilisateur Google SecOps.

Exécuter sur

Cette action s'exécute sur l'entité "Utilisateur".

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
  "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "projectId": "[PROJECT_ID]",
  "uniqueId": "[UNIQUE_ID]",
  "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "displayName": "[DISPLAY_NAME]",
  "etag": "[ETAG]",
  "description": "[DESCRIPTION]",
  "oauth2ClientId": "[UNIQUE_ID]"
}
Enrichissement d'entités
Nom du champ d'enrichissement Logique : quand l'appliquer ?
Google_IAM_name
Google_IAM_project_id ..
Google_IAM_unique_id
Google_IAM_email
Google_IAM_display_name
Google_IAM_description
Google_IAM_oauth2_client_id
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si l'opération réussit et qu'au moins l'une des entités fournies a été enrichie : "Successfully enriched entities: {0}".format([entity.Identifier]).
  • Si l'enrichissement de toutes les entités fournies échoue : "Aucune entité n'a été enrichie."
  • Si vous ne trouvez pas de données dans Identity and Access Management pour enrichir des entités spécifiques : "L'action n'a pas trouvé de correspondance dans Identity and Access Management pour enrichir les entités fournies : {0}".format([entity.identifier])

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'erreur est fatale ou liée au SDK (par exemple, identifiants incorrects, pas de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Enrichir les entités". Raison : {0}''.format(error.Stacktrace)

Général
Tableau (enrichissement)

Nom de la table : table d'enrichissement {entity}

Colonnes : clé, valeur

Entity

Obtenir la stratégie IAM d'un compte de service

Récupère la stratégie de contrôle des accès pour le compte de service. L'action attend l'adresse e-mail du compte de service Identity and Access Management en tant qu'entité utilisateur Google SecOps. Notez que la règle peut être vide si aucune règle n'est attribuée au compte de service.

Exécuter sur

Cette action s'exécute sur l'entité "Utilisateur".

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si l'action s'est exécutée correctement (is_success=true) :

    • "La stratégie Identity and Access Management a été récupérée pour les comptes de service suivants : <adresse e-mail 1, adresse e-mail 2...> Google Cloud
  • Si l'action n'a pas trouvé d'informations sur l'entité (par exemple, si l'adresse e-mail fournie n'existe pas dans Google Identity and Access Management) :

    • L'action n'a pas pu récupérer la stratégie Identity and Access Management pour les comptes de service suivants : <email id1, email id2 ..> Google Cloud
  • Si aucune stratégie Identity and Access Management n'est trouvée pour les entités fournies : "Aucune stratégie Identity and Access Management n'a été trouvée pour les entités fournies."

L'action doit échouer et arrêter l'exécution d'un playbook :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Get Service Account IAM Policy". Raison : {0}''.format(error.Stacktrace)

Général

Lister les rôles

Lister les rôles Identity and Access Management en fonction des critères de recherche spécifiés. Notez que l'action ne fonctionne pas sur les entités Google SecOps.

Paramètres

Nom du paramètre à afficher Type Valeur par défaut Obligatoire Description
Afficher LDD De base Non Spécifiez la vue à utiliser pour renvoyer les informations sur les rôles.
Nombre maximal de lignes à renvoyer Integer 50 Non Spécifiez le nombre de rôles que l'action doit renvoyer.
Lister uniquement les rôles personnalisés du projet ? Case à cocher Décochée Non Si cette option est activée, l'action ne renverra que les rôles personnalisés définis pour l'ID du projet actuel.
Afficher les éléments supprimés Case à cocher Décochée Non Si cette option est activée, l'action renverra également les rôles supprimés.

Exécuter sur

L'action ne s'exécute pas sur les entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
   "roles": [
       {
           "name": "roles/accessapproval.approver",
           "title": "Access Approval Approver",
           "description": "Ability to view or act on access approval requests and view configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       },
       {
           "name": "roles/accessapproval.configEditor",
           "title": "Access Approval Config Editor",
           "description": "Ability update the Access Approval configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       }
   ]
}
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si les rôles sont listés(is_success = true) : "Les rôles Identity and Access Management ont été récupérés."

  • Si aucune valeur n'est disponible(is_success = false) : "Aucun rôle n'a été renvoyé pour les paramètres d'entrée spécifiés."

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'erreur est fatale, si la zone n'est pas valide, ou s'il s'agit d'une erreur de SDK (identifiants incorrects, absence de connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Lister les rôles". Raison : {0}''.format(error.Stacktrace)

Général
Table

Nom de la table : Google Cloud Rôles IAM

Colonnes du tableau :

Nom du rôle

Nom du rôle

Description du rôle

Étape du rôle

Etag du rôle

Autorisations du rôle

Général

Répertorier les comptes de service

Lister les comptes de service Identity and Access Management en fonction des critères de recherche spécifiés. Notez que cette action ne fonctionne pas sur les entités Google SecOps.

Paramètres

Nom du paramètre à afficher Type Valeur par défaut Obligatoire Description
Nom à afficher du compte de service Chaîne N/A Non Spécifiez le nom à afficher du compte de service à renvoyer. Le paramètre accepte plusieurs valeurs sous forme de chaîne séparée par des virgules.
Adresse e-mail du compte de service Chaîne N/A Non Spécifiez l'adresse e-mail du compte de service à renvoyer. Le paramètre accepte plusieurs valeurs sous forme de chaîne séparée par des virgules.
Nombre maximal de lignes à renvoyer Integer 50 Non Spécifiez le nombre de rôles que l'action doit renvoyer.

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
  "accounts": [
    {
      "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "projectId": "[PROJECT_ID]",
      "uniqueId": "[UNIQUE_ID]",
      "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "displayName": "[DISPLAY_NAME]",
      "etag": "[ETAG_VALUE]",
      "description": "[SERVICE_ACCOUNT_DESCRIPTION]",
      "oauth2ClientId": "[UNIQUE_ID]"
    }
  ]
}
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si les comptes de service ont bien été listés (is_success = true) :
    " Google Cloud comptes de service récupérés."
  • Si aucune valeur n'est disponible(is_success = false) : "Aucun compte de service n'a été renvoyé pour les paramètres d'entrée spécifiés."

L'action doit échouer et arrêter l'exécution d'un playbook :

Si l'erreur est fatale, si la zone n'est pas valide ou s'il s'agit d'une erreur de SDK (par exemple, des identifiants incorrects, une absence de connexion au serveur ou autre) : "Erreur lors de l'exécution de l'action "Lister les comptes de service". Raison : {0}''.format(error.Stacktrace)

Général
Table

Nom de la table : Google Cloud Service Accounts

Colonnes du tableau :

Nom du compte de service

ID unique du compte de service

Adresse e-mail du compte de service

Nom à afficher du compte de service

Description du compte de service

ID client OAuth2 du compte de service

Général

Ping

Testez la connectivité au service Identity and Access Management avec les paramètres fournis sur la page de configuration de l'intégration dans l'onglet Google Security Operations Marketplace.

Paramètres

N/A

Exécuter sur

Cette action ne s'applique pas aux entités.

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • En cas de réussite : "Connexion au service Identity and Access Management établie avec les paramètres de connexion fournis !"

L'action doit échouer et arrêter l'exécution d'un playbook :

  • En cas d'erreur critique, comme des identifiants incorrects ou une perte de connectivité : "Échec de la connexion au service Identity and Access Management. Error is {0}".format(exception.stacktrace)
Général

Alterner les clés de compte de service

Utilisez l'action Faire pivoter les clés de compte de service pour faire pivoter les clés gérées par l'utilisateur associées à un compte de service. Lors de la rotation, toutes les clés existantes sont supprimées et une nouvelle clé est créée.

Cette action s'exécute sur les entités Google SecOps suivantes :

  • Deployment

  • Username

Entrées d'action

L'action Effectuer une rotation des clés de compte de service nécessite les paramètres suivants :

Paramètre Description
Service Account

Facultatif.

Liste de comptes de service pour lesquels alterner les clés, séparés par une virgule.

Ce paramètre fonctionne avec les entités. Si des comptes sont fournis, l'action fait pivoter les clés de ces comptes spécifiques en plus de toutes les entités de compte de service identifiées dans le champ d'application de l'action.

Sorties d'action

L'action Effectuer une rotation des clés de compte de service 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
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 Rotate Service Account Keys (Faire pivoter les clés de compte de service) :

[
    {
       "Entity": "123",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    },
    {
       "Entity": "1234",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    }
]
Messages de sortie

L'action Rotate Service Account Keys (Alterner les clés de compte de service) peut renvoyer les messages de sortie suivants :

Message de sortie Description du message

Successfully rotated keys for service account SERVICE_ACCOUNT_EMAIL in Google Cloud IAM.

The following service accounts were not found in Google Cloud IAM: SERVICE_ACCOUNT_KEYS.

None of the provided service accounts were found in Google Cloud IAM.

L'action a réussi.
Error executing action "Rotate Service Account Keys". 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 Rotate Service Account Keys (Faire pivoter les clés de compte de service) :

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

Définir la stratégie IAM du compte de service

Définit la stratégie de contrôle des accès du compte de service spécifié. L'action attend une adresse e-mail de compte de service Identity and Access Management en tant qu'entité de compte Google SecOps. Notez que la règle fournie dans l'action remplace toute règle existante.

Paramètres

Nom du paramètre à afficher Type Valeur par défaut Obligatoire Description
Règle Chaîne N/A Oui Spécifiez le document de stratégie JSON à définir pour le compte de service.

Exécuter sur

Cette action s'exécute sur l'entité "Compte".

Résultats de l'action

Résultat du script
Nom du résultat du script Options de valeur
is_success is_success=False
is_success is_success=True
Résultat JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Mur des cas
Type de résultat Valeur/Description Type
Message de sortie*

L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :

  • Si certaines opérations ont réussi (is_success=True) :

    • La stratégie Identity and Access Management a été définie pour les comptes de service suivants : <email id1, ...> Google Cloud

  • Si certaines ont échoué :

    • L'action n'a pas pu définir la stratégie Identity and Access Management pour les comptes de service suivants : <email id1, ....> Google Cloud

  • Si toutes les étapes ont échoué :

    • Aucune règle Identity and Access Management n'a été définie pour les comptes de service.

  • Si le fichier JSON de la règle fourni n'est pas valide (is_success =false)

    • Le document JSON de la règle <policy> fourni n'est pas valide.

L'action doit échouer et arrêter l'exécution d'un playbook :

Si une erreur fatale ou une erreur de SDK se produit (par exemple, des identifiants incorrects, aucune connexion au serveur, etc.) : "Erreur lors de l'exécution de l'action "Définir la règle IAM du compte de service". Raison : {0}''.format(error.Stacktrace)

Général

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