Configurer le contrôle des accès aux fonctionnalités à l'aide d'IAM
Le contrôle des accès basé sur les rôles de fonctionnalité contrôle l'accès des utilisateurs à des fonctionnalités ou fonctionnalités spécifiques d'un système, et détermine les fonctionnalités auxquelles les utilisateurs ont accès en fonction de leurs rôles. Cette page explique comment configurer le contrôle des accès aux fonctionnalités dans Google Security Operations.
Dans ce document, le terme ancien RBAC est utilisé pour désigner le système de contrôle des accès précédemment disponible, configuré à l'aide de Google SecOps, et non du Identity and Access Management (IAM). Le RBAC basé sur les fonctionnalités permet de décrire le contrôle des accès basé sur les fonctionnalités que vous configurez à l'aide d'IAM.
Google SecOps s'intègre à l'IAM Google Cloud pour fournir des autorisations et des rôles prédéfinis spécifiques à Google SecOps. Les administrateurs Google SecOps peuvent contrôler l'accès aux fonctionnalités en créant des stratégies IAM qui lient des utilisateurs ou des groupes à des rôles prédéfinis, ou en créant des rôles IAM personnalisés. Cette fonctionnalité ne contrôle pas l'accès à des enregistrements ou des champs UDM spécifiques dans un enregistrement UDM.
Ce document explique les points suivants:
- Décrit comment Google SecOps s'intègre à IAM.
- Explique les différences entre les rôles RBAC de fonctionnalité et les anciens rôles RBAC.
- Démarche à suivre pour migrer une instance Google SecOps vers RBAC.
- Fournit des exemples d'attribution d'autorisations à l'aide d'IAM.
- Résume les autorisations et les rôles prédéfinis disponibles dans IAM.
Pour obtenir la liste des autorisations Google SecOps couramment utilisées et des journaux d'audit qu'elles génèrent, consultez Autorisations et méthodes d'API par groupe de ressources. Pour obtenir la liste de toutes les autorisations Google SecOps, consultez la documentation de référence sur les autorisations Identity and Access Management.
Chaque autorisation Google SecOps est associée à une ressource et à une méthode de l'API Google SecOps. Lorsqu'une autorisation est accordée à un utilisateur ou à un groupe, celui-ci peut accéder à la fonctionnalité dans Google SecOps et envoyer une requête à l'aide de la méthode d'API associée.
Intégration de Google SecOps à IAM
Pour utiliser IAM, Google SecOps doit être associé à un projet Google Cloud et doit être configuré avec Cloud Identity, Google Workspace ou la fédération des identités des employés Google Cloud en tant qu'intermédiaire dans le flux d'authentification auprès d'un fournisseur d'identité tiers. Pour en savoir plus sur le flux d'authentification tiers, consultez Intégrer Google SecOps à un fournisseur d'identité tiers.
Google SecOps effectue les étapes suivantes pour vérifier et contrôler l'accès aux fonctionnalités:
- Après s'être connecté à Google SecOps, un utilisateur accède à une page d'application Google SecOps. L'utilisateur peut également envoyer une requête API à Google SecOps.
- Google SecOps vérifie les autorisations accordées dans les stratégies IAM définies pour cet utilisateur.
- IAM renvoie les informations d'autorisation. Si l'utilisateur a accédé à une page d'application, Google SecOps n'autorise l'accès qu'aux fonctionnalités auxquelles l'utilisateur a été autorisé.
- Si l'utilisateur a envoyé une requête API et qu'il n'est pas autorisé à effectuer l'action demandée, la réponse de l'API inclut une erreur. Sinon, une réponse standard est renvoyée.
Google SecOps fournit un ensemble de rôles prédéfinis avec un ensemble défini d'autorisations qui contrôlent si un utilisateur peut accéder à la fonctionnalité. La stratégie IAM unique contrôle l'accès à la fonctionnalité à l'aide de l'interface Web et de l'API.
Si d'autres services Google Cloud du projet Google Cloud sont liés à Google SecOps et que vous souhaitez limiter un utilisateur disposant du rôle Administrateur IAM du projet à ne modifier que les ressources Google SecOps, veillez à ajouter des conditions IAM à la stratégie d'autorisation. Pour savoir comment procéder, consultez Attribuer des rôles aux utilisateurs et aux groupes.
Les administrateurs adaptent l'accès aux fonctionnalités Google SecOps en fonction du rôle d'un employé dans votre organisation.
Avant de commencer
- Assurez-vous de connaître Cloud Shell, la commande gcloud CLI et la console Google Cloud.
- Familiarisez-vous avec IAM, y compris les concepts suivants :
- Présentation d'IAM
- Présentation des rôles et autorisations, des rôles prédéfinis par rapport aux rôles personnalisés et de la création de rôles personnalisés.
- Conditions IAM
- Suivez toutes les étapes de la section Lier Google SecOps à un projet Google Cloud pour configurer un projet qui se lie à Google SecOps.
- Configurez votre fournisseur d'identité à l'aide de l'une des méthodes suivantes :
- Configurer un fournisseur d'identité Google Cloud
- Suivez toutes les étapes de la section Intégrer Google SecOps à un fournisseur d'identité tiers pour configurer l'authentification via un fournisseur d'identité tiers (IdP).
- Associez un projet à votre instance Google SecOps et configurez le fournisseur d'identité.
- Assurez-vous de disposer des autorisations nécessaires pour effectuer les étapes décrites dans ce document. Pour en savoir plus sur les autorisations requises pour chaque phase du processus d'intégration, consultez la section Rôles requis.
Planifier votre implémentation
Créez des stratégies IAM qui répondent aux exigences de déploiement de votre organisation. Vous pouvez utiliser les rôles prédéfinis de Google SecOps ou les rôles personnalisés que vous créez.
Comparez la liste des rôles et autorisations prédéfinis Google SecOps aux exigences de votre organisation. Identifiez les membres de votre organisation qui doivent avoir accès à chaque fonctionnalité Google SecOps. Si votre organisation a besoin de règles IAM différentes des rôles Google SecOps prédéfinis, créez des rôles personnalisés pour répondre à ces exigences. Pour en savoir plus sur les rôles personnalisés IAM, consultez la page Créer et gérer des rôles personnalisés.
Résumé des rôles et autorisations Google SecOps
Les sections suivantes fournissent un résumé général des rôles prédéfinis.
La liste la plus récente des autorisations Google SecOps se trouve dans la documentation de référence sur les autorisations IAM. Dans la section Rechercher une autorisation, recherchez le terme chronicle
.
La liste la plus récente des rôles Google SecOps prédéfinis se trouve dans la documentation de référence sur les rôles IAM de base et prédéfinis. Dans la section Rôles prédéfinis, sélectionnez le service Rôles de l'API Chronicle ou recherchez le terme chronicle
.
Pour en savoir plus sur les méthodes et les autorisations de l'API, les pages où les autorisations sont utilisées et les informations enregistrées dans Cloud Audit Logs lorsque l'API est appelée, consultez la page Autorisations Chronicle dans IAM.
Rôles prédéfinis Google SecOps dans IAM
Google Security Operations fournit les rôles prédéfinis suivants tels qu'ils apparaissent dans IAM.
Rôle prédéfini dans IAM | Titre | Description |
---|---|---|
roles/chronicle.admin |
Administrateur de l'API Chronicle | Accès complet aux services d'application et d'API Google Security Operations, y compris aux paramètres globaux. |
roles/chronicle.editor |
Éditeur de l'API Chronicle | Modifier l'accès aux ressources de l'application et de l'API Google Security Operations |
roles/chronicle.viewer |
Lecteur de l'API Chronicle | Accès en lecture seule aux ressources de l'application et de l'API Google Security Operations |
roles/chronicle.limitedViewer |
Lecteur limité de l'API Chronicle | Accorde un accès en lecture seule aux ressources de l'application et de l'API Google Security Operations, à l'exception des règles du moteur de détection et des recherches Retrohunt. |
Autorisations Google SecOps dans IAM
Les autorisations Google SecOps correspondent les unes aux autres avec les méthodes de l'API Google SecOps. Chaque autorisation Google SecOps permet d'effectuer une action spécifique sur une fonctionnalité Google SecOps spécifique lorsque vous utilisez l'application Web ou l'API. Les API Google SecOps utilisées avec IAM sont en phase de lancement alpha.
Les noms des autorisations Google SecOps suivent le format SERVICE.FEATURE.ACTION
.
Par exemple, le nom d'autorisation chronicle.dashboards.edit
se compose des éléments suivants:
chronicle
: nom du service de l'API Google SecOps.dashboards
: nom de l'élément géographique.edit
: action pouvant être effectuée sur l'élément géographique.
Le nom de l'autorisation décrit l'action que vous pouvez effectuer sur la fonctionnalité dans Google SecOps. Toutes les autorisations Google SecOps portent le nom de service chronicle
.
Attribuer des rôles aux utilisateurs et aux groupes
Les sections suivantes fournissent des exemples de cas d'utilisation pour la création de stratégies IAM. Le terme <project>
représente l'ID du projet que vous avez associé à Google SecOps.
Une fois que vous avez activé l'API Chronicle, les rôles et autorisations prédéfinis Google SecOps sont disponibles dans IAM. Vous pouvez alors créer des règles pour répondre aux exigences de votre organisation.
Si vous venez de créer une instance Google SecOps, commencez à créer des règles IAM pour répondre aux exigences de votre organisation.
S'il s'agit d'une instance Google SecOps existante, consultez Migrer Google SecOps vers IAM pour le contrôle des accès aux fonctionnalités pour savoir comment migrer l'instance vers IAM.
Exemple: Attribuer le rôle Administrateur IAM de projet dans un projet dédié
Dans cet exemple, le projet est dédié à votre instance Google SecOps. Vous accordez le rôle Administrateur de projet IAM à un utilisateur afin qu'il puisse accorder et modifier les liaisons de rôle IAM du projet. L'utilisateur peut administrer tous les rôles et autorisations Google SecOps du projet, et effectuer les tâches accordées par le rôle Project IAM Admin (Administrateur IAM du projet).
Attribuer le rôle à l'aide de la console Google Cloud
Les étapes suivantes décrivent comment attribuer un rôle à un utilisateur à l'aide de la console Google Cloud.
- Ouvrez la console Google Cloud.
- Sélectionnez le projet associé à Google SecOps.
- Sélectionnez IAM et administration.
- Sélectionnez Accorder l'accès. La boîte de dialogue Accorder l'accès à
<project>
s'affiche. - Dans la section Ajouter des comptes principaux, saisissez l'adresse e-mail du compte géré dans le champ Nouveaux comptes principaux.
- Dans la section Attribuer des rôles, dans le menu Sélectionner un rôle, sélectionnez le rôle Administrateur IAM du projet.
- Cliquez sur Enregistrer.
- Ouvrez la page IAM > Autorisations pour vérifier que le rôle approprié a été attribué à l'utilisateur.
Attribuer le rôle à l'aide de la Google Cloud CLI
L'exemple de commande suivant montre comment attribuer le rôle chronicle.admin
à un utilisateur lorsque vous utilisez la fédération d'identité du personnel.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de ressources humaines créé pour votre fournisseur d'identités.USER_EMAIL
: Adresse e-mail de l'utilisateur.
L'exemple de commande suivant montre comment attribuer le rôle chronicle.admin
à un groupe lorsque vous utilisez Cloud Identity ou Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "user:USER_EMAIL" \
--role=roles/chronicle.admin
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.USER_EMAIL
: Adresse e-mail de l'utilisateur.
Exemple: Attribuer le rôle Administrateur IAM de projet dans un projet partagé
Dans cet exemple, le projet est utilisé pour plusieurs applications. Il est associé à une instance Google SecOps et exécute des services qui ne sont pas liés à Google SecOps. Par exemple, une ressource Compute Engine utilisée à d'autres fins.
Dans ce cas, vous pouvez accorder le rôle Administrateur de projet IAM à un utilisateur afin qu'il puisse accorder et modifier les liaisons de rôle IAM du projet, et configurer Google SecOps. Vous ajouterez également des rôles IAM à la liaison de rôle pour limiter leur accès aux rôles Google SecOps uniquement dans le projet. Cet utilisateur ne peut attribuer que les rôles spécifiés dans la condition IAM.
Pour en savoir plus sur les conditions IAM, consultez les pages Présentation des conditions IAM et Gérer les liaisons de rôles conditionnelles.
Attribuer le rôle à l'aide de la console Google Cloud
Les étapes suivantes décrivent comment attribuer un rôle à un utilisateur à l'aide de la console Google Cloud.
- Ouvrez la console Google Cloud.
- Sélectionnez le projet associé à Google SecOps.
- Sélectionnez IAM et administration.
- Sélectionnez Accorder l'accès. La boîte de dialogue Accorder l'accès à
<project>
s'affiche. - Dans la boîte de dialogue Grant Access to
<project>
(Accorder l'accès à<project>
), sous la section Add Principals (Ajouter des comptes principaux), saisissez l'adresse e-mail de l'utilisateur dans le champ New Principals (Nouveaux comptes principaux). - Dans la section Attribuer des rôles, dans le menu Sélectionner un rôle, sélectionnez le rôle Administrateur IAM du projet.
- Cliquez sur + Ajouter une condition IAM.
- Dans la boîte de dialogue Ajouter une condition, saisissez les informations suivantes :
- Saisissez un titre pour la condition.
- Sélectionnez l'Éditeur de conditions.
- Saisissez la condition suivante:
api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])
- Cliquez sur Enregistrer dans la boîte de dialogue Ajouter une condition.
- Cliquez sur Enregistrer dans la boîte de dialogue Accorder l'accès à
<project>
. - Ouvrez la page IAM > Autorisations pour vérifier que le rôle approprié a été attribué à l'utilisateur.
Attribuer le rôle à l'aide de la Google Cloud CLI
L'exemple de commande suivant montre comment attribuer le rôle chronicle.admin
à un utilisateur et appliquer des conditions IAM lorsque vous utilisez la fédération d'identité du personnel.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de nœuds de calcul créé pour votre fournisseur d'identité.USER_EMAIL
: Adresse e-mail de l'utilisateur.
L'exemple de commande suivant montre comment attribuer le rôle chronicle.admin
à un groupe et appliquer des conditions IAM lorsque vous utilisez Cloud Identity ou Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.USER_EMAIL
: adresse e-mail de l'utilisateur, par exemplebob@example.com
.
Exemple: Attribuer le rôle "Rédacteur de l'API Chronicle" à un utilisateur
Dans ce cas, vous souhaitez permettre à un utilisateur de modifier l'accès aux ressources de l'API Google SecOps.
Attribuer le rôle à l'aide de la console Google Cloud
- Ouvrez la console Google Cloud.
- Sélectionnez le projet associé à Google SecOps.
- Sélectionnez IAM et administration.
- Sélectionnez Accorder l'accès. La boîte de dialogue Accorder l'accès à
<project>
s'ouvre. - Dans la section Ajouter des comptes principaux, dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail de l'utilisateur.
- Dans la section Attribuer des rôles, dans le menu Sélectionner un rôle, sélectionnez le rôle Éditeur de l'API Google SecOps.
- Cliquez sur Enregistrer dans la boîte de dialogue Accorder l'accès à
<project>
. - Ouvrez la page IAM > Autorisations pour vérifier que le rôle approprié a été attribué à l'utilisateur.
Attribuer le rôle à l'aide de la Google Cloud CLI
L'exemple de commande suivant montre comment attribuer le rôle chronicle.editor
à un utilisateur lorsque vous utilisez la fédération d'identité de personnel.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.editor
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de ressources humaines créé pour votre fournisseur d'identités.USER_EMAIL
: Adresse e-mail de l'utilisateur.L'exemple de commande suivant montre comment attribuer le rôle
chronicle.editor
à un utilisateur lorsque vous utilisez Cloud Identity ou Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.editor
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de ressources humaines créé pour votre fournisseur d'identités.USER_EMAIL
: Adresse e-mail de l'utilisateur.
Exemple: Créer et attribuer un rôle personnalisé à un groupe
Si les rôles prédéfinis Google SecOps ne fournissent pas le groupe d'autorisations adapté au cas d'utilisation de votre organisation, vous pouvez créer un rôle personnalisé et lui attribuer des autorisations Google SecOps. Vous attribuez le rôle personnalisé à un utilisateur ou à un groupe. Pour en savoir plus sur les rôles personnalisés IAM, consultez Créer et gérer des rôles personnalisés.
Les étapes suivantes vous permettent de créer un rôle personnalisé appelé LimitedAdmin
.
Créez un fichier YAML ou JSON qui définit le rôle personnalisé, appelé
LimitedAdmin
, et les autorisations accordées à ce rôle. Voici un exemple de fichier YAML.title: "LimitedAdmin" description: "Admin role with some permissions removed" stage: "ALPHA" includedPermissions: - chronicle.collectors.create - chronicle.collectors.delete - chronicle.collectors.get - chronicle.collectors.list - chronicle.collectors.update - chronicle.dashboards.copy - chronicle.dashboards.create - chronicle.dashboards.delete - chronicle.dashboards.get - chronicle.dashboards.list - chronicle.extensionValidationReports.get - chronicle.extensionValidationReports.list - chronicle.forwarders.create - chronicle.forwarders.delete - chronicle.forwarders.generate - chronicle.forwarders.get - chronicle.forwarders.list - chronicle.forwarders.update - chronicle.instances.get - chronicle.instances.report - chronicle.legacies.legacyGetCuratedRulesTrends - chronicle.legacies.legacyGetRuleCounts - chronicle.legacies.legacyGetRulesTrends - chronicle.legacies.legacyUpdateFinding - chronicle.logTypeSchemas.list - chronicle.multitenantDirectories.get - chronicle.operations.cancel - chronicle.operations.delete - chronicle.operations.get - chronicle.operations.list - chronicle.operations.wait - chronicle.parserExtensions.activate - chronicle.parserExtensions.create - chronicle.parserExtensions.delete - chronicle.parserExtensions.generateKeyValueMappings - chronicle.parserExtensions.get - chronicle.parserExtensions.legacySubmitParserExtension - chronicle.parserExtensions.list - chronicle.parserExtensions.removeSyslog - chronicle.parsers.activate - chronicle.parsers.activateReleaseCandidate - chronicle.parsers.copyPrebuiltParser - chronicle.parsers.create - chronicle.parsers.deactivate - chronicle.parsers.delete - chronicle.parsers.get - chronicle.parsers.list - chronicle.parsers.runParser - chronicle.parsingErrors.list - chronicle.validationErrors.list - chronicle.validationReports.get - resourcemanager.projects.get
Créez le rôle personnalisé. L'exemple de commande gcloud CLI suivant montre comment créer ce rôle personnalisé à l'aide du fichier YAML que vous avez créé à l'étape précédente.
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.YAML_FILE_NAME
: nom du fichier que vous avez créé à l'étape précédente.ROLE_NAME
: nom du rôle personnalisé tel que défini dans le fichier YAML.
Attribuez le rôle personnalisé à l'aide du Google Cloud CLI.
L'exemple de commande suivant montre comment accorder à un groupe d'utilisateurs le rôle personnalisé
limitedAdmin
lorsque vous utilisez la fédération d'identité de personnel.gcloud projects add-iam-policy-binding PROJECT_ID \ --member=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de personnel créé pour votre fournisseur d'identités.GROUP_ID
: identifiant de groupe créé dans la fédération des identités des employés. Pour en savoir plus sur l'identifiant de groupe créé dans la fédération des identités des employés, consultez la page Représenter les utilisateurs de pools d'identités de personnel dans les stratégies IAM. Pour en savoir plus surGROUP_ID
, consultez la section Représenter les utilisateurs de pools de personnel dans les stratégies IAM.
L'exemple de commande suivant montre comment accorder à un groupe d'utilisateurs le rôle personnalisé
limitedAdmin
lorsque vous utilisez Cloud Identity ou .gcloud projects add-iam-policy-binding PROJECT_ID \ --member=groupid:GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google SecOps auquel vous avez associé le projet que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud. Consultez la section Créer et gérer des projets pour obtenir une description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de personnel créé pour votre fournisseur d'identités.GROUP_ID
: identifiant de groupe créé dans la fédération des identités des employés. Pour en savoir plus sur l'identifiant de groupe créé dans la fédération des identités des employés, consultez la page Représenter les utilisateurs de pools d'identités de personnel dans les stratégies IAM. Pour en savoir plus surGROUP_ID
, consultez la section Représenter les utilisateurs de pools de personnel dans les stratégies IAM.
Vérifier la journalisation d'audit
Les actions des utilisateurs dans Google SecOps et les requêtes adressées à l'API Google SecOps sont enregistrées dans Cloud Audit Logs. Pour vérifier que des journaux sont écrits, procédez comme suit:
- Connectez-vous à Google SecOps en tant qu'utilisateur disposant des droits d'accès à toutes les fonctionnalités. Pour en savoir plus, consultez Se connecter à Google SecOps.
- Effectuer une action, comme effectuer une recherche
- Dans la console Google Cloud, utilisez l'explorateur de journaux pour afficher les journaux d'audit dans le projet Cloud associé à Google SecOps. Les journaux d'audit Google SecOps portent le nom de service suivant :
chronicle.googleapis.com
.
Pour savoir comment afficher Cloud Audit Logs, consultez la section Informations sur la journalisation d'audit Google SecOps.
Voici un exemple de journal écrit lorsque l'utilisateur alice@example.com
a consulté la liste des extensions d'analyseur dans Google SecOps.
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "alice@example.com"
},
"requestMetadata": {
"callerIp": "private",
"callerSuppliedUserAgent": "abc_client",
"requestAttributes": {
"time": "2023-03-27T21:09:43.897772385Z",
"reason": "8uSywAYeWhxBRiBhdXRoIFVwVGljay0-REFUIGV4Y2abcdef",
"auth": {}
},
"destinationAttributes": {}
},
"serviceName": "chronicle.googleapis.com",
"methodName": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"authorizationInfo": [
{
"resource": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"permission": "chronicle.parserExtensions.list",
"granted": true,
"resourceAttributes": {}
}
],
"resourceName": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"numResponseItems": "12",
"request": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsRequest",
"parent": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-"
},
"response": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsResponse"
}
},
"insertId": "1h0b0e0a0",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "dev-sys-server001",
"method": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"service": "chronicle.googleapis.com"
}
},
"timestamp": "2023-03-27T21:09:43.744940164Z",
"severity": "INFO",
"logName": "projects/dev-sys-server001/logs/cloudaudit.googleapis.com%2Fdata_access",
"receiveTimestamp": "2023-03-27T21:09:44.863100753Z"
}
Migrer Google SecOps vers le contrôle des accès basé sur les rôles pour le contrôle des accès aux fonctionnalités
Utilisez les informations de ces sections pour migrer une instance SIEM Google Security Operations existante du système RBAC précédent vers le RBAC.
Une fois que vous êtes passé à l'RBAC, vous pouvez également auditer l'activité sur l'instance Google SecOps à l'aide des journaux d'audit Cloud.
Différences entre l'ancien RBAC et le RBAC basé sur les fonctionnalités
Bien que les noms des rôles prédéfinis RBAC de fonctionnalité soient similaires aux anciens rôles RBAC, ils ne fournissent pas un accès aux fonctionnalités identique à celui des anciens rôles RBAC. Les autorisations attribuées à chaque rôle RBAC de fonctionnalité prédéfini sont légèrement différentes. Pour en savoir plus, consultez la section Comment les rôles IAM RBAC de fonctionnalité sont mappés aux anciens rôles RBAC.
Vous pouvez utiliser les rôles prédéfinis Google SecOps tels quels, modifier les autorisations définies dans chaque rôle prédéfini ou créer des rôles personnalisés et attribuer un autre ensemble d'autorisations.
Une fois l'instance Google SecOps migrée, vous pouvez gérer les rôles, les autorisations et les stratégies RBAC de fonctionnalités à l'aide d'IAM dans la console Google Cloud. Les pages d'application Google SecOps suivantes sont modifiées pour rediriger les utilisateurs vers la console Google Cloud:
- Utilisateurs et groupes
- Rôles
Dans l'ancien RBAC, chaque autorisation est décrite par le nom de la fonctionnalité et une action. Les autorisations IAM dans le contrôle RBAC des fonctionnalités sont décrites par le nom et la méthode de la ressource. Le tableau suivant illustre la différence avec deux exemples, l'un concernant les tableaux de bord et l'autre les flux.
Exemple de tableau de bord: pour contrôler l'accès aux tableaux de bord, l'ancien RBAC propose cinq actions que vous pouvez effectuer sur les tableaux de bord. Le RBAC de fonctionnalités fournit des autorisations IAM similaires, avec une autorisation supplémentaire,
dashboards.list
, qui permet à un utilisateur de lister les tableaux de bord disponibles.Exemple de flux: pour contrôler l'accès aux flux, l'ancien RBAC propose sept actions que vous pouvez activer ou désactiver. Avec le contrôle d'accès RBAC des fonctionnalités, il en existe quatre :
feeds.delete
,feeds.create
,feeds.update
etfeeds.view
.
Caractéristique | Autorisation dans l'ancien RBAC | Autorisation IAM dans le RBAC des fonctionnalités | Description de l'action de l'utilisateur |
---|---|---|---|
Tableaux de bord | Modifier | chronicle.dashboards.edit |
Modifier les tableaux de bord |
Tableaux de bord | Copier | chronicle.dashboards.copy |
Copier des tableaux de bord |
Tableaux de bord | Créer | chronicle.dashboards.create |
Créer des tableaux de bord |
Tableaux de bord | Planification | chronicle.dashboards.schedule |
Planifier des rapports |
Tableaux de bord | Supprimer | chronicle.dashboards.delete |
Supprimer les rapports |
Tableaux de bord | Aucun Cette fonctionnalité n'est disponible que dans RBAC. | chronicle.dashboards.list |
Répertorier les tableaux de bord disponibles |
Flux | DeleteFeed | chronicle.feeds.delete |
Supprimez un flux. |
Flux | CreateFeed | chronicle.feeds.create |
Créez un flux. |
Flux | UpdateFeed | chronicle.feeds.update |
Mettez à jour un flux. |
Flux | EnableFeed | chronicle.feeds.update |
Mettez à jour un flux. |
Flux | DisableFeed | chronicle.feeds.update |
Mettez à jour un flux. |
Flux | ListFeeds | chronicle.feeds.view |
Renvoyez un ou plusieurs flux. |
Flux | GetFeed | chronicle.feeds.view |
Renvoyez un ou plusieurs flux. |
Procédure de migration des autorisations de contrôle des accès existantes
Une fois que vous avez suivi la procédure de migration d'une instance Google SecOps existante, vous pouvez également migrer votre configuration de contrôle des accès aux fonctionnalités.
Google SecOps fournit des commandes générées automatiquement qui créent de nouvelles règles IAM RBAC de fonctionnalité équivalentes à votre ancienne RBAC, qui est configurée dans Google SecOps, sur la page SIEM Settings (Paramètres du SIEM) > Users and Groups (Utilisateurs et groupes).
Assurez-vous de disposer des autorisations requises décrites dans la section Configurer un projet Google Cloud pour Google SecOps, puis suivez la procédure décrite dans Migrer les autorisations et les rôles existants vers IAM.
Comment les rôles IAM RBAC de fonctionnalité sont mappés aux anciens rôles RBAC
Les informations de mappage de cette section illustrent certaines des différences d'accès pour les rôles prédéfinis avant et après la migration. Bien que les anciens noms de rôles RBAC soient similaires aux rôles prédéfinis IAM RBAC, les actions auxquelles chacun donne accès sont différentes. Cette section présente certaines de ces différences.
Lecteur limité de l'API Chronicle
Ce rôle accorde un accès en lecture seule aux ressources de l'application et de l'API Google SecOps, à l'exception des règles du moteur de détection et des recherches RetroHunt. Le nom du rôle est chronicle.limitedViewer
.
Pour obtenir la liste détaillée des autorisations, consultez l'Afficheur d'API Chronicle.
Lecteur de l'API Chronicle
Ce rôle fournit un accès en lecture seule aux ressources de l'application et de l'API Google SecOps. Le nom du rôle est chronicle.viewer
.
Les autorisations suivantes illustrent certaines des différences entre les rôles RBAC classiques et les rôles RBAC de fonctionnalité similaires. Pour obtenir la liste détaillée des autorisations, consultez l'Afficheur d'API Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.get |
Viewer |
chronicle.ruleDeployments.list |
Viewer |
chronicle.rules.verifyRuleText |
Viewer |
chronicle.rules.get |
Viewer |
chronicle.rules.list |
Viewer |
chronicle.legacies.legacyGetRuleCounts |
Viewer |
chronicle.legacies.legacyGetRulesTrends |
Viewer |
chronicle.rules.listRevisions |
Viewer |
chronicle.legacies.legacyGetCuratedRulesTrends |
Viewer |
chronicle.ruleExecutionErrors.list |
Viewer |
chronicle.curatedRuleSets.get |
Viewer |
chronicle.curatedRuleSetDeployments.get |
Viewer |
chronicle.curatedRuleSets.list |
Viewer |
chronicle.curatedRuleSetDeployments.list |
Viewer |
chronicle.curatedRuleSetCategories.get |
Viewer |
chronicle.curatedRuleSetCategories.list |
Viewer |
chronicle.curatedRuleSetCategories.countAllCuratedRuleSetDetections |
Viewer |
chronicle.curatedRuleSets.countCuratedRuleSetDetections |
Viewer |
chronicle.curatedRules.get |
Viewer |
chronicle.curatedRules.list |
Viewer |
chronicle.referenceLists.list |
Viewer |
chronicle.referenceLists.get |
Viewer |
chronicle.referenceLists.verifyReferenceList |
Viewer |
chronicle.retrohunts.get |
Viewer |
chronicle.retrohunts.list |
Viewer |
chronicle.dashboards.schedule |
Editor |
chronicle.operations.get |
None. This is available in feature RBAC only. |
chronicle.operations.list |
None. This is available in feature RBAC only. |
chronicle.operations.wait |
None. This is available in feature RBAC only. |
chronicle.instances.report |
None. This is available in feature RBAC only. |
chronicle.collectors.get |
None. This is available in feature RBAC only. |
chronicle.collectors.list |
None. This is available in feature RBAC only. |
chronicle.forwarders.generate |
None. This is available in feature RBAC only. |
chronicle.forwarders.get |
None. This is available in feature RBAC only. |
chronicle.forwarders.list |
None. This is available in feature RBAC only. |
Éditeur de l'API Chronicle
Ce rôle permet aux utilisateurs de modifier l'accès aux ressources de l'application et des API Google SecOps. Le nom du rôle est chronicle.editor
.
Les autorisations suivantes illustrent certaines des différences entre les rôles RBAC classiques et les rôles RBAC de fonctionnalité. Pour obtenir une liste détaillée des autorisations, consultez l'éditeur d'API Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.update |
Editor |
chronicle.rules.update |
Editor |
chronicle.rules.create |
Editor |
chronicle.referenceLists.create |
Editor |
chronicle.referenceLists.update |
Editor |
chronicle.rules.runRetrohunt |
Editor |
chronicle.retrohunts.create |
Editor |
chronicle.curatedRuleSetDeployments.batchUpdate |
Editor |
chronicle.curatedRuleSetDeployments.update |
Editor |
chronicle.dashboards.copy |
Editor |
chronicle.dashboards.edit |
Editor |
chronicle.dashboards.create |
Editor |
chronicle.legacies.legacyUpdateFinding |
Editor |
chronicle.dashboards.delete |
Editor |
chronicle.operations.delete |
None. This is available in feature RBAC only. |
Administrateur de l'API Chronicle
Ce rôle offre un accès complet aux services d'API et d'application Google SecOps, y compris aux paramètres globaux. Le nom du rôle est chronicle.admin
.
Les autorisations suivantes illustrent certaines des différences entre les rôles RBAC classiques et les rôles RBAC de fonctionnalité. Pour obtenir la liste détaillée des autorisations, consultez Administrateur de l'API Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.parserExtensions.delete |
Admin |
chronicle.parsers.copyPrebuiltParser |
Admin |
chronicle.extensionValidationReports.get |
Admin |
chronicle.extensionValidationReports.list |
Admin |
chronicle.validationErrors.list |
Admin |
chronicle.parsers.runParser |
Admin |
chronicle.parserExtensions.get |
Admin |
chronicle.parserExtensions.list |
Admin |
chronicle.validationReports.get |
Admin |
chronicle.parserExtensions.create |
Admin |
chronicle.parserExtensions.removeSyslog |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parserExtensions.activate |
Admin |
chronicle.parsers.activateReleaseCandidate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parserExtensions.generateKeyValuechronicle.Mappings |
Admin |
chronicle.parserExtensions.legacySubmitParserExtension |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.list |
Admin |
chronicle.parsers.create |
Admin |
chronicle.parsers.delete |
Admin |
chronicle.feeds.delete |
Admin |
chronicle.feeds.create |
Admin |
chronicle.feeds.update |
Admin |
chronicle.feeds.enable |
Admin |
chronicle.feeds.disable |
Admin |
chronicle.feeds.list |
Admin |
chronicle.feeds.get |
Admin |
chronicle.feedSourceTypeSchemas.list |
Admin |
chronicle.logTypeSchemas.list |
Admin |
chronicle.operations.cancel |
Editor |
chronicle.collectors.create |
None. This is available in feature RBAC only. |
chronicle.collectors.delete |
None. This is available in feature RBAC only. |
chronicle.collectors.update |
None. This is available in feature RBAC only. |
chronicle.forwarders.create |
None. This is available in feature RBAC only. |
chronicle.forwarders.delete |
None. This is available in feature RBAC only. |
chronicle.forwarders.update |
None. This is available in feature RBAC only. |
chronicle.parsingErrors.list |
None. This is available in feature RBAC only. |