Intégrer Secret Manager à Google SecOps
Ce document explique comment intégrer Secret Manager à Google Security Operations.
Cas d'utilisation
L'intégration de Secret Manager utilise les fonctionnalités de Google SecOps pour prendre en charge les cas d'utilisation suivants :
- Centralisez la gestion des identifiants : éliminez les identifiants d'application codés en dur intégrés dans vos fichiers de configuration et scripts Google SecOps en les stockant, en les auditant et en les gérant de manière centralisée dans Google Cloud.
- Synchroniser les paramètres : automatisez la gestion de configuration à l'aide d'un job de synchronisation en arrière-plan pour récupérer les entrées de Google Cloud Secret Manager et mettre à jour les instances d'intégration, les connecteurs et les jobs.
Avant de commencer
Avant de configurer l'intégration dans la plate-forme Google SecOps, vérifiez que vous avez configuré votre environnement en procédant comme suit :
- Créez un compte de service.
- Activez les API requises pour votre projet.
- Choisissez et configurez l'une des méthodes d'authentification suivantes :
- Option 1 : Clé JSON : cette méthode repose sur un fichier de clé secrète statique et de longue durée. N'utilisez cette méthode que si Workload Identity n'est pas disponible dans votre environnement.
- Option 2 : Workload Identity (recommandé) : cette méthode utilise des jetons d'accès temporaires de courte durée en empruntant l'identité d'un compte de service, ce qui élimine le besoin de stocker des secrets.
Créer un compte de service
Pour créer un compte de service pour l'intégration, procédez comme suit :
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service, puis sélectionnez votre projet.
Cliquez sur Créer un compte de service.
Indiquez un nom et une description, puis cliquez sur OK pour créer le compte.
Accordez les autorisations IAM requises au compte de service en fonction de la méthode d'authentification choisie :
- Pour l'authentification par clé de compte de service, attribuez les rôles suivants :
- Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor) : permet à l'intégration d'accéder aux charges utiles des secrets. - Lecteur Secret Manager (
roles/secretmanager.viewer) : *fournit l'autorisationsecretmanager.secrets.listrequise pour l'action Ping afin de tester la connectivité*.
- Accesseur de secrets Secret Manager (
- Pour l'authentification Workload Identity :
- Attribuez au compte de service cible dont l'identité est empruntée les rôles Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor) et Lecteur Secret Manager (roles/secretmanager.viewer). - Assurez-vous que l'identité de votre environnement d'exécution dispose du rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator).
- Attribuez au compte de service cible dont l'identité est empruntée les rôles Accesseur de secrets Secret Manager (
- Pour l'authentification par clé de compte de service, attribuez les rôles suivants :
Activer les API requises pour votre projet
Dans la console Google Cloud , accédez à API et services.
Cliquez sur Activer les API et les services.
Recherchez et activez l'API Secret Manager pour votre projet.
Configurer une clé JSON
Vous pouvez authentifier l'intégration à l'aide d'un fichier de clé JSON statique ou d'une Workload Identity. Pour maximiser la sécurité de votre environnement, utilisez la méthode Workload Identity. N'utilisez la méthode de clé JSON que si Workload Identity n'est pas compatible avec votre infrastructure, car les clés statiques nécessitent une rotation manuelle et augmentent les risques d'exposition des identifiants.
Pour générer le fichier de clé JSON requis pour authentifier l'intégration, procédez comme suit :
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service, puis sélectionnez le compte de service que vous avez créé.
Accédez à l'onglet Clés.
Cliquez sur Ajouter une clé.
Sélectionnez Créer une clé.
Pour le type de clé, sélectionnez JSON, puis cliquez sur Créer. Le fichier JSON est téléchargé sur votre ordinateur.
Copiez l'intégralité du contenu de ce fichier et collez-le dans
Service Account JSONlors de la configuration de l'intégration.
Configurer les autorisations Secret Manager
Suivez la procédure ci-dessous pour accorder les droits d'administrateur requis par l'intégration pour accéder aux secrets et valider la connectivité dans votre projet Google Cloud :
- Dans la console Google Cloud , accédez à IAM et administration > IAM.
- Recherchez le compte de service que vous avez créé dans la liste des comptes principaux, puis cliquez sur Modifier Modifier le compte principal.
- Cliquez sur Ajouter un autre rôle.
- Dans le champ de sélection du rôle, recherchez et sélectionnez les rôles suivants :
- Cliquez sur Enregistrer.
Configurer les identifiants Workload Identity
Choisissez cette méthode ou la méthode de clé JSON pour authentifier l'intégration. Workload Identity est l'approche recommandée et la plus sécurisée, car elle utilise des jetons d'accès temporaires de courte durée en empruntant l'identité d'un compte de service, ce qui réduit les risques d'exposition des identifiants secrets de longue durée.
Identifier l'identité unique de l'instance
Pour utiliser Workload Identity, vous devez autoriser votre instance Google SecOps à emprunter l'identité de votre compte de service. Cette étape permet à l'instance d'accéder de manière sécurisée aux ressources Google Cloud .
Dans Google SecOps, accédez à Content Hub > Intégrations de réponse.
Sélectionnez l'intégration que vous configurez, puis saisissez l'adresse e-mail de votre compte de service dans
Workload Identity Email.Cliquez sur Enregistrer > Tester. Le test devrait échouer.
Cliquez sur close_small à droite de Test et recherchez dans le message d'erreur 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
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.
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.
Sélectionnez le compte de service cible, puis accédez à Autorisations > Accorder l'accès.
Collez l'adresse e-mail unique dans le champ Nouveaux comptes principaux et attribuez le rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator).
Paramètres d'intégration
L'intégration de Secret Manager nécessite les paramètres de configuration suivants :
| Paramètre | Description |
|---|---|
Service Account JSON |
Facultatif. Contenu du fichier JSON de clé du compte de service utilisé pour s'authentifier auprès de Secret Manager. Vous pouvez configurer ce paramètre ou Adresse e-mail Workload Identity. |
Project ID |
Facultatif. ID du projet Google Cloud dans lequel vos secrets sont stockés. Si aucune valeur n'est fournie, l'intégration tente de la déduire de |
Workload Identity Email |
Facultatif. Adresse e-mail du compte de service dont l'identité doit être empruntée lors de l'authentification à l'aide de Workload Identity (Identifiants par défaut de l'application). Utilisez cette configuration au lieu de |
Verify SSL |
Obligatoire. Si cette option est sélectionnée, l'intégration valide le certificat SSL lors de l'établissement d'une connexion à Secret Manager. Activé 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.
Ping
Utilisez l'action Ping pour valider la connectivité et vérifier les paramètres de configuration par rapport à l'instance Secret Manager cible.
Cette action est principalement utilisée pour tester immédiatement la connexion depuis la page de configuration de l'intégration dans Content Hub. Elle ne s'exécute pas sur des entités Google Cloud individuelles.
Entrées de l'action
Aucun paramètre d'entrée n'est requis pour cette action.
Sorties de l'action
L'action Ping 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 | 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 |
|---|---|
|
L'action a réussi et les identifiants sont valides. |
Failed to connect to Secret Manager! Error is
ERROR_REASON |
Échec de l'action. Vérifiez vos identifiants d'authentification, la configuration de l'ID de projet, les autorisations IAM ou la connectivité réseau. Vérifiez que le compte de service dispose de l'autorisation |
Résultat du script
Le tableau suivant liste les valeurs de 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 |
Jobs
Pour en savoir plus sur les jobs, consultez Configurer un nouveau job et Planification avancée.
Tâche de synchronisation des identifiants d'intégration
Utilisez le job Secret Manager - Synchroniser les identifiants d'intégration pour synchroniser systématiquement les paramètres de configuration des entrées Secret Manager afin de mettre à jour automatiquement vos instances d'intégration de plate-forme, vos connecteurs et vos configurations de jobs en arrière-plan.
Cette tâche de synchronisation en arrière-plan s'exécute de manière globale et non sur des entités individuelles.
Comportement des jobs
Le job analyse un objet de configuration structuré pour interroger les définitions de secrets, en gérant deux styles de référence de version :
- Notation implicite : format
projects/<project_id>/secrets/<secret_name>. La tâche de synchronisation résout et récupère de manière dynamique la dernière version active à partir de Secret Manager pendant le traitement. - Notation explicite : format
projects/<project_id>/secrets/<secret_name>/versions/<version_id>. La tâche de synchronisation récupère l'entrée exacte de la version épinglée, même si son état est marqué comme inactif dans Google Cloud.
Chaque chemin d'accès au secret ciblé dans Secret Manager doit contenir une chaîne d'objet JSON valide qui mappe directement les clés de paramètre à leurs valeurs d'identifiants respectives.
Exemple de configuration de mappage d'identifiants
{
"integration_instances": {
"AzureActiveDirectory_1": {
"Client ID": "projects/154371241292/secrets/AzureActiveDirectory"
}
},
"connectors": {
"Crowdstrike - Alerts Connector": {
"Client Secret": "projects/154371241292/secrets/CrowdstrikeConnectorSecret",
"Client ID": "projects/154371241292/secrets/CrowdstrikeConnectorID"
},
"Microsoft Graph Mail Connector": {
"Client Secret": "projects/154371241292/secrets/GraphConnectorSecret",
"Client ID": "projects/154371241292/secrets/GraphConnectorID/versions/3"
}
},
"jobs": {
"Sync Incidents": {
"API Root": "projects/154371241292/secrets/API_Root/versions/2"
}
}
}
Entrées de job
Le job de synchronisation des identifiants d'intégration nécessite les paramètres de configuration suivants :
| Paramètre | Description |
|---|---|
Environment Name |
Obligatoire. Nom du contexte d'environnement dans lequel interroger les configurations cibles. La valeur par défaut est |
Credential Mapping |
Obligatoire. Chaîne JSON valide structurant les emplacements cibles où les instances d'intégration, les connecteurs et les jobs sont mappés à leurs coordonnées de ressources Secret Manager explicites. |
Service Account JSON |
Facultatif. Contenu JSON de la clé de compte de service dédié à l'autorisation de ce job de synchronisation en arrière-plan. |
Project ID |
Facultatif. ID du projet par défaut Google Cloud hébergeant les ressources cibles. |
Workload Identity Email |
Facultatif. Adresse e-mail du compte de service des identifiants par défaut de l'application dont l'identité doit être empruntée en cas d'exécution dans des infrastructures Google Cloud avec Workload Identity actif. |
Verify SSL |
Obligatoire. Valide les points de terminaison des certificats SSL lors des tâches de synchronisation. Activé par défaut ( |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.