Intégrer IAM à Google SecOps

Ce document explique comment intégrer Identity and Access Management à Google Security Operations.

Cas d'utilisation

L'intégration 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épart 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 sont conformes au 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 l'ensemble de votre organisation pour conserver un contrôle précis sur l'accès à l'environnement cloud.

Avant de commencer

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

  1. Créer 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éer 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, procédez comme suit pour 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.

    Accéder à la page "Rôles"

  2. Cliquez sur addCréer un rôle personnalisé.

  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 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.

    Accéder à la page "Comptes de service"

  2. Cliquez sur addCré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électionner et configurer une méthode d'authentification

Google SecOps accepte deux chemins d'authentification pour cette intégration :

  • Option 1 : Workload Identity (recommandé) : cette méthode utilise des jetons de courte durée en empruntant l'identité d'un compte de service. Elle est plus sécurisée, car elle élimine le besoin de clés JSON de longue durée.

  • Option 2 : Clé JSON de 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 de 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 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épart.

  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 vers 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 de courte durée 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.

    Accéder à la page "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). Cliquez sur Enregistrer.

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

Si l'utilisation de Workload Identity n'est pas disponible 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 de secret statique et 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.

    Accéder à la page "Comptes 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 Service Account Json File Content (Contenu du fichier JSON du compte de service).

Paramètres d'intégration

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

Paramètre Description
API Root

Facultatif.

URL de base de l'instance IAM.

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

Account Type

Facultatif.

Type du 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 du projet du compte Google Cloud .

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

Quota Project ID

Facultatif.

ID du projet utilisé à des fins de quota et de facturation lors des requêtes API.

Private Key ID

Facultatif.

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

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

Private Key

Facultatif.

Clé privée du compte Google Cloud .

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

Client Email

Facultatif.

Adresse e-mail du client du compte Google Cloud .

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

Client ID

Facultatif.

ID client du compte Google Cloud .

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

Auth URI

Facultatif.

URI d'authentification du compte Google Cloud .

Cette valeur correspond au paramètre auth_uri du 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 du 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 serveur IAM.

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.

Créer un rôle

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

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Is Mandatory Description
ID de rôle Chaîne N/A Oui Spécifiez l'ID du rôle Identity and Access Management que vous venez de créer.
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 n'est pas exécutée sur les entités.

Exemple de fichier JSON de stratégie 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'exécute correctement (is_success=true) :

    • Identity and Access Management <roleid> a bien été créé.

  • Si le role_id fourni existe déjà(is_success =false)

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

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

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

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 Role". Reason: {0}''.format(error.Stacktrace)

Général

Créer un compte de service

