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 de la gestion de l'authentification et des accès (IAM). Le Contrôle des accès 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 effectue les opérations suivantes:
- 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 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'un utilisateur ou un groupe obtient une autorisation, il peut : accéder à la fonctionnalité dans Google SecOps et envoyer une requête à l'aide de la méthode 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 à la page de l'application. L'utilisateur peut également envoyer une requête API à Google SecOps.
- Google SecOps vérifie les autorisations accordées dans le 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'opération 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 l'accès d'un utilisateur à 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 dans le projet Google Cloud sont liés à Google SecOps, et que vous souhaitez limiter un utilisateur doté du rôle d'administrateur IAM de projet modifier uniquement les ressources Google SecOps, veillez à ajouter à la règle d'autorisation. Consultez Attribuer des rôles à des utilisateurs et à des groupes. pour obtenir un exemple.
Les administrateurs adaptent l'accès aux fonctionnalités Google SecOps en fonction au sein de 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 avec les concepts suivants:
<ph type="x-smartling-placeholder">
- </ph>
- 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 Google Cloud. pour configurer un projet associé à 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 pour l'authentification les exigences de déploiement. Vous pouvez utiliser les rôles prédéfinis 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 Stratégies IAM différentes des stratégies Google SecOps prédéfinies vous pouvez créer 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
Dans la section Recherchez 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. Au-dessous
la section Rôles prédéfinis, sélectionnez le service Rôles API Chronicle
ou recherchez le terme chronicle
.
Pour plus d'informations sur les méthodes et les autorisations des API, pages où des autorisations sont utilisées et informations enregistrées dans Cloud Audit Logs lorsque l'API est appelée, consultez la section 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 | Accès permettant de modifier l'application Google Security Operations et les ressources d'API. |
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 à l'application et à l'API Google Security Operations à l'exception des règles de détection du moteur et des recherches rétroactives. |
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
est composé des
suivantes:
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 créer des rôles IAM
règles. Le terme <project>
représente l'ID du projet que vous avez associé à Google SecOps.
Une fois l'API Chronicle activée, les rôles prédéfinis Google SecOps et autorisations sont disponibles dans IAM, et vous pouvez créer des stratégies 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 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 à l'administrateur IAM du projet à un utilisateur afin qu'il puisse accorder et modifier le rôle IAM du projet et liaisons IAM. 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 le menu Sélectionnez un rôle de la section Attribuer des rôles, sélectionnez le rôle Administrateur IAM de 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
lors de l'utilisation de la fédération des identités des employés.
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 du projet que vous avez créé dans la section Lier 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é.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 d'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 à 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 Présentation des conditions IAM 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 accorder le rôle chronicle.admin
à un utilisateur
et appliquer des conditions IAM lorsque vous utilisez la fédération des identités des employés.
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 Créer et gérer des projets. pour obtenir la description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de personnel 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 lié à Google SecOps du projet que vous avez créé dans la section Lier 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 autoriser un utilisateur à 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
lors de l'utilisation de la fédération des identités des employés.
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 du projet que vous avez créé dans la section Lier 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 d'employés 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.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 lié à Google SecOps du projet que vous avez créé dans la section Lier une instance Google SecOps à un projet Google Cloud. Consultez Créer et gérer des projets. pour obtenir la description des champs qui identifient un projet.WORKFORCE_POOL_ID
: identifiant du pool de ressources humaines 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épondent au cas d'utilisation de votre organisation, vous pouvez créer un rôle personnalisé les autorisations Google SecOps à ce rôle personnalisé. 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.getIamPolicy
Créez le rôle personnalisé. Voici un exemple de commande de gcloud CLI montre comment créer ce rôle personnalisé à l'aide du fichier YAML que vous avez créé dans à 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 Créer et gérer des projets. pour obtenir la 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 de la CLI Google Cloud.
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 d'employés créé pour votre fournisseur d'identité.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 d'identité de personnel, 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 lié à Google SecOps du projet que vous avez créé dans la section Lier 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 d'employés créé pour votre fournisseur d'identité.GROUP_ID
: identifiant de groupe créé dans les employés la fédération d'identité. Pour en savoir plus, consultez Représenter les utilisateurs du pool d'employés dans les stratégies IAM. sur l'identifiant de groupe créé dans les instances la fédération d'identité. Pour en savoir plus, consultez Représenter les utilisateurs du pool d'employés dans les stratégies IAM. concernantGROUP_ID
.
Vérifier la journalisation d'audit
Actions des utilisateurs dans Google SecOps et requêtes adressées à l'API Google SecOps sont enregistrés sous forme de journaux Cloud Audit Logs. Pour vérifier que des journaux sont écrits, procédez comme suit :
- Connectez-vous à Google SecOps en tant qu'utilisateur disposant de droits d'accès aux 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
projet Cloud lié à Google SecOps. Les journaux d'audit Google SecOps portent le nom de service suivant :
chronicle.googleapis.com
.
Pour savoir comment afficher les journaux d'audit Cloud, consultez la section Informations sur la journalisation d'audit Google SecOps.
Voici un exemple de journal écrit lorsque l'utilisateur alice@example.com
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 des fonctionnalités
Bien que les noms des rôles prédéfinis RBAC des fonctionnalités soient semblables à l'ancien RBAC les rôles prédéfinis RBAC fournissent un accès aux fonctionnalités identique à celui des anciens rôles RBAC. Les autorisations attribuées à chaque rôle RBAC des fonctionnalités prédéfinies 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 gérez les rôles, les autorisations et de fonctionnalités RBAC à 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 de la fonctionnalité RBAC sont décrites par le nom de ressource et de la méthode. Le tableau suivant illustre la différence avec deux exemples : l'une liée 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 propose cinq actions que vous pouvez effectuer sur les tableaux de bord. La fonctionnalité RBAC fournit des autorisations IAM similaires avec un autre,
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 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 de fonctionnalité | 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 les 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 |
Lister les tableaux de bord disponibles |
Flux | DeleteFeed | chronicle.feeds.delete |
Supprimer un flux. |
Flux | CreateFeed | chronicle.feeds.create |
Créez un flux. |
Flux | UpdateFeed | chronicle.feeds.update |
Mettre à 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 aux stratégies IAM RBAC équivalentes à l'ancien RBAC configuré dans Google SecOps, dans la section Paramètres SIEM > 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 à l'application Google SecOps et aux ressources d'API,
à l'exclusion des règles du moteur
de détection et des recherches rétroactives. Le nom du rôle est chronicle.limitedViewer
.
Pour obtenir une liste détaillée des autorisations, consultez la page Lecteur de l'API Chronicle.
Lecteur de l'API Chronicle
Ce rôle fournit un accès en lecture seule à l'application et à l'API Google SecOps
ressources. Le nom du rôle est chronicle.viewer
.
Les autorisations suivantes illustrent certaines des différences entre des autorisations les rôles RBAC existants et aux fonctionnalités RBAC. 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 à l'application et à l'API Google SecOps
ressources. 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. |