Funktionszugriffssteuerung mit IAM konfigurieren
Mit der rollenbasierten Zugriffssteuerung (RBAC) für Funktionen wird der Nutzerzugriff auf bestimmte Funktionen oder Funktionalitäten innerhalb eines Systems gesteuert. Außerdem wird festgelegt, welche Funktionen für Nutzer basierend auf ihren Rollen zugänglich sind. Auf dieser Seite wird beschrieben, wie Sie die Zugriffssteuerung für Funktionen in Google Security Operations konfigurieren.
In diesem Dokument wird der Begriff Legacy-RBAC verwendet, wenn auf das zuvor verfügbare Zugriffssteuerungssystem verwiesen wird, das mit Google SecOps und nicht mit Identity and Access Management (IAM) konfiguriert wird. Funktions-RBAC wird verwendet, um die funktionsbasierte Zugriffssteuerung zu beschreiben, die Sie mit IAM konfigurieren.
Google SecOps ist in Google Cloud IAM eingebunden, um Google SecOps-spezifische Berechtigungen und vordefinierte Rollen bereitzustellen. Google SecOps-Administratoren können den Zugriff auf Funktionen steuern, indem sie IAM-Richtlinien erstellen, die Nutzer oder Gruppen an vordefinierte Rollen binden, oder benutzerdefinierte IAM-Rollen erstellen. Mit dieser Funktion wird der Zugriff auf bestimmte UDM-Datensätze oder Felder in einem UDM-Datensatz nicht gesteuert.
In diesem Dokument wird Folgendes beschrieben:
- Beschreibt, wie Google SecOps in IAM eingebunden ist.
- Hier wird erläutert, wie sich die RBAC-Rollen für Funktionen von den alten RBAC-Rollen unterscheiden.
- Hier finden Sie eine Anleitung zum Migrieren einer Google SecOps-Instanz zur Verwendung von RBAC.
- Enthält Beispiele für die Zuweisung von Berechtigungen mit IAM.
- Hier finden Sie eine Zusammenfassung der in IAM verfügbaren Berechtigungen und vordefinierten Rollen.
Eine Liste der häufig verwendeten Google SecOps-Berechtigungen und der zugehörigen Audit-Logs finden Sie unter Berechtigungen und API-Methoden nach Ressourcengruppe. Eine Liste aller Google SecOps-Berechtigungen finden Sie in der Referenz zu Identity and Access Management-Berechtigungen.
Jede Google SecOps-Berechtigung ist einer Chronicle API-Ressource und -Methode zugeordnet. Wenn einem Nutzer oder einer Gruppe eine Berechtigung erteilt wird, kann der Nutzer in Google SecOps auf die Funktion zugreifen und eine Anfrage über die zugehörige API-Methode senden.
Integration von Google SecOps in IAM
Für die Verwendung von IAM muss Google SecOps an ein Google CloudProjekt gebunden und entweder mit Cloud Identity, Google Workspace oder Google Cloud der Mitarbeiteridentitätsföderation als Vermittler im Authentifizierungsablauf zu einem Drittanbieter-Identitätsanbieter konfiguriert werden. Informationen zum Authentifizierungsablauf von Drittanbietern finden Sie unter Google SecOps in einen Drittanbieter-Identitätsanbieter einbinden.
Google SecOps führt die folgenden Schritte aus, um den Zugriff auf Funktionen zu prüfen und zu steuern:
- Nach der Anmeldung bei Google SecOps greift ein Nutzer auf eine Google SecOps-Anwendungsseite zu. Alternativ kann der Nutzer eine API-Anfrage an Google SecOps senden.
- Google SecOps überprüft die Berechtigungen, die in den für diesen Nutzer definierten IAM-Richtlinien gewährt werden.
- IAM gibt die Autorisierungsinformationen zurück. Wenn der Nutzer auf eine Anwendungsseite zugegriffen hat, ermöglicht Google SecOps den Zugriff nur auf die Funktionen, für die der Nutzer Zugriff hat.
- Wenn der Nutzer eine API-Anfrage gesendet hat und keine Berechtigung zum Ausführen der angeforderten Aktion hat, enthält die API-Antwort einen Fehler. Andernfalls wird eine Standardantwort zurückgegeben.
Google SecOps bietet eine Reihe vordefinierter Rollen mit einem definierten Satz von Berechtigungen, mit denen gesteuert wird, ob ein Nutzer auf die Funktion zugreifen kann. Die einzelne IAM-Richtlinie steuert den Zugriff auf die Funktion über die Weboberfläche und die API.
Wenn im Google Cloud Projekt andere Google Cloud Dienste an Google SecOps gebunden sind und Sie einen Nutzer mit der Rolle „Projekt-IAM-Administrator“ darauf beschränken möchten, nur die Google SecOps-Ressourcen zu ändern, müssen Sie der Zulassungsrichtlinie IAM-Bedingungen hinzufügen. Ein Beispiel dafür finden Sie unter Nutzern und Gruppen Rollen zuweisen.
Administratoren passen den Zugriff auf Google SecOps-Funktionen basierend auf der Rolle eines Mitarbeiters in Ihrer Organisation an.
Hinweise
- Sie sollten mit Cloud Shell, dem gcloud CLI-Befehl und der Google Cloud Console vertraut sein.
- Machen Sie sich mit IAM vertraut, einschließlich der folgenden Konzepte:
- Übersicht über IAM
- Rollen und Berechtigungen, vordefinierte Rollen im Vergleich zu benutzerdefinierten Rollen und benutzerdefinierte Rollen erstellen – Übersicht
- IAM-Bedingungen
- Führen Sie alle Schritte unter Google SecOps an ein Google Cloud -Projekt binden aus, um ein Projekt einzurichten, das an Google SecOps gebunden wird.
- Konfigurieren Sie Ihren Identitätsanbieter mit einer der folgenden Optionen:
- Google Cloud -Identitätsanbieter konfigurieren
- Führen Sie alle Schritte unter Google SecOps in einen externen Identitätsanbieter einbinden aus, um die Authentifizierung über einen externen Identitätsanbieter (IdP) einzurichten.
- Binden Sie ein Projekt an Ihre Google SecOps-Instanz und konfigurieren Sie den Identitätsanbieter.
- Prüfen Sie, ob Sie die Berechtigungen zum Ausführen der Schritte in diesem Dokument haben. Informationen zu den erforderlichen Berechtigungen für die einzelnen Phasen des Onboarding-Prozesses finden Sie unter Erforderliche Rollen.
Implementierung planen
Erstellen Sie IAM-Richtlinien, die die Bereitstellungsanforderungen Ihrer Organisation unterstützen. Sie können entweder vordefinierte Google SecOps-Rollen oder benutzerdefinierte Rollen verwenden, die Sie erstellen.
Prüfen Sie die Liste der vordefinierten Google SecOps-Rollen und ‑Berechtigungen anhand der Anforderungen Ihrer Organisation. Legen Sie fest, welche Mitglieder Ihrer Organisation Zugriff auf die einzelnen Google SecOps-Funktionen haben sollen. Wenn Ihre Organisation IAM-Richtlinien benötigt, die sich von den vordefinierten Google SecOps-Rollen unterscheiden, erstellen Sie benutzerdefinierte Rollen, um diese Anforderungen zu erfüllen. Informationen zu benutzerdefinierten IAM-Rollen finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.
Zusammenfassung der Google SecOps-Rollen und -Berechtigungen
In den folgenden Abschnitten finden Sie eine allgemeine Zusammenfassung der vordefinierten Rollen.
Die aktuelle Liste der Google SecOps-Berechtigungen finden Sie in der Referenz für IAM-Berechtigungen. Suchen Sie im Abschnitt Nach Berechtigung suchen nach dem Begriff chronicle
.
Die aktuelle Liste der vordefinierten Google Security Operations-Rollen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen. Wählen Sie im Bereich Vordefinierte Rollen entweder den Dienst Chronicle API-Rollen aus oder suchen Sie nach dem Begriff chronicle
.
Informationen zu API-Methoden und -Berechtigungen, den Seiten, auf denen Berechtigungen verwendet werden, und Informationen, die in Cloud-Audit-Logs aufgezeichnet werden, wenn die API aufgerufen wird, finden Sie unter Chronicle-Berechtigungen in IAM.
Vordefinierte Google SecOps-Rollen in IAM
Google SecOps bietet die folgenden vordefinierten Rollen, wie sie in IAM angezeigt werden.
Vordefinierte Rolle in IAM | Titel | Beschreibung |
---|---|---|
roles/chronicle.admin |
Chronicle API-Administrator | Vollständiger Zugriff auf die Google SecOps-Anwendung und API-Dienste, einschließlich globaler Einstellungen. |
roles/chronicle.editor |
Chronicle API Editor | Zugriff auf Google SecOps-Anwendungs- und API-Ressourcen ändern. |
roles/chronicle.viewer |
Chronicle API-Betrachter | Lesezugriff auf Google SecOps-Anwendungs- und API-Ressourcen |
roles/chronicle.limitedViewer |
Chronicle API Limited Viewer | Gewährt Lesezugriff auf Google SecOps-Anwendungs- und API-Ressourcen, mit Ausnahme von Regeln und RetroHunts für die Erkennungs-Engine. |
Google SecOps-Berechtigungen in IAM
Google SecOps-Berechtigungen entsprechen eins zu eins den Chronicle-API-Methoden. Jede Google SecOps-Berechtigung ermöglicht eine bestimmte Aktion für eine bestimmte Google SecOps-Funktion bei Verwendung der Webanwendung oder der API. Google SecOps-APIs, die mit IAM verwendet werden, befinden sich in der Alpha-Phase.
Google SecOps-Berechtigungsnamen folgen dem Format SERVICE.FEATURE.ACTION
.
Der Berechtigungsname chronicle.dashboards.edit
besteht beispielsweise aus Folgendem:
chronicle
: Der Name des Chronicle API-Dienstes.dashboards
: der Name des Features.edit
: Die Aktion, die für das Feature ausgeführt werden kann.
Der Berechtigungsname beschreibt die Aktion, die Sie für die Funktion in Google SecOps ausführen können. Alle Google SecOps-Berechtigungen haben den Dienstnamen chronicle
.
Nutzern und Gruppen Rollen zuweisen
In den folgenden Abschnitten finden Sie Beispielanwendungsfälle für das Erstellen von IAM-Richtlinien. Der Begriff <project>
steht für die Projekt-ID des Projekts, das Sie an Google SecOps gebunden haben.
Nachdem Sie die Chronicle API aktiviert haben, sind die vordefinierten Google SecOps-Rollen und -Berechtigungen in IAM verfügbar. Sie können Richtlinien erstellen, um die Anforderungen der Organisation zu erfüllen.
Wenn Sie eine neu erstellte Google SecOps-Instanz haben, beginnen Sie mit dem Erstellen von IAM-Richtlinien, um die Organisationsanforderungen zu erfüllen.
Wenn es sich um eine vorhandene Google SecOps-Instanz handelt, finden Sie unter Google SecOps zu IAM für die Zugriffssteuerung von Funktionen migrieren Informationen zur Migration der Instanz zu IAM.
Beispiel: Die Rolle „Project IAM Admin“ in einem dedizierten Projekt zuweisen
In diesem Beispiel ist das Projekt Ihrer Google SecOps-Instanz gewidmet. Sie weisen einem Nutzer die Rolle Projekt-IAM-Administrator zu, damit er die IAM-Rollenbindungen des Projekts zuweisen und ändern kann. Der Nutzer kann alle Google SecOps-Rollen und -Berechtigungen im Projekt verwalten und Aufgaben ausführen, die durch die Rolle Projekt-IAM-Administrator gewährt werden.
Rolle über die Google Cloud Console zuweisen
In den folgenden Schritten wird beschrieben, wie Sie einem Nutzer mithilfe der Google Cloud -Konsole eine Rolle zuweisen.
- Öffnen Sie die Google Cloud Konsole.
- Wählen Sie das Projekt aus, das an Google SecOps gebunden ist.
- Wählen Sie IAM & Admin.
- Wählen Sie Zugriff gewähren aus. Das Dialogfeld Zugriff auf
<project>
gewähren wird angezeigt. - Geben Sie im Bereich Hauptkonten hinzufügen die E-Mail-Adresse des verwalteten Kontos in das Feld Neue Hauptkonten ein.
- Wählen Sie im Bereich Rollen zuweisen im Menü Rolle auswählen die Rolle Projekt-IAM-Administrator aus.
- Klicken Sie auf Speichern.
- Öffnen Sie die Seite IAM > Berechtigungen, um zu prüfen, ob dem Nutzer die richtige Rolle zugewiesen wurde.
Rolle mit der Google Cloud CLI zuweisen
Das folgende Beispiel zeigt, wie Sie einem Nutzer die Rolle chronicle.admin
zuweisen, wenn Sie die Mitarbeiter-Identitätsföderation verwenden.
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
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.WORKFORCE_POOL_ID
: Die Kennung für den Mitarbeiterpool, der für Ihren Identitätsanbieter erstellt wurde.USER_EMAIL
: Die E-Mail-Adresse des Nutzers.
Das folgende Beispiel zeigt, wie Sie einer Gruppe die Rolle chronicle.admin
zuweisen, wenn Sie Cloud Identity oder Google Workspace verwenden.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "user:USER_EMAIL" \
--role=roles/chronicle.admin
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.USER_EMAIL
: Die E-Mail-Adresse des Nutzers.
Beispiel: Rolle „Project IAM Admin“ in einem freigegebenen Projekt zuweisen
In diesem Beispiel wird das Projekt für mehrere Anwendungen verwendet. Sie ist an eine Google SecOps-Instanz gebunden und führt Dienste aus, die nicht mit Google SecOps zusammenhängen. Beispielsweise eine Compute Engine-Ressource, die für einen anderen Zweck verwendet wird.
In diesem Fall können Sie einem Nutzer die Rolle Projekt-IAM-Administrator zuweisen, damit er die IAM-Rollenbindungen des Projekts zuweisen und ändern und Google SecOps konfigurieren kann. Außerdem fügen Sie der Rollenbindung IAM-Mitglieder hinzu, um ihren Zugriff auf Google SecOps-bezogene Rollen im Projekt zu beschränken. Dieser Nutzer kann nur Rollen zuweisen, die in der IAM-Bedingung angegeben sind.
Weitere Informationen zu IAM Conditions finden Sie unter Übersicht über IAM Conditions und Bedingte Rollenbindungen verwalten.
Rolle über die Google Cloud Console zuweisen
In den folgenden Schritten wird beschrieben, wie Sie einem Nutzer mithilfe der Google Cloud -Konsole eine Rolle zuweisen.
- Öffnen Sie die Google Cloud Konsole.
- Wählen Sie das Projekt aus, das an Google SecOps gebunden ist.
- Wählen Sie IAM & Admin.
- Wählen Sie Zugriff gewähren aus. Das Dialogfeld Zugriff auf
<project>
gewähren wird angezeigt. - Geben Sie im Dialogfeld Zugriff auf
<project>
gewähren im Bereich Hauptkonten hinzufügen die E-Mail-Adresse des Nutzers in das Feld Neue Hauptkonten ein. - Wählen Sie im Bereich Rollen zuweisen im Menü Rolle auswählen die Rolle Projekt-IAM-Administrator aus.
- Klicken Sie auf + IAM-Bedingung hinzufügen.
- Geben Sie im Dialogfeld Bedingung hinzufügen die folgenden Informationen ein:
- Geben Sie einen Titel für die Bedingung ein.
- Wählen Sie den Bedingungseditor aus.
- Geben Sie die folgende Bedingung ein:
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])
- Klicken Sie im Dialogfeld Bedingung hinzufügen auf Speichern.
- Klicken Sie im Dialogfeld Zugriff auf
<project>
gewähren auf Speichern. - Öffnen Sie die Seite IAM > Berechtigungen, um zu prüfen, ob dem Nutzer die richtige Rolle zugewiesen wurde.
Rolle mit der Google Cloud CLI zuweisen
Das folgende Beispiel zeigt, wie Sie einem Nutzer die Rolle chronicle.admin
zuweisen und IAM-Bedingungen anwenden, wenn Sie die Workforce Identity-Föderation verwenden.
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'
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.WORKFORCE_POOL_ID
: Die Kennung für den Personalpool, der für Ihren Identitätsanbieter erstellt wurde.USER_EMAIL
: Die E-Mail-Adresse des Nutzers.
Im folgenden Beispielbefehl wird gezeigt, wie Sie einer Gruppe die Rolle chronicle.admin
zuweisen und IAM-Bedingungen anwenden, wenn Sie Cloud Identity oder Google Workspace verwenden.
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'
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.USER_EMAIL
: die E-Mail-Adresse des Nutzers, z. B.bob@example.com
.
Beispiel: Einem Nutzer die Rolle „Chronicle API Editor“ zuweisen
In diesem Fall möchten Sie einem Nutzer die Möglichkeit geben, den Zugriff auf Chronicle API-Ressourcen zu ändern.
Rolle über die Google Cloud Console zuweisen
- Öffnen Sie die Google Cloud Konsole.
- Wählen Sie das Projekt aus, das an Google SecOps gebunden ist.
- Wählen Sie IAM & Admin.
- Wählen Sie Zugriff gewähren aus. Das Dialogfeld Zugriff auf
<project>
erlauben wird geöffnet. - Geben Sie im Bereich Hauptkonten hinzufügen im Feld Neue Hauptkonten die E-Mail-Adresse des Nutzers ein.
- Wählen Sie im Abschnitt Rollen zuweisen im Menü Rolle auswählen die Rolle Chronicle API Editor aus.
- Klicken Sie im Dialogfeld Zugriff auf
<project>
gewähren auf Speichern. - Öffnen Sie die Seite IAM > Berechtigungen, um zu prüfen, ob dem Nutzer die richtige Rolle zugewiesen wurde.
Rolle mit der Google Cloud CLI zuweisen
Das folgende Beispiel zeigt, wie Sie einem Nutzer die Rolle chronicle.editor
zuweisen, wenn Sie die Workforce Identity-Föderation verwenden.
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
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.WORKFORCE_POOL_ID
: Die Kennung für den Mitarbeiterpool, der für Ihren Identitätsanbieter erstellt wurde.USER_EMAIL
: Die E-Mail-Adresse des Nutzers.Das folgende Beispiel zeigt, wie Sie einem Nutzer die Rolle
chronicle.editor
zuweisen, wenn Sie Cloud Identity oder Google Workspace verwenden.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.editor
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.WORKFORCE_POOL_ID
: Die Kennung für den Mitarbeiterpool, der für Ihren Identitätsanbieter erstellt wurde.USER_EMAIL
: Die E-Mail-Adresse des Nutzers.
Beispiel: Benutzerdefinierte Rolle für eine Gruppe erstellen und zuweisen
Wenn die vordefinierten Google SecOps-Rollen nicht die Berechtigungen enthalten, die für den Anwendungsfall Ihrer Organisation erforderlich sind, können Sie eine benutzerdefinierte Rolle erstellen und ihr Google SecOps-Berechtigungen zuweisen. Sie weisen die benutzerdefinierte Rolle einem Nutzer oder einer Gruppe zu. Weitere Informationen zu benutzerdefinierten IAM-Rollen finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.
Mit den folgenden Schritten können Sie eine benutzerdefinierte Rolle mit dem Namen LimitedAdmin
erstellen.
Erstellen Sie eine YAML- oder JSON-Datei, in der die benutzerdefinierte Rolle mit dem Namen
LimitedAdmin
und die Berechtigungen definiert werden, die dieser Rolle gewährt werden. Hier sehen Sie ein Beispiel für eine YAML-Datei.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
Erstellen Sie die benutzerdefinierte Rolle. Das folgende Beispiel für einen gcloud CLI-Befehl zeigt, wie Sie diese benutzerdefinierte Rolle mit der YAML-Datei erstellen, die Sie im vorherigen Schritt erstellt haben.
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.YAML_FILE_NAME
: Der Name der Datei, die Sie im vorherigen Schritt erstellt haben.ROLE_NAME
: der Name der benutzerdefinierten Rolle, wie in der YAML-Datei definiert.
Weisen Sie die benutzerdefinierte Rolle mit der Google Cloud CLI zu.
Das folgende Beispiel zeigt, wie Sie einer Gruppe von Nutzern die benutzerdefinierte Rolle
limitedAdmin
zuweisen, wenn Sie die Mitarbeiter-Identitätsföderation verwenden.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
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.WORKFORCE_POOL_ID
: Die Kennung für den Mitarbeiterpool, der für Ihren Identitätsanbieter erstellt wurde.GROUP_ID
: die Gruppen-ID, die in der Workforce Identity-Föderation erstellt wurde. Informationen zur Gruppen-ID, die in der Workforce Identity Federation erstellt wurde, finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen. Informationen zumGROUP_ID
finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.
Der folgende Beispielbefehl zeigt, wie Sie einer Gruppe von Nutzern die benutzerdefinierte Rolle
limitedAdmin
zuweisen, wenn Sie Cloud Identity oder verwenden .gcloud projects add-iam-policy-binding PROJECT_ID \ --member=groupid:GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Ersetzen Sie Folgendes:
PROJECT_ID
: Die Projekt-ID des Google SecOps-gebundenen Projekts, das Sie unter Google SecOps-Instanz an Google Cloud -Projekt binden erstellt haben. Eine Beschreibung der Felder, mit denen ein Projekt identifiziert wird, finden Sie unter Projekte erstellen und verwalten.WORKFORCE_POOL_ID
: Die Kennung für den Mitarbeiterpool, der für Ihren Identitätsanbieter erstellt wurde.GROUP_ID
: die Gruppen-ID, die in der Workforce Identity-Föderation erstellt wurde. Informationen zur Gruppen-ID, die in der Workforce Identity Federation erstellt wurde, finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen. Informationen zumGROUP_ID
finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.
Audit-Logging überprüfen
Nutzeraktionen in Google SecOps und Anfragen an die Chronicle API werden als Cloud-Audit-Logs aufgezeichnet. So prüfen Sie, ob Logs geschrieben werden:
- Melden Sie sich in Google SecOps als Nutzer mit Berechtigungen für den Zugriff auf alle Funktionen an. Weitere Informationen finden Sie unter In Google SecOps anmelden.
- Führen Sie eine Aktion aus, z. B. eine Suche.
- Verwenden Sie in der Google Cloud -Konsole den Log-Explorer, um die Audit-Logs im Google SecOps-gebundenen Cloud-Projekt anzusehen. Google SecOps-Audit-Logs haben den folgenden Dienstnamen:
chronicle.googleapis.com
.
Weitere Informationen zum Ansehen von Cloud-Audit-Logs finden Sie unter Informationen zum Audit-Logging von Google SecOps.
Das Folgende ist ein Beispiel für ein Log, das geschrieben wurde, als der Nutzer alice@example.com
die Liste der Parsererweiterungen in Google SecOps aufgerufen hat.
{
"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"
}
Google SecOps zu RBAC für die Zugriffssteuerung migrieren
Anhand der Informationen in diesen Abschnitten können Sie eine vorhandene Google Security Operations SIEM-Instanz vom alten RBAC-System zu Feature-RBAC migrieren.
Nach der Migration zu Feature-RBAC können Sie die Aktivitäten in der Google SecOps-Instanz auch mit Cloud-Audit-Logs prüfen.
Unterschiede zwischen Legacy-RBAC und Feature-RBAC
Die Namen der vordefinierten Rollen für die RBAC-Funktion ähneln zwar den alten RBAC-Rollen, bieten aber nicht denselben Funktionszugriff. Die Berechtigungen, die jeder vordefinierten RBAC-Rolle für Funktionen zugewiesen sind, unterscheiden sich geringfügig. Weitere Informationen finden Sie unter Zuordnung von IAM-Rollen für die rollenbasierte Zugriffssteuerung (RBAC) zu Legacy-RBAC-Rollen.
Sie können die vordefinierten Google SecOps-Rollen unverändert verwenden, die in jeder vordefinierten Rolle definierten Berechtigungen ändern oder benutzerdefinierte Rollen erstellen und ihnen einen anderen Satz von Berechtigungen zuweisen.
Nach der Migration der Google SecOps-Instanz verwalten Sie Rollen, Berechtigungen und RBAC-Richtlinien für Funktionen über IAM in der Google Cloud -Konsole. Die folgenden Google SecOps-Anwendungsseiten wurden geändert, um Nutzer zur Google Cloud -Konsole weiterzuleiten:
- Nutzer und Gruppen
- Rollen
Im alten RBAC wird jede Berechtigung durch den Funktionsnamen und eine Aktion beschrieben. IAM-Berechtigungen in der rollenbasierten Zugriffssteuerung für Funktionen werden durch den Ressourcennamen und die Methode beschrieben. In der folgenden Tabelle wird der Unterschied anhand von zwei Beispielen veranschaulicht, eines für Dashboards und eines für Feeds.
Dashboard-Beispiel: Mit der Legacy-RBAC können Sie den Zugriff auf Dashboards über fünf Aktionen steuern, die Sie für Dashboards ausführen können. Feature-RBAC bietet ähnliche IAM-Berechtigungen mit einer zusätzlichen Berechtigung,
dashboards.list
, mit der ein Nutzer verfügbare Dashboards auflisten kann.Beispiel für Feeds: Mit der alten RBAC können Sie den Zugriff auf Feeds über sieben Aktionen steuern, die Sie aktivieren oder deaktivieren können. Bei der funktionsbezogenen RBAC gibt es vier:
feeds.delete
,feeds.create
,feeds.update
undfeeds.view
.
Funktion | Berechtigung in der alten RBAC | IAM-Berechtigung in der RBAC-Funktion | Beschreibung der Nutzeraktion |
---|---|---|---|
Dashboards | Bearbeiten | chronicle.dashboards.edit |
Dashboards bearbeiten |
Dashboards | Kopieren | chronicle.dashboards.copy |
Dashboards kopieren |
Dashboards | Erstellen | chronicle.dashboards.create |
Dashboards erstellen |
Dashboards | Planen | chronicle.dashboards.schedule |
Berichte planen |
Dashboards | Löschen | chronicle.dashboards.delete |
Berichte löschen |
Dashboards | Keine. Diese Funktion ist nur in der rollenbasierten Zugriffssteuerung verfügbar. | chronicle.dashboards.list |
Verfügbare Dashboards auflisten |
Feeds | DeleteFeed | chronicle.feeds.delete |
Feed löschen |
Feeds | CreateFeed | chronicle.feeds.create |
Erstellen Sie einen Feed. |
Feeds | UpdateFeed | chronicle.feeds.update |
Feed aktualisieren |
Feeds | EnableFeed | chronicle.feeds.update |
Feed aktualisieren |
Feeds | DisableFeed | chronicle.feeds.update |
Feed aktualisieren |
Feeds | ListFeeds | chronicle.feeds.view |
Gibt einen oder mehrere Feeds zurück. |
Feeds | GetFeed | chronicle.feeds.view |
Gibt einen oder mehrere Feeds zurück. |
Vorhandene Berechtigungen zur Zugriffssteuerung migrieren
Nachdem Sie die Schritte zum Migrieren einer vorhandenen Google SecOps-Instanz ausgeführt haben, können Sie auch die Konfiguration der Zugriffssteuerung für Funktionen migrieren.
Google SecOps stellt automatisch generierte Befehle bereit, mit denen neue RBAC-IAM-Richtlinien für Funktionen erstellt werden, die Ihrem alten RBAC entsprechen. Dieses ist in Google SecOps auf der Seite SIEM Settings > Users and Groups (SIEM-Einstellungen > Nutzer und Gruppen) konfiguriert.
Prüfen Sie, ob Sie die erforderlichen Berechtigungen haben, die unter Google Cloud -Projekt für Google SecOps konfigurieren beschrieben sind, und folgen Sie dann der Anleitung unter Vorhandene Berechtigungen und Rollen zu IAM migrieren.
Zuordnung von IAM-Rollen für die rollenbasierte Zugriffssteuerung (RBAC) zu alten RBAC-Rollen
Die Zuordnungsinformationen in diesem Abschnitt veranschaulichen einige der Unterschiede beim Zugriff für vordefinierte Rollen vor und nach der Migration. Die Namen der alten RBAC-Rollen ähneln zwar den vordefinierten IAM-Rollen für die rollenbasierte Zugriffssteuerung (RBAC) für Funktionen, die Aktionen, auf die die einzelnen Rollen Zugriff gewähren, sind jedoch unterschiedlich. In diesem Abschnitt werden einige dieser Unterschiede vorgestellt.
Chronicle API Limited Viewer
Diese Rolle gewährt Lesezugriff auf die Google SecOps-Anwendung und API-Ressourcen, mit Ausnahme von Regeln für die Erkennungs-Engine und RetroHunts. Der Rollenname ist chronicle.limitedViewer
.
Eine detaillierte Liste der Berechtigungen finden Sie unter Chronicle API Viewer.
Chronicle API-Betrachter
Diese Rolle bietet schreibgeschützten Zugriff auf die Google SecOps-Anwendung und API-Ressourcen. Der Rollenname ist chronicle.viewer
.
Die folgenden Berechtigungen veranschaulichen einige der Unterschiede zwischen ähnlichen Legacy-RBAC-Rollen und Feature-RBAC-Rollen. Eine detaillierte Liste der Berechtigungen finden Sie unter 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. |
Chronicle API Editor
Mit dieser Rolle können Nutzer den Zugriff auf Google SecOps-Anwendungs- und API-Ressourcen ändern. Der Rollenname ist chronicle.editor
.
Die folgenden Berechtigungen veranschaulichen einige der Unterschiede zwischen den ähnlichen Legacy-RBAC-Rollen und Feature-RBAC-Rollen. Eine detaillierte Liste der Berechtigungen finden Sie unter Chronicle API Editor.
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. |
Chronicle API-Administrator
Diese Rolle bietet vollständigen Zugriff auf die Google SecOps-Anwendung und API-Dienste, einschließlich globaler Einstellungen. Der Rollenname ist chronicle.admin
.
Die folgenden Berechtigungen veranschaulichen einige der Unterschiede zwischen den ähnlichen Legacy-RBAC-Rollen und Feature-RBAC-Rollen. Eine detaillierte Liste der Berechtigungen finden Sie unter Chronicle API Admin.
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. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten