Configurer le contrôle des accès aux fonctionnalités à l'aide d'IAM
Le RBAC des fonctionnalités contrôle l'accès des utilisateurs à des fonctionnalités spécifiques d'un système et détermine les fonctionnalités auxquelles les utilisateurs peuvent accéder en fonction de leurs rôles. Cette page explique comment configurer le contrôle des accès fonctionnalités dans Google Security Operations.
Dans ce document, le terme RBAC hérité fait référence au système de contrôle des accès précédemment disponible, configuré à l'aide de Google SecOps et non d'Identity and Access Management (IAM). Le RBAC des fonctionnalités décrit le contrôle des accès basé sur les fonctionnalités que vous configurez à l'aide d'IAM.
Google SecOps s'intègre à Google Cloud IAM 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 associent 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 :
- Décrit comment Google SecOps s'intègre à IAM.
- Explique en quoi les rôles RBAC des fonctionnalités diffèrent des anciens rôles RBAC.
- Indique comment migrer une instance Google SecOps vers la fonctionnalité 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 courantes 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 Chronicle. Lorsqu'une autorisation est accordée à un utilisateur ou à un groupe, l'utilisateur 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 lié à un projet Google Cloudet configuré avec Cloud Identity, Google Workspace ou la fédération des identités des employés Google Cloud comme intermédiaire dans le flux d'authentification vers 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 :
- Une fois 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 règles 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'autorisations définies qui contrôlent si un utilisateur peut accéder à la fonctionnalité. Une seule stratégie IAM contrôle l'accès à la fonctionnalité à l'aide de l'interface Web et de l'API.
S'il existe d'autres services Google Cloud dans le projet Google Cloud lié à Google SecOps et que vous souhaitez limiter un utilisateur disposant du rôle "Administrateur IAM du projet" à la modification des ressources Google SecOps uniquement, veillez à ajouter des conditions IAM à la stratégie d'autorisation. Pour obtenir un exemple, 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 bien 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 Associer Google SecOps à un projet pour configurer un projet à associer à Google SecOps. Google Cloud
- 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 Intégrer Google SecOps à un fournisseur d'identité tiers pour configurer l'authentification via un fournisseur d'identité (IdP) tiers.
- 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 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 de 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 de celles des rôles SecOps Google 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 Créer et gérer des rôles personnalisés.
Récapitulatif 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 Security Operations 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 Autorisations Chronicle dans IAM.
Rôles prédéfinis Google SecOps dans IAM
Google SecOps 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 SecOps, y compris aux paramètres généraux. |
roles/chronicle.editor |
Éditeur de l'API Chronicle | Accès permettant de modifier les ressources de l'application et de l'API Google SecOps. |
roles/chronicle.viewer |
Lecteur de l'API Chronicle | Accès en lecture seule aux ressources de l'application et de l'API Google SecOps |
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 SecOps, à l'exclusion des règles et des recherches RetroHunt du moteur de détection. |
Autorisations Google SecOps dans IAM
Les autorisations Google SecOps correspondent une à une aux méthodes de l'API Chronicle. Chaque autorisation Google SecOps permet 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 Chronicle.dashboards
: nom de la fonctionnalité.edit
: action pouvant être effectuée sur la fonctionnalité.
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>
est utilisé pour représenter l'ID du projet que vous avez associé à Google SecOps.
Une fois l'API Chronicle activée, les rôles et autorisations prédéfinis Google SecOps sont disponibles dans IAM. Vous pouvez créer des règles pour répondre aux exigences de l'organisation.
Si vous venez de créer une instance Google SecOps, commencez à créer des règles IAM pour répondre aux exigences de l'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 dans le projet, et effectuer les tâches accordées par le rôle 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 lié à 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 de projet IAM.
- 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 Google Cloud CLI
L'exemple de commande suivant montre comment accorder à un utilisateur le rôle chronicle.admin
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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.WORKFORCE_POOL_ID
: identifiant du pool d'employés créé pour votre fournisseur d'identité.USER_EMAIL
: Adresse e-mail de l'utilisateur.
L'exemple de commande suivant montre comment accorder 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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.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 lié à 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 à une autre fin.
Dans ce cas, vous pouvez accorder le rôle Administrateur IAM du projet à 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 IAM à la liaison de rôle pour limiter leur accès aux rôles liés à Google SecOps 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 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 lié à 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 Accorder l'accès à
<project>
, sous la section Ajouter des comptes principaux, saisissez l'adresse e-mail de l'utilisateur 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 de projet IAM.
- 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 Google Cloud CLI
L'exemple de commande suivant montre comment accorder à un utilisateur le rôle chronicle.admin
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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.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 accorder à un groupe le rôle chronicle.admin
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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.USER_EMAIL
: adresse e-mail de l'utilisateur, par exemplebob@example.com
.
Exemple : Attribuer le rôle d'éditeur de l'API Chronicle à un utilisateur
Dans ce cas, vous souhaitez permettre à un utilisateur de modifier l'accès aux ressources de l'API Chronicle.
Attribuer le rôle à l'aide de la console Google Cloud
- Ouvrez la console Google Cloud .
- Sélectionnez le projet lié à 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, saisissez l'adresse e-mail de l'utilisateur 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 Éditeur de l'API Chronicle.
- 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 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é 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.editor
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.WORKFORCE_POOL_ID
: identifiant du pool d'employés créé pour votre fournisseur d'identité.USER_EMAIL
: Adresse e-mail de l'utilisateur.L'exemple de commande suivant montre comment accorder à un utilisateur le rôle
chronicle.editor
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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.WORKFORCE_POOL_ID
: identifiant du pool d'employés créé pour votre fournisseur d'identité.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 qui répond au cas d'utilisation de votre organisation, vous pouvez créer un rôle personnalisé et lui attribuer des autorisations Google SecOps. 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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.YAML_FILE_NAME
: nom du fichier que vous avez créé à l'étape précédente.ROLE_NAME
: nom du rôle personnalisé tel qu'il est défini dans le fichier YAML.
Attribuez le rôle personnalisé à l'aide de Google Cloud CLI.
L'exemple de commande suivant montre comment accorder le rôle personnalisé
limitedAdmin
à un groupe d'utilisateurs 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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.WORKFORCE_POOL_ID
: identifiant du pool de personnel créé pour votre fournisseur d'identité.GROUP_ID
: identifiant du groupe créé dans la fédération d'identité de personnel. Pour en savoir plus sur l'identifiant de groupe créé dans la fédération d'identité de personnel, consultez Représenter les utilisateurs de pools de personnel dans les stratégies IAM. Pour en savoir plus surGROUP_ID
, consultez Représenter les utilisateurs de pools de personnel dans les stratégies IAM.
L'exemple de commande suivant montre comment accorder le rôle personnalisé
limitedAdmin
à un groupe d'utilisateurs 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 lié à Google SecOps que vous avez créé dans Associer une instance Google SecOps à un projet Google Cloud . Pour obtenir une description des champs permettant d'identifier un projet, consultez Créer et gérer des projets.WORKFORCE_POOL_ID
: identifiant du pool de personnel créé pour votre fournisseur d'identité.GROUP_ID
: identifiant du groupe créé dans la fédération d'identité de personnel. Pour en savoir plus sur l'identifiant de groupe créé dans la fédération d'identité de personnel, consultez Représenter les utilisateurs de pools de personnel dans les stratégies IAM. Pour en savoir plus surGROUP_ID
, consultez 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 Chronicle sont enregistrées en tant que Cloud Audit Logs. Pour vérifier que les 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.
- Effectuez une action, comme une recherche.
- Dans la console Google Cloud , utilisez l'explorateur de journaux pour afficher les journaux d'audit dans le projet Cloud lié à Google SecOps. Les journaux d'audit Google SecOps utilisent le nom de service
chronicle.googleapis.com
.
Pour savoir comment afficher Cloud Audit Logs, consultez Informations sur la journalisation des audits 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 RBAC 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 de l'ancien système RBAC vers le RBAC basé sur les fonctionnalités.
Après la migration vers le RBAC basé sur les fonctionnalités, vous pouvez également auditer l'activité sur l'instance Google SecOps à l'aide de Cloud Audit Logs.
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 des fonctionnalités soient semblables à ceux des anciens rôles RBAC, ils ne fournissent pas un accès identique aux fonctionnalités. Les autorisations attribuées à chaque rôle RBAC de fonctionnalité prédéfini sont légèrement différentes. Pour en savoir plus, consultez Comment les rôles IAM RBAC des fonctionnalités 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 ensemble d'autorisations différent.
Une fois l'instance Google SecOps migrée, vous gérez les rôles, les autorisations et les stratégies RBAC des fonctionnalités à l'aide d'IAM dans la console Google Cloud . Les pages suivantes de l'application Google SecOps ont été 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 de la ressource et la méthode. Le tableau suivant illustre la différence avec deux exemples, l'un lié aux tableaux de bord et l'autre aux flux.
Exemple de tableau de bord : pour contrôler l'accès aux tableaux de bord, l'ancien RBAC fournit cinq actions que vous pouvez effectuer sur les tableaux de bord. Le RBAC des 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 fournit sept actions que vous pouvez activer ou désactiver. Avec le RBAC des fonctionnalités, il y en a quatre :
feeds.delete
,feeds.create
,feeds.update
etfeeds.view
.
Fonctionnalité | 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 option n'est disponible que dans le RBAC basé sur les fonctionnalités. | chronicle.dashboards.list |
Lister 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 |
Renvoie un ou plusieurs flux. |
Flux | GetFeed | chronicle.feeds.view |
Renvoie un ou plusieurs flux. |
Étapes à suivre pour migrer les autorisations de contrôle des accès existantes
Après avoir suivi les étapes pour migrer 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 des règles IAM RBAC pour les nouvelles fonctionnalités équivalentes à votre RBAC hérité, qui est configuré dans Google SecOps, sur la page Paramètres SIEM > Utilisateurs et groupes.
Assurez-vous de disposer des autorisations requises décrites dans Configurer un projet Google Cloud pour Google SecOps, puis suivez les étapes de Migrer les autorisations et les rôles existants vers IAM.
Mappage des rôles IAM RBAC des fonctionnalités avec les anciens rôles RBAC
Les informations de mappage de cette section illustrent certaines différences d'accès pour les rôles prédéfinis avant et après la migration. Bien que les noms des anciens rôles RBAC soient semblables à ceux des rôles prédéfinis IAM RBAC pour les fonctionnalités, 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 à l'application et aux ressources de l'API Google SecOps, à l'exclusion des règles et des recherches RetroHunt du moteur de détection. Le nom du rôle est chronicle.limitedViewer
.
Pour obtenir la liste détaillée des autorisations, consultez Chronicle API Viewer.
Lecteur de l'API Chronicle
Ce rôle fournit un accès en lecture seule à l'application et aux ressources d'API Google SecOps. Le nom du rôle est chronicle.viewer
.
Les autorisations suivantes illustrent certaines des différences entre les anciens rôles RBAC et les rôles RBAC par fonctionnalité similaires. Pour obtenir la liste détaillée des autorisations, consultez Chronicle API Viewer.
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 de l'API Google SecOps. Le nom du rôle est chronicle.editor
.
Les autorisations suivantes illustrent certaines des différences entre les anciens rôles RBAC et les rôles RBAC par fonctionnalité similaires. Pour obtenir la liste détaillée des autorisations, consultez Éditeur de l'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 fournit un accès complet à l'application et aux services d'API Google SecOps, y compris aux paramètres généraux. Le nom du rôle est chronicle.admin
.
Les autorisations suivantes illustrent certaines des différences entre les anciens rôles RBAC et les rôles RBAC par fonctionnalité similaires. 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. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.