Niveaux de service Standard (ancienne version), Standard, Premium et Enterprise (obsolète)
Le niveau de service Security Command Center Enterprise sera arrêté le 21 mai 2027.
Si votre organisation utilise le niveau de service Enterprise, elle passera automatiquement au niveau de service Premium le 21 mai 2027 ou après.
Contactez votre responsable de compte ou un spécialiste des ventesGoogle Cloud si vous avez des questions.
Cette page explique comment utiliser l'API Security Command Center pour activer les notifications de résultats pour Pub/Sub.
Vous pouvez configurer des notifications pour envoyer automatiquement de nouveaux résultats et des mises à jour de résultats à un sujet Pub/Sub quasiment en temps réel. Vous pouvez utiliser ces notifications pour déclencher des actions automatisées, comme l'appel de fonctions Cloud Run pour la réponse, l'enrichissement ou la correction. Pour obtenir des exemples de solutions, consultez le dépôt Open Source Security Command Center contenant le code Cloud Run Functions .
Si vous préférez une configuration simplifiée à l'aide de la console Google Cloud plutôt que de l'API, consultez Exportations continues .
Les exportations continues offrent les mêmes fonctionnalités que les notifications API.
Vous pouvez également exporter les résultats vers BigQuery à des fins d'analyse.
Avant de commencer
Avant d'activer les notifications de résultats, vous devez obtenir des rôles et des autorisations Identity and Access Management (IAM) spécifiques, activer l'API Security Command Center et vous familiariser avec les limites de résidence des données.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer les notifications de l'API Security Command Center, demandez à votre administrateur de vous accorder les rôles IAM suivants :
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations .
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis .
Activer l'API Security Command Center
Activez l'API Security Command Center :
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.
gcloud services enable securitycenter.googleapis.com
Résidence des données et notifications
Si la résidence des données est activée pour Security Command Center, les configurations qui définissent les exportations continues vers Pub/Sub (ressources notificationConfig) sont soumises au contrôle de la résidence des données et sont stockées dans votre emplacement Security Command Center .
Pour exporter des résultats dans un emplacement Security Command Center vers Pub/Sub, vous devez configurer l'exportation continue dans le même emplacement Security Command Center que les résultats.
Étant donné que les filtres utilisés dans les exportations continues peuvent contenir des données soumises à des contrôles de résidence, assurez-vous de spécifier le bon emplacement avant de les créer.
Security Command Center ne limite pas l'emplacement dans lequel vous créez des exportations.
Les exportations continues ne sont stockées que dans l'emplacement où elles sont créées. Elles ne peuvent pas être consultées ni modifiées dans d'autres emplacements.
Une fois que vous avez créé une exportation continue, vous ne pouvez plus modifier son emplacement. Pour modifier l'emplacement, vous devez supprimer l'exportation continue et la recréer dans le nouvel emplacement.
Pour savoir comment utiliser Security Command Center lorsque la résidence des données est activée, consultez Points de terminaison régionaux Security Command Center .
Configurer un sujet Pub/Sub
Dans cette tâche, vous allez créer et vous abonner au sujet Pub/Sub auquel vous souhaitez envoyer des notifications.
Étape 1 : Configurer Pub/Sub
Pour configurer un sujet Pub/Sub et vous y abonner, procédez comme suit :
Accédez à la console Google Cloud .
Accéder à la console Google Cloud
Sélectionnez le projet dans lequel vous avez activé l'API Security Command Center.
Cliquez sur Activer Cloud Shell .
Facultatif : Pour créer un sujet Pub/Sub, exécutez la commande suivante :
gcloud pubsub topics create TOPIC_ID
Remplacez TOPIC_ID par un nom de sujet.
Créez un abonnement associé au sujet :
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic= TOPIC_ID
Remplacez les éléments suivants :
SUBSCRIPTION_ID : ID de l'abonnement
TOPIC_ID : ID du sujet
Remarque : Par défaut, les abonnements Pub/Sub expirent au bout de 31 jours d'inactivité, définie comme l'absence de connexion active, de demandes d'extraction ou de requêtes push ayant réussi. Pour conserver les abonnements plus longtemps, définissez l'option --expiration-period sur une valeur supérieure ou sur la valeur spéciale never, qui indique que l'abonnement n'expire jamais. Pour en savoir plus, consultez Utiliser les propriétés d'abonnement .
Pour en savoir plus sur la configuration de Pub/Sub, consultez la page Gérer les sujets et les abonnements .
Étape 2 : Attribuer un rôle sur le sujet Pub/Sub
Pour créer un NotificationConfig, vous devez disposer du rôle Administrateur Pub/Sub (roles/pubsub.admin) sur le sujet Pub/Sub pour lequel vous avez créé un abonnement.
Pour attribuer ce rôle, procédez comme suit :
Accédez à la console Google Cloud .
Accéder à la console Google Cloud
Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.
Cliquez sur Activer Cloud Shell .
Attribuez le rôle requis à votre compte Google sur le sujet Pub/Sub :
gcloud pubsub topics add-iam-policy-binding \
projects/PUBSUB_PROJECT /topics/TOPIC_ID \
--member= "user:GOOGLE_ACCOUNT " \
--role= "roles/pubsub.admin"
Remplacez les éléments suivants :
PUBSUB_PROJECT : projet Google Cloud contenant votre sujet Pub/Sub
TOPIC_ID : ID du sujet
GOOGLE_ACCOUNT : adresse e-mail de votre compte Google.
Créer un paramètre NotificationConfig
Remarque : Si vous utilisez VPC Service Controls, vous devrez peut-être accorder l'accès aux ressources de projet protégées avant de créer un objet NotificationConfig pour recevoir des notifications. Pour en savoir plus, consultez la section Accorder l'accès à un périmètre dans VPC Service Controls .
Avant de créer un NotificationConfig, notez que chaque organisation peut avoir un nombre limité de fichiers NotificationConfig. Pour en savoir plus, consultez la page Quotas et limites .
L'objet NotificationConfig inclut un champ filter qui limite les notifications aux événements utiles. Ce champ accepte tous les filtres disponibles dans la méthode findings.list de l'API Security Command Center.
Lorsque vous créez un NotificationConfig, vous spécifiez un parent pour le NotificationConfig à partir de la hiérarchie des ressources Google Cloud , qu'il s'agisse d'une organisation, d'un dossier ou d'un projet. Si vous devez récupérer, mettre à jour ou supprimer NotificationConfig ultérieurement, vous devez inclure l'ID numérique de l'organisation, du dossier ou du projet parent lorsque vous le référencez.
Remarque : Si vous migrez vers l'API Security Command Center v2, gardez à l'esprit que les ressources NotificationConfig créées avec l'API v1 ne sont pas visibles dans l'API v2. Pour en savoir plus, consultez Configurations de notifications et configurations BigQuery Export .
Pour gérer les ressources NotificationConfig créées avec l'API v1, ne spécifiez pas d'emplacement lorsque vous exécutez des commandes gcloud CLI. L'API v1 n'est pas compatible avec la résidence des données.
Pour créer NotificationConfig à l'aide du langage ou de la plate-forme de votre choix :
gcloud
gcloud scc notifications create NOTIFICATION_NAME \
--PARENT =PARENT_ID \
--location=LOCATION \
--description="NOTIFICATION_DESCRIPTION " \
--pubsub-topic=PUBSUB_TOPIC \
--filter="FILTER "
Remplacez les éléments suivants :
NOTIFICATION_NAME : nom de la notification.
Doit comporter entre 1 et 128 caractères, et ne contenir que des caractères alphanumériques, des traits de soulignement ou des traits d'union.
PARENT : champ d'application dans la hiérarchie des ressources auquel s'applique la notification (organization, folder ou project).
PARENT_ID : ID de l'organisation, du dossier ou du projet parent, spécifié au format organizations/123, folders/456 ou projects/789.
LOCATION : emplacement Security Command Center dans lequel configurer les notifications de l'API Security Command Center. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.
NOTIFICATION_DESCRIPTION : description de la notification (1 024 caractères maximum).
PUBSUB_TOPIC : sujet Pub/Sub qui recevra les notifications. Son format est projects/PROJECT_ID /topics/TOPIC .
FILTER : expression que vous définissez pour sélectionner les résultats à envoyer à Pub/Sub. Exemple : state=\"ACTIVE\".
Créez un NotificationConfig pour une organisation :
Créer un NotificationConfig pour un dossier :
Créez un NotificationConfig pour un projet :
Les notifications sont maintenant publiées sur le thème Pub/Sub que vous avez spécifié.
Pour publier des notifications, un compte de service de la forme service-org-ORGANIZATION_ID @gcp-sa-scc-notification.iam.gserviceaccount.com est créé pour vous.
Ce compte de service est créé lorsque vous créez votre premier NotificationConfig et se voit automatiquement attribuer le rôle securitycenter.notificationServiceAgent dans la stratégie IAM pour PUBSUB_TOPIC lors de la création de la configuration de notification. Ce rôle de compte de service est requis pour le bon fonctionnement des notifications.
Accorder l'accès à un périmètre dans VPC Service Controls
Si vous utilisez VPC Service Controls et que votre sujet Pub/Sub fait partie d'un projet dans un périmètre de service, vous devez accorder l'accès aux projets afin de créer des notifications.
Pour accorder l'accès aux projets, créez des règles d'entrée et de sortie pour les principaux et les projets utilisés pour créer des notifications. Les règles autorisent l'accès aux ressources protégées et permettent à Pub/Sub de vérifier que les utilisateurs disposent de l'autorisation setIamPolicy sur le sujet Pub/Sub.
Créer un objet NotificationConfig
Avant de suivre la procédure décrite dans la section Créer un objet NotificationConfig , procédez comme suit.
Console
Accéder au périmètre de service
Dans la console Google Cloud , accédez à la page VPC Service Controls .
Accéder à VPC Service Controls
Sélectionner votre organisation.
Dans la liste déroulante, sélectionnez la règle d'accès contenant le périmètre de service auquel vous souhaitez accorder l'accès.
Les périmètres de service associés à la règle d'accès apparaissent dans la liste.
Cliquez sur le nom du périmètre de service que vous souhaitez modifier.
Pour trouver le périmètre de service que vous devez modifier, vous pouvez rechercher dans vos journaux les entrées indiquant des cas de non-respect de RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER. Dans ces entrées, vérifiez le champ servicePerimeterName :
accessPolicies/ACCESS_POLICY_ID /servicePerimeters/SERVICE_PERIMETER_NAME
Cliquez sur edit Modifier .
Ajouter une règle de sortie
Cliquez sur Règle de sortie .
Cliquez sur Ajouter une règle de sortie .
Dans la section De , définissez les détails suivants :
Pour Identités > Identité , sélectionnez Sélectionner des identités et des groupes .
Cliquez sur Ajouter des identités .
Saisissez l'adresse e-mail qui identifie le principal utilisé pour appeler l'API Security Command Center.
Sélectionnez le compte principal ou appuyez sur ENTRÉE , puis cliquez sur Ajouter des identités .
Dans la section À , définissez les détails suivants :
Pour Ressources > Projets , sélectionnez Tous les projets .
Pour Opérations ou rôles IAM , sélectionnez
Sélectionner des opérations .
Cliquez sur Ajouter des opérations , puis ajoutez les opérations suivantes :
Ajoutez le service pubsub.googleapis.com .
Cliquez sur Tous les modes .
Cliquez sur Ajouter toutes les méthodes .
Ajouter une règle d'entrée
Cliquez sur Règle d'entrée .
Cliquez sur Ajouter une règle d'entrée .
Dans la section De , définissez les détails suivants :
Pour Identités > Identité , sélectionnez Sélectionner des identités et des groupes .
Cliquez sur Ajouter des identités .
Saisissez l'adresse e-mail qui identifie le principal utilisé pour appeler l'API Security Command Center.
Sélectionnez le compte principal ou appuyez sur ENTRÉE , puis cliquez sur Ajouter des identités .
Dans la section À , définissez les détails suivants :
Pour Ressources > Projets , sélectionnez Sélectionner des projets .
Cliquez sur Ajouter des projets , puis ajoutez le projet contenant le sujet Pub/Sub.
Pour Opérations ou rôles IAM , sélectionnez
Sélectionner des opérations .
Cliquez sur Ajouter des opérations , puis ajoutez les opérations suivantes :
Ajoutez le service pubsub.googleapis.com .
Cliquez sur Tous les modes .
Cliquez sur Ajouter toutes les méthodes .
Cliquez sur Enregistrer .
gcloud
Si aucun projet de quota n'est déjà défini, définissez-en un. Choisissez un projet pour lequel l'API Access Context Manager est activée.
gcloud config set billing/quota_project QUOTA_PROJECT_ID
Remplacez QUOTA_PROJECT_ID par l'ID du projet que vous souhaitez utiliser pour la facturation et le quota.
Créez un fichier nommé egress-rule.yaml avec le contenu suivant :
- egressFrom :
identities :
- PRINCIPAL_ID
egressTo :
operations :
- serviceName : pubsub.googleapis.com
methodSelectors :
- method : '*'
resources :
- '*'
Remplacez PRINCIPAL_ID par l'identifiant du compte principal utilisé pour appeler l'API Security Command Center.
Créez un fichier nommé ingress-rule.yaml avec le contenu suivant :
- ingressFrom :
identities :
- PRINCIPAL_ID
sources :
- accessLevel : '*'
ingressTo :
operations :
- serviceName : pubsub.googleapis.com
methodSelectors :
- method : '*'
resources :
- '*'
Remplacez PRINCIPAL_ID par l'identifiant du compte principal utilisé pour appeler l'API Security Command Center.
Ajoutez la règle de sortie au périmètre :
gcloud access-context-manager perimeters update PERIMETER_NAME \
--set-egress-policies= egress-rule.yaml
Remplacez les éléments suivants :
PERIMETER_NAME : nom du périmètre. Exemple :
accessPolicies/1234567890/servicePerimeters/example_perimeter.
Pour trouver le périmètre de service que vous devez modifier, vous pouvez rechercher dans vos journaux les entrées indiquant des cas de non-respect de RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.
Dans ces entrées, vérifiez le champ servicePerimeterName :
accessPolicies/ACCESS_POLICY_ID /servicePerimeters/SERVICE_PERIMETER_NAME
Ajoutez la règle d'entrée au périmètre :
gcloud access-context-manager perimeters update PERIMETER_NAME \
--set-ingress-policies= ingress-rule.yaml
Remplacez les éléments suivants :
PERIMETER_NAME : nom du périmètre. Exemple :
accessPolicies/1234567890/servicePerimeters/example_perimeter.
Pour trouver le périmètre de service que vous devez modifier, vous pouvez rechercher dans vos journaux les entrées indiquant des cas de non-respect de RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.
Dans ces entrées, vérifiez le champ servicePerimeterName :
accessPolicies/ACCESS_POLICY_ID /servicePerimeters/SERVICE_PERIMETER_NAME
Pour en savoir plus, consultez Règles d'entrée et de sortie .
Créer une règle d'entrée pour l'objet NotificationConfig
Pour créer une règle d'entrée pour un NotificationConfig, suivez les instructions de la section Créer un objet NotificationConfig , puis procédez comme suit.
Console
Accéder au périmètre de service
Ouvrez à nouveau le périmètre de service de la section précédente.
Accéder à VPC Service Controls
Ajouter une règle d'entrée
Cliquez sur Règle d'entrée .
Cliquez sur Ajouter une règle d'entrée .
Dans la section De , définissez les détails suivants :
Pour Identités > Identité , sélectionnez Sélectionner des identités et des groupes .
Cliquez sur Ajouter des identités .
Saisissez l'adresse e-mail qui identifie l'agent de service NotificationConfig. Cette adresse est au format suivant :
service-org-ORGANIZATION_ID @gcp-sa-scc-notification.iam.gserviceaccount.com
Remplacez ORGANIZATION_ID par votre ID d'organisation.
Sélectionnez l'agent de service ou appuyez sur ENTRÉE , puis cliquez sur Ajouter des identités .
Dans la section À , définissez les détails suivants :
Pour Ressources > Projets , sélectionnez Sélectionner des projets .
Cliquez sur Ajouter des projets , puis ajoutez le projet contenant le sujet Pub/Sub.
Pour Opérations ou rôles IAM , sélectionnez
Sélectionner des opérations .
Cliquez sur Ajouter des opérations , puis ajoutez les opérations suivantes :
Ajoutez le service pubsub.googleapis.com .
Cliquez sur Tous les modes .
Cliquez sur Ajouter toutes les méthodes .
Cliquez sur Enregistrer .
gcloud
Si aucun projet de quota n'est déjà défini, définissez-en un. Choisissez un projet pour lequel l'API Access Context Manager est activée.
gcloud config set billing/quota_project QUOTA_PROJECT_ID
Remplacez QUOTA_PROJECT_ID par l'ID du projet que vous souhaitez utiliser pour la facturation et le quota.
Créez un fichier nommé ingress-rule.yaml avec le contenu suivant :
- ingressFrom :
identities :
- serviceAccount:service-org-ORGANIZATION_ID @gcp-sa-scc-notification. iam.gserviceaccount.com
sources :
- accessLevel : '*'
ingressTo :
operations :
- serviceName : pubsub.googleapis.com
methodSelectors :
- method : '*'
resources :
- '*'
Remplacez ORGANIZATION_ID par votre ID d'organisation.
Ajoutez la règle d'entrée au périmètre :
gcloud access-context-manager perimeters update PERIMETER_NAME \
--set-ingress-policies= ingress-rule.yaml
Remplacez les éléments suivants :
PERIMETER_NAME : nom du périmètre. Exemple :
accessPolicies/1234567890/servicePerimeters/example_perimeter.
Pour trouver le périmètre de service que vous devez modifier, vous pouvez rechercher dans vos journaux les entrées indiquant des cas de non-respect de RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.
Dans ces entrées, vérifiez le champ servicePerimeterName :
accessPolicies/ACCESS_POLICY_ID /servicePerimeters/SERVICE_PERIMETER_NAME
Pour en savoir plus, consultez Règles d'entrée et de sortie .
Les projets, utilisateurs et comptes de service sélectionnés peuvent désormais accéder aux ressources protégées et créer des notifications.
Si vous avez suivi toutes les étapes de ce guide et que les notifications fonctionnent correctement, vous pouvez maintenant supprimer les éléments suivants :
Règle d'entrée pour le principal
Règle de sortie pour le compte principal
Ces règles n'étaient nécessaires que pour configurer l'objet NotificationConfig. Toutefois, pour que les notifications continuent de fonctionner, vous devez conserver la règle d'entrée pour NotificationConfig qui permet de publier des notifications dans votre sujet Pub/Sub derrière le périmètre de service.
Étapes suivantes