Zugriffssteuerung für Funktionen mit IAM konfigurieren
Die rollenbasierte Zugriffssteuerung für Funktionen steuert den Nutzerzugriff auf bestimmte Funktionen oder Funktionalitäten innerhalb eines Systems und bestimmt, auf welche Funktionen Nutzer basierend auf ihren Rollen zugreifen können. Auf dieser Seite wird beschrieben, wie Sie die Zugriffssteuerung für Funktionen in Google Security Operations konfigurieren.
In diesem Dokument wird der Begriff alte RBAC-Version verwendet, wenn es um das zuvor verfügbare Zugriffssteuerungssystem geht, das mit Google SecOps und nicht mit Identity and Access Management (IAM) konfiguriert wurde. Feature-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 nicht der Zugriff auf bestimmte UDM-Einträge oder Felder in einem UDM-Eintrag gesteuert.
In diesem Dokument wird Folgendes beschrieben:
- Hier erfahren Sie, wie Google SecOps in IAM eingebunden ist.
- Hier erfahren Sie, wie sich die neuen RBAC-Rollen von den bisherigen RBAC-Rollen unterscheiden.
- Hier erfahren Sie, wie Sie eine Google SecOps-Instanz zu RBAC migrieren.
- Hier finden Sie Beispiele dafür, wie Sie Berechtigungen mit IAM zuweisen.
- 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 Prüfprotokolle 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 Google SecOps API-Ressource und -Methode zugeordnet. Wenn einem Nutzer oder einer Gruppe eine Berechtigung gewährt wird, kann der Nutzer auf die Funktion in Google SecOps zugreifen und eine Anfrage mit der zugehörigen API-Methode senden.
Google SecOps in IAM einbinden
Wenn Sie IAM verwenden möchten, muss Google SecOps an ein Google Cloud-Projekt gebunden und entweder mit Cloud Identity, Google Workspace oder der Mitarbeiteridentitätsföderation von Google Cloud als Vermittler im Authentifizierungsablauf für einen Identitätsanbieter von Drittanbietern konfiguriert sein. Informationen zum Authentifizierungsablauf von Drittanbietern finden Sie im Hilfeartikel Google SecOps mit einem Identitätsanbieter von Drittanbietern integrieren.
Google SecOps führt die folgenden Schritte aus, um den Zugriff auf Funktionen zu prüfen und zu steuern:
- Nach der Anmeldung in Google SecOps greift ein Nutzer auf eine Google SecOps-Anwendungsseite zu. Alternativ kann der Nutzer eine API-Anfrage an Google SecOps senden.
- Google SecOps prüft die Berechtigungen, die in den für diesen Nutzer definierten IAM-Richtlinien gewährt wurden.
- IAM gibt die Autorisierungsinformationen zurück. Wenn der Nutzer auf eine Anwendungsseite zugreift, ermöglicht Google SecOps nur den Zugriff auf die Funktionen, für die dem Nutzer Zugriff gewährt wurde.
- Wenn der Nutzer eine API-Anfrage gesendet hat, aber nicht berechtigt ist, die angeforderte Aktion auszuführen, enthält die API-Antwort einen Fehler. Andernfalls wird eine Standardantwort zurückgegeben.
Google SecOps bietet eine Reihe vordefinierter Rollen mit einer festgelegten Reihe von Berechtigungen, die steuern, 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 es im Google Cloud-Projekt noch andere Google Cloud-Dienste gibt, die an Google SecOps gebunden sind, und Sie einen Nutzer mit der Rolle „IAM Admin des Projekts“ nur dazu berechtigen möchten, die Google SecOps-Ressourcen zu ändern, müssen Sie der „Zulassen“-Richtlinie IAM-Bedingungen hinzufügen. Eine Anleitung dazu finden Sie unter Nutzern und Gruppen Rollen zuweisen.
Administratoren passen den Zugriff auf die Google SecOps-Funktionen an die Rolle eines Mitarbeiters in Ihrer Organisation an.
Hinweise
- Sie sollten mit Cloud Shell, dem gcloud-Befehl und der Google Cloud Console vertraut sein.
- Machen Sie sich mit IAM vertraut, einschließlich der folgenden Konzepte:
- Führen Sie alle Schritte unter Google SecOps mit einem Google Cloud-Projekt verknüpfen aus, um ein Projekt einzurichten, das mit Google SecOps verknüpft ist.
- Konfigurieren Sie Ihren Identitätsanbieter mit einer der folgenden Methoden:
- Google Cloud-Identitätsanbieter konfigurieren
- Führen Sie alle Schritte unter Google SecOps mit einem externen Identitätsanbieter verknüpfen aus, um die Authentifizierung über einen externen Identitätsanbieter einzurichten.
- Binden Sie ein Projekt an Ihre Google SecOps-Instanz und konfigurieren Sie den Identitätsanbieter.
- Sie müssen die Berechtigungen haben, die Schritte in diesem Dokument auszuführen. Informationen zu den erforderlichen Berechtigungen für jede Phase 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 von Ihnen erstellte benutzerdefinierte Rollen verwenden.
Prüfen Sie, ob die Liste der vordefinierten Rollen und Berechtigungen von Google SecOps den Anforderungen Ihrer Organisation entspricht. 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 Rollen und Berechtigungen von Google SecOps
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 einer Berechtigung suchen nach dem Begriff chronicle
.
Die aktuellste Liste der vordefinierten Google SecOps-Rollen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen. Wählen Sie im Abschnitt Vordefinierte Rollen entweder den Dienst Chronicle API-Rollen aus oder suchen Sie nach dem Begriff chronicle
.
Informationen zu API-Methoden und ‑Berechtigungen, zu den Seiten, auf denen Berechtigungen verwendet werden, und zu den Informationen, die beim Aufrufen der API in Cloud-Audit-Logs aufgezeichnet werden, finden Sie unter Chronicle-Berechtigungen in IAM.
Vordefinierte Google SecOps-Rollen in IAM
Google Security Operations 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 Security Operations-Anwendung und API-Dienste, einschließlich globaler Einstellungen. |
roles/chronicle.editor |
Chronicle API Editor | Zugriff auf die Google Security Operations-Anwendung und API-Ressourcen ändern |
roles/chronicle.viewer |
Chronicle API-Betrachter | Lesezugriff auf die Google Security Operations-Anwendung und API-Ressourcen |
roles/chronicle.limitedViewer |
Chronicle API Limited Viewer | Gewährt Lesezugriff auf die Google Security Operations-Anwendung und API-Ressourcen, mit Ausnahme von Regeln für die Erkennungs-Engine und RetroHunts. |
Google SecOps-Berechtigungen in IAM
Google SecOps-Berechtigungen entsprechen eins zu eins den Google SecOps API-Methoden. Mit jeder Google SecOps-Berechtigung können Sie bei Verwendung der Webanwendung oder der API eine bestimmte Aktion für eine bestimmte Google SecOps-Funktion ausführen. Die mit IAM verwendeten Google SecOps APIs befinden sich in der Alpha-Phase.
Google SecOps-Berechtigungsnamen folgen dem Format SERVICE.FEATURE.ACTION
.
Der Berechtigungsname chronicle.dashboards.edit
besteht beispielsweise aus den folgenden Elementen:
chronicle
: Der Name des Google SecOps API-Dienstes.dashboards
: den Feature-Namen.edit
: Die Aktion, die auf das Element angewendet werden kann.
Der Name der Berechtigung beschreibt die Aktion, die Sie in Google SecOps für die Funktion ausführen können. Alle Google SecOps-Berechtigungen haben den Namen des chronicle
-Dienstes.
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 mit Google SecOps verknüpft haben.
Nachdem Sie die Chronicle API aktiviert haben, sind die vordefinierten Rollen und Berechtigungen von Google SecOps in IAM verfügbar und Sie können Richtlinien erstellen, um die Anforderungen Ihrer Organisation zu erfüllen.
Wenn Sie eine neu erstellte Google SecOps-Instanz haben, erstellen Sie IAM-Richtlinien, um die Anforderungen Ihrer Organisation zu erfüllen.
Wenn es sich um eine vorhandene Google SecOps-Instanz handelt, finden Sie unter Google SecOps zur Zugriffssteuerung für Funktionen zu IAM migrieren Informationen zur Migration der Instanz zu IAM.
Beispiel: Rolle „Project IAM Admin“ in einem bestimmten Projekt zuweisen
In diesem Beispiel ist das Projekt Ihrer Google SecOps-Instanz gewidmet. Sie gewähren einem Nutzer die Rolle Projekt-IAM-Administrator, damit er die IAM-Rollenzuweisungen 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 über die Google Cloud Console eine Rolle zuweisen.
- Öffnen Sie die Google Cloud Console.
- Wählen Sie das Projekt aus, das mit Google SecOps verknüpft ist.
- Wählen Sie IAM & Admin.
- Wählen Sie Zugriff gewähren aus. Die Option 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 Project IAM Admin 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
Im folgenden Beispiel wird gezeigt, wie Sie einem Nutzer die Rolle chronicle.admin
gewähren, 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 mit Google Cloud-Projekt verknüpfen erstellt haben. Eine Beschreibung der Felder, die ein Projekt identifizieren, finden Sie unter Projekte erstellen und verwalten.WORKFORCE_POOL_ID
: die Kennung für den Workforce-Pool, der für Ihren Identitätsanbieter erstellt wurde.USER_EMAIL
: Die E-Mail-Adresse des Nutzers.
Im folgenden Beispiel wird gezeigt, wie Sie einer Gruppe die Rolle chronicle.admin
gewähren, 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 mit Google Cloud-Projekt verknüpfen 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 gewähren und ändern sowie Google SecOps konfigurieren kann. Sie fügen der Rollenbindung auch IAM-Richtlinien hinzu, um den Zugriff auf Google SecOps-bezogene Rollen im Projekt einzuschränken. Dieser Nutzer kann nur Rollen gewähren, die in der IAM-Bedingung angegeben sind.
Weitere Informationen zu IAM-Bedingungen finden Sie unter Übersicht über IAM-Bedingungen und Bedingte Rollenbindungen verwalten.
Rolle über die Google Cloud Console zuweisen
In den folgenden Schritten wird beschrieben, wie Sie einem Nutzer über die Google Cloud Console eine Rolle zuweisen.
- Öffnen Sie die Google Cloud Console.
- Wählen Sie das Projekt aus, das mit Google SecOps verknüpft ist.
- Wählen Sie IAM & Admin.
- Wählen Sie Zugriff gewähren aus. Die Option 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 Project IAM Admin 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
Im folgenden Beispiel wird gezeigt, wie Sie einem Nutzer die Rolle chronicle.admin
zuweisen und IAM-Bedingungen anwenden, wenn Sie die Identitätsföderation für die Belegschaft 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 mit Google Cloud-Projekt verknüpfen erstellt haben. Eine Beschreibung der Felder, die ein Projekt identifizieren, 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.
Im folgenden Beispiel wird gezeigt, wie Sie einer Gruppe die Rolle chronicle.admin
gewähren und IAM-Bedingungen bei Verwendung von Cloud Identity oder Google Workspace anwenden.
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 mit Google Cloud-Projekt verknüpfen 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 Google SecOps API-Ressourcen zu ändern.
Rolle über die Google Cloud Console zuweisen
- Öffnen Sie die Google Cloud Console.
- Wählen Sie das Projekt aus, das mit Google SecOps verknüpft 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 Google SecOps 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
Im folgenden Beispiel wird gezeigt, wie Sie einem Nutzer die Rolle chronicle.editor
gewähren, 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 mit Google Cloud-Projekt verknüpfen 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 Workforce-Pool, der für Ihren Identitätsanbieter erstellt wurde.USER_EMAIL
: Die E-Mail-Adresse des Nutzers.Im folgenden Beispielbefehl wird gezeigt, wie Sie einem Nutzer die Rolle
chronicle.editor
gewähren, 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 mit Google Cloud-Projekt verknüpfen 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 Workforce-Pool, 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 Berechtigungsgruppe enthalten, die dem Anwendungsfall Ihrer Organisation entspricht, können Sie eine benutzerdefinierte Rolle erstellen und dieser benutzerdefinierten Rolle Google SecOps-Berechtigungen zuweisen. Weisen Sie die benutzerdefinierte Rolle einem Nutzer oder einer Gruppe zu. Weitere Informationen zu benutzerdefinierten IAM-Rollen finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.
In den folgenden Schritten wird eine benutzerdefinierte Rolle namens LimitedAdmin
erstellt.
Erstellen Sie eine YAML- oder JSON-Datei, in der die benutzerdefinierte Rolle
LimitedAdmin
und die ihr gewährten Berechtigungen definiert werden. Unten sehen Sie eine Beispiel-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. Im folgenden Beispiel für einen gcloud CLI-Befehl wird gezeigt, wie Sie diese benutzerdefinierte Rolle mithilfe 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 mit Google Cloud-Projekt verknüpfen 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.
Im folgenden Beispiel wird gezeigt, wie Sie einer Gruppe von Nutzern die benutzerdefinierte Rolle
limitedAdmin
gewähren, 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 mit Google Cloud-Projekt verknüpfen 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 Workforce-Pool, 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-Föderation erstellt wurde, finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen. Informationen zurGROUP_ID
finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.
Im folgenden Beispielbefehl wird gezeigt, wie Sie einer Gruppe von Nutzern die benutzerdefinierte Rolle
limitedAdmin
gewähren, 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 mit Google Cloud-Projekt verknüpfen 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 Workforce-Pool, 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-Föderation erstellt wurde, finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen. Informationen zurGROUP_ID
finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.
Audit-Logging prüfen
Nutzeraktionen in Google SecOps und Anfragen an die Google SecOps API werden als Cloud-Audit-Logs protokolliert. So prüfen Sie, ob Protokolle 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.
- Eine Aktion ausführen, z. B. eine Suche.
- Verwenden Sie in der Google Cloud Console den Log-Explorer, um die Audit-Logs im mit Google SecOps verknüpften Cloud-Projekt aufzurufen. 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.
Im Folgenden sehen Sie ein Beispielprotokoll, das geschrieben wurde, als sich der Nutzer alice@example.com
die Liste der Parsererweiterungen in Google SecOps ansah.
{
"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 zur rollenbasierten Zugriffssteuerung für die Zugriffssteuerung von Funktionen migrieren
Anhand der Informationen in diesen Abschnitten können Sie eine vorhandene SIEM-Instanz von Google Security Operations vom alten RBAC-System zur RBAC-Funktion migrieren.
Nach der Migration zur RBAC-Funktion können Sie Aktivitäten in der Google SecOps-Instanz auch mit Cloud-Audit-Logs prüfen.
Unterschiede zwischen der bisherigen RBAC und der RBAC für Funktionen
Die Namen der vordefinierten Rollen für die rollenbasierte Zugriffssteuerung für Funktionen ähneln zwar den Rollen der bisherigen rollenbasierten Zugriffssteuerung, bieten aber nicht denselben Funktionszugriff wie die bisherigen Rollen der rollenbasierten Zugriffssteuerung. Die Berechtigungen, die den einzelnen vordefinierten RBAC-Rollen für Funktionen zugewiesen sind, unterscheiden sich geringfügig. Weitere Informationen finden Sie unter Zuordnung von IAM-Rollen für die neue RBAC-Funktion zu älteren RBAC-Rollen.
Sie können die vordefinierten Rollen von Google SecOps unverändert verwenden, die in den einzelnen vordefinierten Rollen definierten Berechtigungen ändern oder benutzerdefinierte Rollen erstellen und ihnen eine andere Berechtigungsgruppe zuweisen.
Nachdem Sie die Google SecOps-Instanz migriert haben, verwalten Sie Rollen, Berechtigungen und RBAC-Richtlinien für Funktionen mit IAM in der Google Cloud Console. Die folgenden Seiten der Google SecOps-Anwendung werden so geändert, dass Nutzer zur Google Cloud Console weitergeleitet werden:
- Nutzer und Gruppen
- Rollen
Bei der bisherigen RBAC-Version wird jede Berechtigung durch den Funktionsnamen und eine Aktion beschrieben. IAM-Berechtigungen in der Feature-RBAC 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: Zur Steuerung des Zugriffs auf Dashboards bietet die bisherige RBAC fünf Aktionen, die Sie auf Dashboards ausführen können. Die Feature-RBAC bietet ähnliche IAM-Berechtigungen mit einer zusätzlichen Berechtigung,
dashboards.list
, mit der Nutzer verfügbare Dashboards auflisten können.Beispiel für Feeds: Zur Steuerung des Zugriffs auf Feeds bietet die alte RBAC sieben Aktionen, die Sie aktivieren oder deaktivieren können. Bei der Funktion „RBAC“ gibt es vier:
feeds.delete
,feeds.create
,feeds.update
undfeeds.view
.
Funktion | Berechtigung in der alten RBAC-Version | IAM-Berechtigung in der Funktion „RBAC“ | 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 | – Diese Funktion ist nur in der RBAC-Funktion 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 |
Einen oder mehrere Feeds zurückgeben. |
Feeds | GetFeed | chronicle.feeds.view |
Einen oder mehrere Feeds zurückgeben. |
Vorhandene Berechtigungen für die Zugriffssteuerung migrieren
Nachdem Sie die Schritte zur Migration einer vorhandenen Google SecOps-Instanz ausgeführt haben, können Sie auch die Konfiguration der Zugriffssteuerung für Funktionen migrieren.
Google SecOps bietet automatisch generierte Befehle, mit denen neue RBAC-IAM-Richtlinien für Funktionen erstellt werden, die der bisherigen RBAC entsprechen, die in Google SecOps auf der Seite SIEM-Einstellungen > Nutzer und Gruppen konfiguriert ist.
Achten Sie darauf, dass 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 der Feature-RBAC zu alten RBAC-Rollen
Anhand der Zuordnungsinformationen in diesem Abschnitt werden einige der Unterschiede beim Zugriff für vordefinierte Rollen vor und nach der Migration veranschaulicht. Die Namen der alten RBAC-Rollen ähneln zwar den vordefinierten Rollen der Feature-RBAC-IAM, die Aktionen, auf die sie Zugriff gewähren, unterscheiden sich jedoch. 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 lautet chronicle.limitedViewer
.
Eine detaillierte Liste der Berechtigungen finden Sie im Chronicle API Viewer.
Chronicle API-Betrachter
Diese Rolle bietet Lesezugriff auf die Google SecOps-Anwendung und API-Ressourcen. Der Rollenname lautet chronicle.viewer
.
Die folgenden Berechtigungen veranschaulichen einige der Unterschiede zwischen ähnlichen Rollen der bisherigen RBAC und der neuen RBAC-Funktion. Eine detaillierte Liste der Berechtigungen finden Sie im 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 lautet chronicle.editor
.
Die folgenden Berechtigungen veranschaulichen einige der Unterschiede zwischen den ähnlichen Rollen der bisherigen RBAC und der RBAC-Funktion. Eine detaillierte Liste der Berechtigungen finden Sie im 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 gewährt vollständigen Zugriff auf die Google SecOps-Anwendung und die API-Dienste, einschließlich globaler Einstellungen. Der Rollenname lautet chronicle.admin
.
Die folgenden Berechtigungen veranschaulichen einige der Unterschiede zwischen den ähnlichen Rollen der bisherigen RBAC und der RBAC-Funktion. 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. |