Créer un compte de service Identity and Access Management

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Is Mandatory 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'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
{
   "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'exécute correctement (is_success=true) :

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

    • Le compte de service <identifiant unique> 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". Reason: {0}''.format(error.Stacktrace)

Général

Supprimer le rôle

Supprimez un rôle Identity and Access Management.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Is Mandatory Description
ID de rôle Chaîne N/A Oui Spécifiez l'ID du rôle Identity and Access Management que vous venez de créer.

Exécuter sur

Cette 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
{
   "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'exécute correctement (is_success=true) :

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

  • Si le 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 :

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Delete Role". Reason: {0}''.format(error.Stacktrace)

Général

Supprimer le compte de service

Supprimer 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 l'une des entités fournies a été supprimée : "Successfully deleted the following service accounts: {0}".format([entity.Identifier]).

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

  • Si aucune donnée n'est trouvée dans Identity and Access Management pour supprimer des entités spécifiques : "Action was not able to find a match in Identity and Access Management for the provided entities: {0}".format([entity.identifier])

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 "Delete Service Account". Reason: {0}''.format(error.Stacktrace)

Général

Désactiver le compte de service

Désactiver 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 l'une des entités fournies est désactivée : "Successfully disabled the following service accounts: {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 aucune donnée n'est trouvée dans Google Cloud IAM pour désactiver des entités spécifiques : "Action was not able to find a match in Google Cloud IAM for the provided entities: {0}".format([entity.identifier])

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 "Disable Service Account". Reason: {0}''.format(error.Stacktrace)

Général

Activer le compte de service

Activer 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 l'une des entités fournies est activée : "Successfully enabled the following service accounts: {0}".format([entity.Identifier]).

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

  • Si aucune donnée n'est trouvée dans Identity and Access Management pour activer des entités spécifiques : "Action was not able to find a match in Identity and Access Management for the provided entities: {0}".format([entity.identifier])

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 "Enable Service Account". Reason: {0}''.format(error.Stacktrace)

Général

Enrichir les entités

Enrichissez les entités utilisateur Google SecOps avec les informations des comptes de service 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 :

  • En cas de réussite et si 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 aucune donnée n'est trouvée dans Identity and Access Management pour enrichir des entités spécifiques : "Action was not able to find a match in Identity and Access Management to enrich provided entities: {0}".format([entity.identifier])

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 "Enrich Entities". Reason: {0}''.format(error.Stacktrace)

Général
Table (Enrichment)

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 du 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 stratégie peut être vide si aucune stratégie 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'exécute correctement (is_success=true) :

    • "La stratégie Identity and Access Management a bien été récupérée pour les comptes de service Google Cloud suivants : <ID d'adresse e-mail 1, ID d'adresse e-mail 2...>
  • 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 Google Cloud comptes de service suivants : <ID d'adresse e-mail 1, ID d'adresse e-mail 2…>
  • Si la stratégie Identity and Access Management est introuvable pour toutes les entités fournies : "La stratégie Identity and Access Management est introuvable pour toutes 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". Reason: {0}''.format(error.Stacktrace)

Général

Répertorier des rôles

Répertorie 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 à afficher du paramètre Type Valeur par défaut Is Mandatory 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 renvoie 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 n'est pas exécutée 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 ont bien été listés(is_success = true) : "Successfully fetched Identity and Access Management roles."

  • 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 :

if fatal error, invalid zone, SDK error, like wrong credentials, no connection to server, other: "Error executing action "List Roles". Reason: {0}''.format(error.Stacktrace)

Général
Table

Nom du tableau : 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

Répertoriez les comptes de service 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 à afficher du paramètre Type Valeur par défaut Is Mandatory 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 une virgule.
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 une virgule.
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'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
{
  "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) :
    "Successfully fetched Google Cloud service accounts."
  • 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 :

if fatal error, invalid zone, SDK error, like wrong credentials, no connection to server, other: "Error executing action "List Service Accounts". Reason: {0}''.format(error.Stacktrace)

Général
Table

Nom du tableau : Google Cloud Comptes de service

Colonnes du tableau :

Nom du compte de service

Identifiant 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 la page Google SecOps Content Hub.

Paramètres

N/A

Exécuter sur

Cette 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
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 Alterner les clés de compte de service pour alterner 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 de l'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 dont les clés doivent être alternées, séparés par une virgule.

Ce paramètre fonctionne avec les entités. Si cet argument est fourni, l'action effectue la rotation des clés pour 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 de l'action

L'action Effectuer une rotation des clés de compte de service fournit les résultats suivants :

Type de sortie de l'action Disponibilité
Pièce jointe du 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 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 Effectuer une rotation des 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 IAM.

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

None of the provided service accounts were found in 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 liste la valeur de la sortie du résultat du script lorsque vous utilisez l'action Effectuer une rotation des 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 sur le compte de service spécifié. L'action attend l'adresse e-mail du compte de service Identity and Access Management en tant qu'entité de compte Google SecOps. Notez que la stratégie fournie dans l'action remplace toute stratégie existante.

Paramètres

Nom à afficher du paramètre Type Valeur par défaut Is Mandatory 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é Account.

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 réussissent (is_success=True) :

    • La stratégie Identity and Access Management a bien été définie pour les comptes de service Google Cloud suivants : <ID d'adresse e-mail 1, ...>

  • Si certains ont échoué :

    • L'action n'a pas pu définir la stratégie Identity and Access Management pour les comptes de service Google Cloud suivants : <ID d'adresse e-mail 1, ...>

  • Si toutes les tentatives ont échoué :

    • Aucune stratégie Identity and Access Management de compte de service n'a été définie.

  • Si le fichier JSON de la stratégie fourni n'est pas valide (is_success =false)

    • Le document JSON de stratégie fourni <policy> n'est pas valide.

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 "Set Service Account IAM Policy". Reason: {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.