Cette page explique comment transférer les résultats nouveaux et mis à jour dans une Ensemble de données BigQuery à l'aide de Security Command Center export pour BigQuery. Les résultats existants ne sont pas envoyés à dans BigQuery, sauf si elles sont mises à jour.
Google BigQuery est l'entrepôt de données d'analyse de Google Cloud, entièrement géré à l'échelle du pétaoctet et à faible coût, qui vous permet d'exécuter des analyses sur de grandes quantités de données en quasi-temps réel. Vous pouvez utiliser BigQuery pour exécuter des requêtes sur des résultats nouveaux et mis à jour, filtrer les données pour trouver ce dont vous avez besoin et générer des rapports personnalisés. Pour apprendre pour en savoir plus sur BigQuery, consultez Documentation BigQuery
Présentation
Lorsque vous activez cette fonctionnalité, les nouveaux résultats écrits dans Security Command Center sont exportés vers une table BigQuery quasiment en temps réel. Vous pouvez ensuite intégrer les données dans les workflows existants. et créer des analyses personnalisées. Vous pouvez activer cette fonctionnalité au niveau de l'organisation, et du projet pour exporter les résultats en fonction de vos besoins.
Cette fonctionnalité est recommandée pour exporter les résultats de Security Command Center vers BigQuery, car elle est entièrement gérée et ne nécessite pas d'effectuer des opérations manuelles ni d'écrire du code personnalisé.
Structure de l'ensemble de données
Cette fonctionnalité ajoute chaque nouveau résultat et ses mises à jour ultérieures sous forme de nouvelles lignes dans la table findings
, qui est mise en cluster par source_id
, finding_id
et event_time
.
Lorsqu'un résultat est mis à jour, cette fonctionnalité crée plusieurs enregistrements de résultats avec les mêmes valeurs source_id
et finding_id
, mais avec des valeurs event_time
différentes.
Cette structure d'ensemble de données vous permet de voir l'évolution de l'état de chaque résultat au fil du temps.
Notez que votre ensemble de données peut contenir des entrées en double. Pour les analyser, vous pouvez utiliser la clause DISTINCT
, comme indiqué dans le premier exemple de requête.
Chaque ensemble de données contient une table findings
, qui contient les champs suivants :
Champ | Description |
---|---|
source_id | Identifiant unique que Security Command Center attribue à la source d'un résultat. Par exemple, tous les résultats de la source Cloud Anomaly Detection ont la même valeur source_id. Exemple : 1234567890
|
finding_id | Identifiant unique qui représente le résultat. Il est unique dans une source pour une organisation. Il s'agit d'une chaîne alphanumérique qui comporte moins de 32 caractères. |
event_time | Heure à laquelle l'événement s'est produit ou heure de la mise à jour du résultat. Par exemple, si le résultat représente un pare-feu ouvert, "event_time" capture l'heure à laquelle le détecteur estime que le pare-feu a été ouvert.
Si le résultat est résolu par la suite, cette valeur indique l'heure de résolution du résultat. Exemple : 2019-09-26 12:48:00.985000 UTC
|
finding | Enregistrement d'informations d'évaluation, telles que la sécurité, les risques, l'état ou la confidentialité, qui sont ingérées dans Security Command Center pour la présentation, la notification, l'analyse, les tests de règles et l'application. Par exemple, une faille de script intersites (XSS) dans une application App Engine est un résultat. Pour en savoir plus sur les champs imbriqués, consultez la documentation de référence de l'API pour l'objet Finding . |
ressource | Informations concernant la ressource Google Cloud associée à ce résultat. Pour en savoir plus sur les champs imbriqués, consultez la documentation de référence de l'API pour l'objet Resource . |
Coût
Des frais BigQuery liés à cette fonctionnalité vous seront facturés. Pour en savoir plus, consultez la page relative aux tarifs de BigQuery.
Avant de commencer
Vous devez suivre cette procédure avant d'activer cette fonctionnalité.
Configurer les autorisations
Pour suivre ce guide, vous devez disposer des rôles Identity and Access Management (IAM) suivants :
Dans l'organisation, le dossier ou le projet à partir duquel vous souhaitez exporter les résultats, utilisez l'une des méthodes suivantes :
- Éditeur des exportations BigQuery du centre de sécurité (
roles/securitycenter.bigQueryExportsEditor
) - Administrateur du centre de sécurité (
roles/securitycenter.admin
).
Pour en savoir plus sur les rôles Security Command Center, consultez la page Contrôle des accès.
- Éditeur des exportations BigQuery du centre de sécurité (
Dans l'ensemble de données BigQuery, Propriétaire de données BigQuery (
roles/bigquery.dataOwner
).
Créer un ensemble de données BigQuery
créer un ensemble de données BigQuery ; Pour en savoir plus, consultez la page Créer des ensembles de données.
Planifier la résidence des données
Si la résidence des données
est activé pour Security Command Center, les configurations qui définissent
les exportations en flux continu vers
BigQuery (BigQueryExport
ressources) est soumis à
au contrôle de résidence des données et sont stockées
Emplacement Security Command Center
que vous sélectionnez.
Pour exporter des résultats depuis un emplacement Security Command Center vers dans BigQuery, vous devez configurer au même emplacement Security Command Center que les résultats.
Comme les filtres utilisés dans BigQuery peuvent contenir des données soumises à des contrôles de résidence, veillez à spécifier le bon emplacement avant de les créer. Security Command Center ne limite pas l'emplacement que vous créez pour l'exportation.
Les exportations BigQuery ne sont stockées que dans l'emplacement dans lequel elles ont été créées et ne peuvent pas être visualisées ni modifiées dans d'autres emplacements.
Une fois que vous avez créé une exportation BigQuery, vous ne pouvez plus modifier son emplacement. Pour modifier le lieu, vous devez supprimer l'exportation BigQuery et la recréer dans le nouvel emplacement.
Pour récupérer une exportation BigQuery à l'aide d'appels d'API,
vous devez spécifier l'emplacement dans le nom complet de la ressource
bigQueryExport
Exemple :
GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/bigQueryExports/my-export-01}
De même, pour récupérer une exportation BigQuery en utilisant
dans la gcloud CLI, vous devez spécifier l'emplacement
dans le nom de ressource complet de la configuration ou à l'aide de l'--locations
. Exemple :
gcloud scc scc bqexports get myBigQueryExport organizations/123 \ --location=locations/us
Exporter les résultats de Security Command Center vers BigQuery
Pour exporter les résultats, commencez par activer l'API Security Command Center.
Activer l'API Security Command Center
Pour activer l'API Security Command Center, procédez comme suit :
Accédez à la page "Bibliothèque d'API" de la console Google Cloud.
Sélectionnez le projet pour lequel vous souhaitez activer l'API Security Command Center.
Dans le champ de recherche, saisissez
Security Command Center
, puis cliquez sur Security Command Center dans les résultats de recherche.Dans la page de l'API qui s'affiche, cliquez sur Activer.
L'API Security Command Center est désormais activée pour votre projet. Ensuite, vous allez utiliser gcloud CLI pour créer une configuration d'exportation vers BigQuery.
Accorder l'accès à un périmètre dans VPC Service Controls
Si vous utilisez VPC Service Controls et que votre ensemble de données BigQuery fait partie d'un projet appartenant à un service périmètre, vous devez accorder l'accès aux projets pour pouvoir exporter les résultats.
Pour accorder l'accès aux projets, créez
Règles d'entrée et de sortie
pour les comptes principaux et les projets à partir desquels vous exportez des résultats. Règles
autoriser l'accès aux ressources protégées et laisser BigQuery vérifier que
les utilisateurs disposent de l'autorisation setIamPolicy
sur BigQuery
ensemble de données.
Avant de configurer une nouvelle exportation vers BigQuery
Accédez à la page "VPC Service Controls" dans Google Cloud Console.
Si nécessaire, sélectionnez votre organisation.
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 consulter vos journaux pour les entrées indiquant
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
cas de non-conformité. Dans ces entrées, vérifiez le champservicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
Cliquez sur Modifier le périmètre.
Dans le menu de navigation, cliquez sur Règle d'entrée.
À Configurer des règles d'entrée pour les utilisateurs ou les comptes de service, utilisez les paramètres suivants:
- Attributs "FROM" du client API :
- Dans le menu déroulant Identités, choisissez Sélectionné identités.
- Dans le menu déroulant Source, sélectionnez Toutes les sources.
- Cliquez sur Sélectionner, puis saisissez le compte principal utilisé pour appeler l'API Security Command Center.
- Attributs "TO" des services/ressources Google Cloud:
<ph type="x-smartling-placeholder">
- </ph>
- Dans le menu déroulant Projet, choisissez Projets sélectionnés.
- Cliquez sur Sélectionner, puis indiquez le projet qui contient l'ensemble de données BigQuery .
- Dans le menu déroulant Services, choisissez Sélectionné services, puis sélectionnez API BigQuery.
- Dans le menu déroulant Méthodes, choisissez Toutes les actions.
- Attributs "FROM" du client API :
Cliquez sur Enregistrer.
Dans le menu de navigation, cliquez sur Règle de sortie.
Cliquez sur Add Rule (Ajouter une règle).
À Configurer des règles de sortie Pour les comptes utilisateur ou de service, saisissez les paramètres suivants:
- Attributs "FROM" du client API :
- Dans le menu déroulant Identités, choisissez Identités sélectionnées.
- Cliquez sur Sélectionner, puis saisissez le compte principal utilisé pour appeler l'API Security Command Center.
- Attributs "TO" des services/ressources Google Cloud:
<ph type="x-smartling-placeholder">
- </ph>
- Dans le menu déroulant Projet, choisissez Tous les projets.
- Dans le menu déroulant Services, choisissez Sélectionné services, puis sélectionnez API BigQuery.
- Dans le menu déroulant Méthodes, choisissez Toutes les actions.
- Attributs "FROM" du client API :
Cliquez sur Enregistrer.
Configurer une nouvelle exportation vers BigQuery
Au cours de cette étape, vous allez créer une configuration d'exportation pour exporter les résultats vers une instance BigQuery. Vous pouvez créer des configurations d'exportation au niveau du projet, du dossier ou de l'organisation. Par exemple, si vous souhaitez exporter les résultats d'un projet vers un ensemble de données BigQuery, vous devez créer une configuration d'exportation au niveau du projet pour n'exporter que les résultats associés à ce projet. Vous pouvez éventuellement spécifier des filtres pour n'exporter que certains résultats.
Veillez à créer vos configurations d'exportation au niveau approprié. Par exemple, si vous créez une configuration d'exportation dans le projet B pour exporter les résultats du projet A et que vous définissez des filtres tels que resource.project_display_name: project-a-id
, la configuration n'exporte aucun résultat.
Vous pouvez créer jusqu'à 500 configurations d'exportation vers BigQuery pour votre organisation. Vous pouvez utiliser le même ensemble de données pour plusieurs configurations d'exportation. Si vous utilisez le même ensemble de données, toutes les mises à jour seront appliquées à la même table de résultats.
Lorsque vous créez votre première configuration d'exportation, un compte de service est créé automatiquement. Ce compte de service est nécessaire pour créer ou mettre à jour la table de résultats dans un ensemble de données, et pour exporter des résultats dans la table. Elle est au format service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
et dispose du rôle "Éditeur de données BigQuery" (roles/bigquery.dataEditor
) au niveau de l'ensemble de données BigQuery.
gcloud
Accédez à Google Cloud Console.
Accédez à Google Cloud Console.
Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.
Cliquez sur Activer Cloud Shell.
Pour créer une configuration d'exportation, exécutez la commande suivante :
gcloud scc bqexports create BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Remplacez les éléments suivants :
BIG_QUERY_EXPORT
par le nom que vous souhaitez donner à cette configuration d'exportation.DATASET_NAME
par le nom de l'ensemble de données BigQuery (par exemple,projects/<PROJECT_ID>/datasets/<DATASET_ID>
).FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
par le nom de votre dossier, organisation ou projet. Vous devez définir l'une de ces options. Pour les dossiers et les organisations, le nom est l'ID du dossier ou l'ID de l'organisation. Pour les projets, le nom est le numéro ou l'ID du projet.LOCATION
: si la résidence des données est activée, spécifiez le Emplacement Security Command Center pour créer l'exportation BigQuery. La La configuration de BigQuery Export est stockée dans l'emplacement. Seuls les résultats provenant de cet emplacement sont inclus dans l'exportation.Spécifier l'option
--location
si la résidence des données n'est pas activée crée l'exportation BigQuery à l'aide de l'API Security Command Center v2 et la seule valeur valide pour l'option estglobal
.DESCRIPTION
avec une description lisible par l'humain. de la configuration d'exportation. Cette variable est facultative.FILTER
par une expression qui définit ce qui des résultats à inclure dans l'exportation. Par exemple, si vous souhaitez filtrer sur la catégorie XSS_SCRIPTING, saisissez"category=\"XSS_SCRIPTING\"
. Cette variable est facultative.
Java
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Python
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Les résultats devraient s'afficher dans votre ensemble de données BigQuery dans les 15 minutes qui suivent la création de la configuration d'exportation. Une fois la table BigQuery créée, tous les résultats nouveaux et mis à jour correspondant à votre filtre et à votre champ d'application apparaissent quasiment en temps réel dans la table.
Pour examiner vos résultats, consultez la section Examiner les résultats.
Créer une règle d'entrée pour la nouvelle exportation vers BigQuery
Si vous utilisez VPC Service Controls et que votre ensemble de données BigQuery fait partie d'un projet appartenant à un service périmètre, vous devez créer une règle d'entrée pour toute nouvelle exportation vers BigQuery.
Rouvrez le périmètre de service à partir de la page Configurer une nouvelle exportation vers BigQuery.
Cliquez sur Règle d'entrée.
Cliquez sur Add Rule (Ajouter une règle).
Pour configurer la règle d'entrée pour les configurations d'exportation, saisissez le les paramètres suivants:
- Attributs "FROM" du client API :
- Dans le menu déroulant Source, sélectionnez Toutes les sources.
- Dans le menu déroulant Identités, choisissez Identités sélectionnées.
- Cliquez sur Sélectionner, puis saisissez le nom du
Compte de service de configuration BigQuery Export:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
- Attributs "TO" des services/ressources GCP :
- Dans le menu déroulant Projet, choisissez Projets sélectionnés.
- Cliquez sur Sélectionner, puis sélectionnez le projet que qui contient l'ensemble de données BigQuery.
- Dans le menu déroulant Services, choisissez Sélectionné services, puis sélectionnez API BigQuery.
- Dans le menu déroulant Méthodes, choisissez Toutes les actions.
- Attributs "FROM" du client API :
Dans le menu de navigation, cliquez sur Enregistrer.
Les projets, utilisateurs et comptes de service sélectionnés peuvent désormais accéder aux ressources des ressources et exporter les résultats.
Si vous avez suivi toutes les étapes de ce guide et que les exportations fonctionnent correctement, vous pouvez désormais supprimer les éléments suivants:
- Règle d'entrée pour le compte principal
- Règle de sortie pour le compte principal
Ces règles n'étaient nécessaires que pour configurer l'exportation. Toutefois, pour que les configurations d'exportation continuent de fonctionner, vous devez conserver la règle d'entrée que vous avez créé ci-dessus, ce qui permet à Security Command Center d'exporter les résultats Ensemble de données BigQuery derrière le périmètre de service
Afficher les détails d'une configuration d'exportation
gcloud
Accédez à Google Cloud Console.
Accédez à Google Cloud Console.
Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.
Cliquez sur Activer Cloud Shell.
Pour vérifier les détails de la configuration d'exportation, exécutez la commande suivante :
gcloud scc bqexports get BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Remplacez les éléments suivants :
BIG_QUERY_EXPORT
par le nom de cette configuration d'exportation.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
par le nom de votre dossier, organisation ou projet. Vous devez définir l'une de ces options. Pour les dossiers et les organisations, le nom est l'ID du dossier ou l'ID de l'organisation. Pour les projets, le nom est le numéro ou l'ID du projet.LOCATION
: obligatoire si la résidence des données est activé ou que la ressourceBigQueryExport
a été créée à l'aide de API v2.Si la résidence des données est activée, spécifiez Emplacement Security Command Center dans lequel l'exportation est stockée.
Si la résidence des données n'est pas activée, incluez
/locations/LOCATION
uniquement si La ressourceBigQueryExport
a été créée à l'aide de la classe API Security Command Center v2, auquel cas, le seul emplacement valide estglobal
.
Par exemple, pour obtenir une configuration d'exportation nommée
my-bq-export
d'une organisation avec un ID d'organisation défini sur123
, exécutez :gcloud scc bqexports get my-bq-export --organization=123
Java
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Python
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Mettre à jour une configuration d'exportation
Si nécessaire, vous pouvez modifier le filtre, l'ensemble de données et la description d'une configuration d'exportation existante. Vous ne pouvez pas modifier le nom de la configuration d'exportation.
gcloud
Accédez à Google Cloud Console.
Accédez à Google Cloud Console.
Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.
Cliquez sur Activer Cloud Shell.
Pour mettre à jour une configuration d'exportation, exécutez la commande suivante :
gcloud scc bqexports update BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Remplacez les éléments suivants :
BIG_QUERY_EXPORT
par le nom de la configuration d'exportation que vous souhaitez mettre à jour.DATASET_NAME
par le nom de l'ensemble de données BigQuery (par exemple,projects/<PROJECT_ID>/datasets/<DATASET_ID>
).FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
par le nom de votre dossier, organisation ou projet. Vous devez définir l'une de ces options. Pour les dossiers et les organisations, le nom est l'ID du dossier ou l'ID de l'organisation. Pour les projets, le nom est le numéro ou l'ID du projet.LOCATION
: obligatoire si la résidence des données est activé ou que la ressourceBigQueryExport
a été créée à l'aide de API v2.Si la résidence des données est activée, spécifiez Emplacement Security Command Center dans lequel l'exportation est stockée.
Si la résidence des données n'est pas activée, incluez
/locations/LOCATION
dans le nom complet ou ne spécifiez l'option--location
que siBigQueryExport
ressource a été créée à l'aide de l'API Security Command Center v2. auquel cas, le seul emplacement valide estglobal
.DESCRIPTION
avec une description lisible par l'humain. de la configuration d'exportation. Cette variable est facultative.FILTER
par une expression qui définit ce qui des résultats à inclure dans l'exportation. Par exemple, si vous souhaitez filtrer sur la catégorie XSS_SCRIPTING, saisissez"category=\"XSS_SCRIPTING\"
. Cette variable est facultative.
Java
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Python
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Afficher toutes les configurations d'exportation
Vous pouvez afficher toutes les configurations d'exportation de votre organisation, de votre dossier ou de votre projet.
gcloud
Accédez à Google Cloud Console.
Accédez à Google Cloud Console.
Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.
Cliquez sur Activer Cloud Shell.
Pour répertorier les configurations d'exportation, exécutez la commande suivante :
gcloud scc bqexports list \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE]
Remplacez les éléments suivants :
FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
par le nom de votre dossier, organisation ou projet. Vous devez définir l'une de ces options. Pour les dossiers et les organisations, le nom est l'ID du dossier ou l'ID de l'organisation. Pour les projets, le nom est le numéro ou l'ID du projet.Si vous spécifiez un ID d'organisation, la liste inclut toutes les configurations d'exportation définies dans cette organisation, y compris celles au niveau du dossier et du projet. Si vous spécifiez un ID de dossier, la liste comprend toutes les configurations d'exportation définies au niveau du dossier et dans les projets de ce dossier. Si vous spécifiez un numéro ou un ID de projet, la liste n'inclut que les configurations d'exportation de ce projet.
LOCATION
: obligatoire si la résidence des données est activé, ou les ressourcesBigQueryExport
ont été créées à l'aide de API v2.Si la résidence des données est activée, spécifiez Emplacement Security Command Center dans lequel les exportations sont stockées.
Si la résidence des données n'est pas activée, y compris L'option
--location
ne répertorie que les ressourcesBigQueryExport
. créés à l'aide de l'API Security Command Center version 2 Le seul emplacement valide estglobal
.LIMIT
par le nombre de configurations d'exportation que vous souhaitez afficher. Cette variable est facultative.PAGE_SIZE
par une valeur de taille de page. Cette variable est facultative.
Java
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Python
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Supprimer une configuration d'exportation
Si vous n'avez plus besoin d'une configuration d'exportation, vous pouvez la supprimer.
gcloud
Accédez à Google Cloud Console.
Accédez à Google Cloud Console.
Sélectionnez le projet pour lequel vous avez activé l'API Security Command Center.
Cliquez sur Activer Cloud Shell.
Pour supprimer une configuration d'exportation, exécutez la commande suivante :
gcloud scc bqexports delete BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Remplacez les éléments suivants :
BIG_QUERY_EXPORT
par le nom de la configuration d'exportation que vous souhaitez supprimer.FOLDER_ID
,ORGANIZATION_ID
ouPROJECT_ID
par le nom de votre dossier, organisation ou projet. Vous devez définir l'une de ces options. Pour les dossiers et les organisations, le nom est l'ID du dossier ou l'ID de l'organisation. Pour les projets, le nom est le numéro ou l'ID du projet.LOCATION
: obligatoire si la résidence des données est activé ou que la ressourceBigQueryExport
a été créée à l'aide de API v2.Si la résidence des données est activée, spécifiez Emplacement Security Command Center dans lequel l'exportation est stockée.
Si la résidence des données n'est pas activée, incluez
/locations/LOCATION
uniquement si La ressourceBigQueryExport
a été créée à l'aide de la classe API Security Command Center v2, auquel cas, le seul emplacement valide estglobal
.
Par exemple, pour supprimer une configuration d'exportation nommée
my-bq-export
d'une organisation avec un ID d'organisation défini sur123
, exécutez la commande suivante :gcloud scc bqexports delete my-bq-export --organization=123
Java
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Python
Pour vous authentifier auprès de Security Command Center, configurez les paramètres par défaut de l'application Identifiants Pour en savoir plus, consultez Configurez l'authentification pour un environnement de développement local.
L'exemple suivant utilise l'API v1. Pour modifier
l'exemple pour la version 2, remplacez v1
par v2
, puis ajoutez
/locations/LOCATION
au nom de la ressource.
Pour la plupart des ressources, ajoutez /locations/LOCATION
au
nom de la ressource après /PARENT/PARENT_ID
, où
"PARENT
" correspond à organizations
, folders
,
ou projects
.
Pour les résultats, ajoutez /locations/LOCATION
à la ressource
nom après /sources/SOURCE_ID
, où SOURCE_ID
est l'identifiant
Service Security Command Center
à l'origine des résultats.
Après avoir supprimé la configuration de l'exportation, vous pouvez supprimer les données de Looker Studio. Pour plus d'informations, consultez la page Retirer, supprimer et restaurer une source de données.
Examiner les résultats dans BigQuery
Après avoir créé une configuration d'exportation, les nouveaux résultats sont exportés vers l'ensemble de données BigQuery dans le projet que vous avez spécifié.
Pour examiner les résultats dans BigQuery, procédez comme suit :
Accédez au projet dans BigQuery.
Si vous n'êtes pas dans le bon projet, procédez comme suit :
- Dans la barre d'outils, cliquez sur le sélecteur de projet .
- À côté de Select from, sélectionnez votre organisation.
- Dans la liste des projets, sélectionnez un projet.
Dans le volet Explorateur, développez le nœud de votre projet.
Développez votre ensemble de données.
Cliquez sur la table des résultats.
Dans l'onglet qui s'affiche, cliquez sur Aperçu. Un échantillon de données s'affiche.
Requêtes utiles
Cette section fournit des exemples de requêtes d'analyse des données de résultats. Dans les exemples suivants, remplacez DATASET
par le nom attribué à votre ensemble de données et PROJECT_ID
par le nom de projet de votre ensemble de données.
Pour résoudre les erreurs que vous rencontrez, consultez la page Messages d'erreur.
Le nombre de résultats créés et mis à jour quotidiennement
SELECT
FORMAT_DATETIME("%Y-%m-%d", event_time) AS date,
count(DISTINCT finding_id)
FROM `PROJECT_ID.DATASET.findings`
GROUP BY date
ORDER BY date DESC
Dernier enregistrement de résultat pour chaque résultat
SELECT
* EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
)
WHERE row = 1
Résultats actuels actifs, triés par ordre chronologique
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
ORDER BY event_time DESC
Résultats actuels dans un projet
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
WHERE resource.project_display_name = 'PROJECT'
Remplacez PROJECT
par le nom du projet.
Résultats actuels situés dans un dossier
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
CROSS JOIN UNNEST(resource.folders) AS folder
WHERE folder.resource_folder_display_name = 'FOLDER'
Remplacez FOLDER
par le nom du dossier.
Résultats actuels de l'outil d'analyse Logging Scanner
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
CROSS JOIN UNNEST(finding.source_properties) AS source_property
WHERE source_property.key = "ScannerName"
AND source_property.value = "LOGGING_SCANNER"
Résultats actifs de type Persistence: IAM Anomalous Grant
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
AND finding.category = "Persistence: IAM Anomalous Grant"
Corréler les résultats actifs d'un type donné avec Cloud Audit Logs
Cet exemple de requête permet d'examiner les résultats d'octroi IAM anormaux du service Event Threat Detection à l'aide de Cloud Audit Logs en affichant la séquence d'actions d'administration de l'approbateur au cours de la période précédente et en effectuant l'action d'octroi IAM anormale. Cette requête correspond aux journaux d'activité d'administration entre une heure avant et une heure après l'horodatage du résultat.
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT
finding_id,
ANY_VALUE(event_time) as event_time,
ANY_VALUE(finding.access.principal_email) as grantor,
JSON_VALUE_ARRAY(ANY_VALUE(finding.source_properties_json), '$.properties.sensitiveRoleGrant.members') as grantees,
ARRAY_AGG(
STRUCT(
timestamp,
IF(timestamp < event_time, 'before', 'after') as timeline,
protopayload_auditlog.methodName,
protopayload_auditlog.resourceName,
protopayload_auditlog.serviceName
)
ORDER BY timestamp ASC
) AS recent_activity
FROM (
SELECT
f.*,
a.*,
FROM latestFindings AS f
LEFT JOIN `PROJECT_ID.DATASET.cloudaudit_googleapis_com_activity` AS a
ON a.protopayload_auditlog.authenticationInfo.principalEmail = f.finding.access.principal_email
WHERE f.finding.state = "ACTIVE"
AND f.finding.category = "Persistence: IAM Anomalous Grant"
AND a.timestamp >= TIMESTAMP_SUB(f.event_time, INTERVAL 1 HOUR)
AND a.timestamp <= TIMESTAMP_ADD(f.event_time, INTERVAL 1 HOUR)
)
GROUP BY
finding_id
ORDER BY
event_time DESC
Le résultat ressemble à ce qui suit :
Créer des graphiques dans Looker Studio
Looker Studio vous permet de créer et des tableaux de bord interactifs.
En général, des coûts d'utilisation de BigQuery vous sont facturés. lorsque vous accédez à BigQuery via Looker Studio. Pour en savoir plus, consultez Visualiser des données BigQuery à l'aide de Looker Studio
Pour créer un graphique qui représente les données de résultats par gravité et par catégorie, procédez comme suit :
- Ouvrez Looker Studio et connectez-vous.
- Si vous y êtes invité, indiquez des informations supplémentaires et configurez d'autres préférences. Lisez les conditions d'utilisation et, si vous êtes satisfait, continuez.
- Cliquez sur Blank Report (Rapport vierge).
- Dans l'onglet Se connecter aux données, cliquez sur la fiche BigQuery.
- Si vous y êtes invité, autorisez Looker Studio à accéder à BigQuery projets.
- Connectez-le à vos données de résultats :
- Pour Projet, sélectionnez ce projet pour votre ensemble de données. Vous pouvez également saisir votre ID de projet dans l'onglet Mes projets pour le rechercher.
- Dans le champ Ensemble de données, cliquez sur le nom de l'ensemble de données.
- Dans le champ Table, cliquez sur résultats.
- Cliquez sur Ajouter.
- Dans la boîte de dialogue, cliquez sur Ajouter au rapport.
- Une fois le rapport ajouté, cliquez sur Ajouter un graphique.
Cliquez sur Histogramme empilé, puis sur la zone dans laquelle vous souhaitez le placer.
Dans le volet Graphique > Barre, accédez à l'onglet Données, puis définissez les champs suivants :
- Dans le champ Dimension, sélectionnez finding.severity.
- Dans le champ Dimension de répartition, sélectionnez finding.category.
Le rapport est mis à jour pour afficher plusieurs colonnes avec des résultats répartis par niveau de gravité et par catégorie.
Étape suivante
Découvrez comment exécuter une requête dans BigQuery.