In diesem Leitfaden wird erläutert, wie Sie einige oder alle Audit-Logs zum Datenzugriff in Ihren Google Cloud-Projekten, Rechnungskonten, Ordnern und Organisationen über die Google Cloud Console oder die API aktivieren oder deaktivieren.
Hinweis
Bevor Sie mit der Konfiguration von Audit-Logs zum Datenzugriff fortfahren, lesen Sie die folgenden Informationen:
Audit-Logs zum Datenzugriff sind – außer bei BigQuery – standardmäßig deaktiviert. Wenn Audit-Logs zum Datenzugriff für andere Google Cloud-Dienste als BigQuery geschrieben werden sollen, müssen Sie sie explizit aktivieren.
Audit-Logs zum Datenzugriff werden im
_Default
-Bucket gespeichert, sofern Sie sie nicht an einen anderen Speicherort weitergeleitet haben. Weitere Informationen finden Sie unter Audit-Logs speichern und weiterleiten.Audit-Logs zum Datenzugriff helfen dem Google-Support beim Beheben von Problemen mit Ihrem Konto. Daher empfehlen wir, Audit-Logs zum Datenzugriff nach Möglichkeit zu aktivieren.
Konfigurationsübersicht
Sie können bestimmte Aspekte von Audit-Logs zum Datenzugriff für Ihre Google Cloud-Ressourcen und -Dienste aktivieren und konfigurieren:
Organisationen: Sie können Audit-Logs zum Datenzugriff in einer Organisation aktivieren und konfigurieren. Dies gilt für alle vorhandenen und neuen Google Cloud-Projekte und ‐Ordner in der Organisation.
Ordner: Sie können Audit-Logs zum Datenzugriff in einem Ordner aktivieren und konfigurieren. Dies gilt für alle vorhandenen und neuen Google Cloud-Projekte im Ordner. Sie können ein Audit-Log zum Datenzugriff, das in der übergeordneten Organisation des Projekts aktiviert wurde, nicht deaktivieren.
Projekte: Sie können Audit-Logs zum Datenzugriff für einzelne Google Cloud-Projekte konfigurieren. Sie können ein Audit-Log zum Datenzugriff, das in einer übergeordneten Organisation oder einem übergeordneten Ordner aktiviert wurde, nicht deaktivieren.
Rechnungskonten: Verwenden Sie die Google Cloud CLI, um Audit-Logs zum Datenzugriff für Rechnungskonten zu konfigurieren. Weitere Informationen zur Verwendung der gcloud CLI mit Audit-Logs und Rechnungskonten für den Datenzugriff finden Sie in der Referenzdokumentation zu
gcloud beta billing accounts set-iam-policy
.Standardkonfigurationen: Sie können eine Standardkonfiguration für Audit-Logs zum Datenzugriff in einer Organisation, einem Ordner oder einem Google Cloud-Projekt festlegen, die für zukünftige Google Cloud-Dienste gilt, mit denen Audit-Logs zum Datenzugriff erstellt werden. Eine Anleitung finden Sie unter Standardkonfiguration festlegen.
Dienste: Sie können die Dienste angeben, deren Audit-Logs Sie erhalten möchten. Sie möchten beispielsweise Audit-Logs von Compute Engine, aber nicht von Cloud SQL erhalten. Eine Liste der Google Cloud-Dienste, die Audit-Logs generieren können, finden Sie unter Google-Dienste mit Audit-Logs.
Logtypen: Sie können konfigurieren, welche Arten von Vorgängen in Ihren Audit-Logs zum Datenzugriff aufgezeichnet werden. Für den Datenzugriff stehen drei Audit-Logtypen zur Verfügung:
ADMIN_READ
: Zeichnet Vorgänge auf, bei denen Metadaten oder Konfigurationsinformationen gelesen werden.DATA_READ
: Zeichnet Vorgänge auf, die von Nutzern bereitgestellte Daten lesen.DATA_WRITE
: Zeichnet Vorgänge auf, die von Nutzern bereitgestellte Daten schreiben.
In Cloud DNS werden beispielsweise alle drei Datenzugriffslogs geschrieben. Sie können jedoch die Audit-Logs zum Datenzugriff so konfigurieren, dass nur
DATA_WRITE
-Vorgänge aufgezeichnet werden.Ausgenommene Hauptkonten: Sie können bestimmte Hauptkonten von der Aufzeichnung ihrer Datenzugriffe ausnehmen. Sie können beispielsweise festlegen, dass Ihre internen Testkonten nicht von ihren Cloud Monitoring-Vorgängen aufgezeichnet werden. Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Referenz zum Typ
Binding
.
Sie können Audit-Logs für den Datenzugriff mit der IAM-Audit-Log-Konsole oder der API konfigurieren. Diese Methoden werden in den folgenden Abschnitten erläutert.
Dienstspezifische Konfigurationen
Wenn sowohl eine Konfiguration für alle Google Cloud-Dienste (allServices
) als auch eine Konfiguration für einen bestimmten Google Cloud-Dienst vorhanden ist, werden für die endgültige Konfiguration des Dienstes beide Konfigurationen zusammengefasst.
Dies bedeutet:
Sie können Audit-Logs zum Datenzugriff für bestimmte Google Cloud-Dienste aktivieren, aber keine Audit-Logs zum Datenzugriff für Google Cloud-Dienste deaktivieren, die in der umfassenderen Konfiguration aktiviert sind.
Sie können einem Audit-Log zum Datenzugriff eines Google Cloud-Dienstes zusätzliche Informationsarten hinzufügen, aber keine Informationsarten entfernen, die in der umfassenderen Konfiguration festgelegt sind.
Sie können Hauptkonten zu Ausnahmelisten hinzufügen, aber nicht aus den Ausnahmelisten in der umfassenderen Konfiguration entfernen.
Bei BigQuery Data Transfer Service wird die Konfiguration des Audit-Logs zum Datenzugriff aus Ihrer Standard-Audit-Log-Konfiguration übernommen.
Google Cloud-Ressourcenkonfigurationen
Sie können Audit-Logs zum Datenzugriff für Google Cloud-Projekte, Rechnungskonten, Ordner und Organisationen konfigurieren. Wenn es einen Google Cloud-Dienst in der gesamten Hierarchie gibt, werden die Konfigurationen zusammengeführt. Mit anderen Worten: Auf Google Cloud-Projektebene:
Sie können Logs für einen Google Cloud-Dienst aktivieren, aber nicht für einen Google Cloud-Dienst, der in einer übergeordneten Organisation oder einem übergeordneten Ordner aktiviert ist.
Sie können bestimmte Arten von Informationen aktivieren, nicht jedoch solche, die in einer übergeordneten Organisation oder einem übergeordneten Ordner aktiviert sind.
Sie können Ausnahmelisten Hauptkonten zu Ausnahmelisten hinzufügen, aber nicht aus Ausnahmelisten in einer übergeordneten Organisation oder einem übergeordneten Ordner entfernen.
In einer übergeordneten Organisation oder Ordnerebene können Sie Audit-Logs zum Datenzugriff für ein Google Cloud-Projekt in dieser Organisation oder diesem Ordner aktivieren, auch wenn in diesem Projekt keine Audit-Logs zum Datenzugriff konfiguriert sind.
Zugriffssteuerung
Der Zugriff auf Logging-Daten wird von IAM-Rollen und -Berechtigungen (Identity and Access Management) gesteuert. Dazu gehört auch das Aufrufen und Verwalten der IAM-Richtlinien, die den Daten-Audit-Logging-Konfigurationen zugrunde liegen.
Wenn Sie die mit der Datenzugriffskonfiguration verknüpften Richtlinien aufrufen oder festlegen möchten, benötigen Sie eine Rolle mit Berechtigungen auf der entsprechenden Ressourcenebene. Eine Anleitung zum Zuweisen dieser Rollen auf Ressourcenebene finden Sie unter Zugriff auf Google Cloud-Projekte, -Ordner und -Organisationen verwalten.
Zum Festlegen von IAM-Richtlinien benötigen Sie eine Rolle mit der Berechtigung
resourcemanager.RESOURCE_TYPE.setIamPolicy
.Zum Anzeigen von IAM-Richtlinien benötigen Sie eine Rolle mit der Berechtigung
resourcemanager.RESOURCE_TYPE.getIamPolicy
.
Eine Liste der Berechtigungen und Rollen, die Sie zum Aufrufen von Audit-Logs zum Datenzugriff benötigen, finden Sie unter Zugriffssteuerung mit IAM.
Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren
In diesem Abschnitt wird erläutert, wie Sie Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren.
Sie können diese Aufgaben auch über die API oder die Google Cloud CLI programmatisch ausführen. Weitere Informationen finden Sie unter Audit-Logs zum Datenzugriff mit der API konfigurieren.
So greifen Sie in der Google Cloud Console auf die Optionen für die Audit-Log-Konfiguration zu:
Wählen Sie in der Google Cloud Console IAM und Verwaltung > Audit-Logs aus:
Wählen Sie ein vorhandenes Google Cloud-Projekt, einen Ordner oder eine Organisation aus.
Audit-Logs aktivieren
So aktivieren Sie Audit-Logs zum Datenzugriff:
Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff mindestens einen Google Cloud-Dienst aus der Spalte Dienst aus.
Wählen Sie auf dem Tab Logtypen die Audit-Logtypen zum Datenzugriff aus, die Sie für die ausgewählten Dienste aktivieren möchten.
Klicken Sie auf Speichern.
Wenn Sie Audit-Logs erfolgreich aktiviert haben, enthält die Tabelle ein Häkchen check_circle.
Im folgenden Beispiel ist für den Access Approval-Dienst der Audit-Logtyp Datenlesevorgang aktiviert:
Sie können auch Audit-Logs für alle Google Cloud-Dienste aktivieren, die Audit-Logs zum Datenzugriff erstellen. Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff alle Google Cloud-Dienste aus.
Diese Bulk-Konfigurationsmethode gilt nur für die Google Cloud-Dienste, die derzeit für Ihre Ressource verfügbar sind. Wenn ein neuer Google Cloud-Dienst hinzugefügt wird, übernimmt er Ihre Standard-Audit-Konfiguration.
Audit-Logs zum Datenzugriff deaktivieren
So deaktivieren Sie Audit-Logs zum Datenzugriff:
Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff mindestens einen Google Cloud-Dienst aus.
Wählen Sie auf dem Tab Logtypen im Infobereich die Audit-Logtypen zum Datenzugriff aus, die Sie für die ausgewählten Dienste deaktivieren möchten.
Klicken Sie auf Speichern.
Wenn Sie Audit-Logs zum Datenzugriff erfolgreich deaktiviert haben, wird in der Tabelle ein Bindestrich angezeigt. Alle aktivierten Audit-Logs zum Datenzugriff werden mit einem Häkchen check_circle gekennzeichnet.
Ausnahmen festlegen
Sie können Ausnahmen festlegen, um zu steuern, welche Hauptkonten Audit-Logs zum Datenzugriff für bestimmte Dienste generieren. Wenn Sie ein ausgenommenes Hauptkonto hinzufügen, werden für die ausgewählten Logtypen keine Audit-Logs erstellt.
So legen Sie Ausnahmen fest:
Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einen Google Cloud-Dienst aus der Spalte Dienst aus.
Wählen Sie im Infobereich den Tab Ausgenommene Hauptkonten aus.
Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, das Sie von der Generierung von Audit-Logs zum Datenzugriff für den ausgewählten Dienst ausschließen möchten.
Sie können mehrere Hauptkonten hinzufügen. Klicken Sie dazu so oft wie nötig auf die Schaltfläche Ausgenommenes Hauptkonto hinzufügen.
Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Referenz zum Typ
Binding
.Wählen Sie unter Deaktivierte Logtypen die Audit-Logtypen zum Datenzugriff aus, die Sie deaktivieren möchten.
Klicken Sie auf Speichern.
Wenn Sie einem Dienst ausgenommene Hauptkonten hinzugefügt haben, wird dies in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff mit einer Zahl in der Spalte Ausgenommene Hauptkonten angezeigt.
So entfernen Sie ein Hauptkonto aus der Ausnahmeliste:
Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einen Google Cloud-Dienst aus der Spalte Dienst aus.
Wählen Sie im Infobereich den Tab Ausgenommene Hauptkonten aus.
Bewegen Sie den Mauszeiger auf einen Hauptkontonamen und wählen Sie das eingeblendete Symbol delete aus.
Wenn der Name des Hauptkontos als durchgestrichener Text angezeigt wird, klicken Sie auf Speichern.
So bearbeiten Sie die Informationen für ein ausgenommenes Hauptkonto:
Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einen Google Cloud-Dienst aus der Spalte Dienst aus.
Wählen Sie im Infobereich den Tab Ausgenommene Hauptkonten aus.
Maximieren Sie expand_more .
Wählen Sie je nach Hauptkonto die Audit-Logtypen zum Datenzugriff aus oder heben Sie die Auswahl auf.
Klicken Sie auf Speichern.
Standardkonfiguration festlegen
Sie können eine Konfiguration festlegen, die alle neuen und vorhandenen Google Cloud-Dienste in Ihrem Google Cloud-Projekt, Ihrem Ordner oder Ihrer Organisation übernehmen. Das Festlegen dieser Standardkonfiguration gilt, wenn ein neuer Google Cloud-Dienst verfügbar wird und Hauptkonten in Ihrer Organisation ihn verwenden: Der Dienst übernimmt die Audit-Logging-Richtlinie, die Sie bereits für andere Google Cloud-Dienste festgelegt haben, damit Audit-Logs zum Datenzugriff erfasst werden.
So legen Sie die Standardkonfiguration fest oder bearbeiten sie:
Klicken Sie auf Standardkonfiguration festlegen.
Wählen Sie im Infobereich auf dem Tab Logtypen die Audit-Logtypen zum Datenzugriff aus, die Sie aktivieren oder deaktivieren möchten.
Klicken Sie auf Speichern.
Wählen Sie im Infobereich den Tab Ausgenommene Hauptkonten aus.
Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, das Sie von der Generierung von Audit-Logs zum Datenzugriff für den ausgewählten Dienst ausschließen möchten.
Sie können mehrere Hauptkonten hinzufügen. Klicken Sie dazu so oft wie nötig auf die Schaltfläche Ausgenommenes Hauptkonto hinzufügen.
Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Referenz zum Typ
Binding
.Wählen Sie unter Deaktivierte Logtypen die Audit-Logtypen zum Datenzugriff aus, die Sie deaktivieren möchten.
Klicken Sie auf Speichern.
Audit-Logs zum Datenzugriff mit der API konfigurieren
In diesem Abschnitt wird erläutert, wie Sie die API und die gcloud CLI verwenden, um Audit-Logs zum Datenzugriff programmatisch zu konfigurieren.
Viele dieser Aufgaben können auch mit der Google Cloud Console ausgeführt werden. Eine Anleitung dazu finden Sie unter Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren auf dieser Seite.
IAM-Richtlinienobjekte
Wenn Sie Audit-Logs zum Datenzugriff mit der API konfigurieren möchten, müssen Sie die IAM-Richtlinie bearbeiten, die mit Ihrem Google Cloud-Projekt, Ihrem Ordner oder Ihrer Organisation verknüpft ist. Die Konfiguration der Audit-Logs befindet sich im Abschnitt auditConfigs
der Richtlinie:
"auditConfigs": [
{
object(AuditConfig)
}
]
Weitere Informationen finden Sie unter IAM-Richtlinientyp.
In den folgenden Abschnitten wird das AuditConfig
-Objekt genauer erläutert.
Informationen zu den Befehlen der API und der gcloud CLI, mit denen die Konfiguration geändert wird, finden Sie unter setIamPolicy und setIamPolicy.
AuditConfig
objects
Die Konfiguration der Audit-Logs besteht aus einer Liste mit AuditConfig
-Objekten. Mit jedem Objekt werden die Logs für einen Dienst konfiguriert. Sie können mit einem Objekt aber auch eine umfassendere Konfiguration für alle Dienste festlegen. Die Objekte sehen so aus:
{
"service": SERVICE,
"auditLogConfigs": [
{
"logType": "ADMIN_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_WRITE"
"exemptedMembers": [ PRINCIPAL,]
},
]
},
SERVICE ist ein Dienstname (zum Beispiel "appengine.googleapis.com"
) oder der spezielle Wert "allServices"
. Wenn ein bestimmter Dienst in einer Konfiguration nicht angegeben ist, wird für diesen Dienst die umfassendere Konfiguration verwendet. Wenn keine Konfiguration vorhanden ist, sind für diesen Dienst keine Audit-Logs zum Datenzugriff aktiviert.
Eine Liste der Dienstnamen finden Sie unter Logdienste.
Der auditLogConfigs
-Abschnitt des AuditConfig
-Objekts ist eine Liste von 0 bis 3 Objekten, von denen jedes eine Art von Audit-Loginformationen konfiguriert. Wenn Sie eine Art in der Liste weglassen, wird diese Art von Informationen nicht für den Dienst aktiviert.
PRINCIPAL ist ein Nutzer, für den keine Audit-Logs für den Datenzugriff erfasst werden. Mit dem Typ Binding
können Sie verschiedene Arten von Hauptkonten einschließlich Nutzern und Gruppen beschreiben. Nicht alle davon können zum Konfigurieren von Audit-Logs zum Datenzugriff verwendet werden.
Das folgende Beispiel zeigt eine Audit-Logkonfiguration im JSON- und im YAML-Format. Das YAML-Format ist die Standardeinstellung bei Verwendung der Google Cloud CLI.
JSON
"auditConfigs": [ { "auditLogConfigs": [ { "logType": "ADMIN_READ" }, { "logType": "DATA_WRITE" }, { "logType": "DATA_READ" } ], "service": "allServices" }, { "auditLogConfigs": [ { "exemptedMembers": [ "499862534253-compute@developer.gserviceaccount.com" ], "logType": "ADMIN_READ" } ], "service": "cloudsql.googleapis.com" } ],
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
- auditLogConfigs:
- exemptedMembers:
- 499862534253-compute@developer.gserviceaccount.com
logType: ADMIN_READ
service: cloudsql.googleapis.com
Häufig verwendete Konfigurationen
Im Folgenden finden Sie einige Konfigurationen für Audit-Logs für Google Cloud-Projekte.
Alle Audit-Logs zum Datenzugriff aktivieren
Im folgenden Abschnitt auditConfigs
werden Audit-Logs zum Datenzugriff für alle Dienste und Hauptkonten aktiviert:
JSON
"auditConfigs": [ { "service": "allServices", "auditLogConfigs": [ { "logType": "ADMIN_READ" }, { "logType": "DATA_READ" }, { "logType": "DATA_WRITE" }, ] }, ]
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
Einen Dienst und eine Informationsart aktivieren
Durch die folgende Konfiguration werden Audit-Logs zum DATA_WRITE
-Datenzugriff für Cloud SQL aktiviert:
JSON
"auditConfigs": [ { "service": "cloudsql.googleapis.com", "auditLogConfigs": [ { "logType": "DATA_WRITE" }, ] }, ]
YAML
auditConfigs:
- auditLogConfigs:
- logType: DATA_WRITE
service: cloudsql.googleapis.com
Alle Audit-Logs zum Datenzugriff deaktivieren
Wenn Sie in einem Google Cloud-Projekt alle Audit-Logs zum Datenzugriff (mit Ausnahme von BigQuery) deaktivieren möchten, fügen Sie in die neue IAM-Richtlinie einen leeren auditConfigs:
-Abschnitt ein:
JSON
"auditConfigs": [],
YAML
auditConfigs:
Wenn Sie den Abschnitt auditConfigs
vollständig aus der neuen Richtlinie entfernen, wird die vorhandene Konfiguration der Audit-Logs zum Datenzugriff von setIamPolicy
nicht geändert. Weitere Informationen finden Sie unter Aktualisierungsmaske „setIamPolicy“.
Für BigQuery können Audit-Logs zum Datenzugriff nicht deaktiviert werden.
getIamPolicy
und setIamPolicy
Mit den Methoden getIamPolicy
und setIamPolicy
der Resource Manager API können Sie Ihre IAM-Richtlinie lesen und schreiben. Sie können aus mehreren Methoden wählen:
Die Resource Manager API bietet folgende Methoden:
projects.getIamPolicy projects.setIamPolicy organizations.getIamPolicy organizations.setIamPolicy
Die Google Cloud CLI hat die folgenden Resource Manager-Befehle:
gcloud projects get-iam-policy gcloud projects set-iam-policy gcloud resource-manager folders get-iam-policy gcloud resource-manager folders set-iam-policy gcloud organizations get-iam-policy gcloud organizations set-iam-policy gcloud beta billing accounts get-iam-policy gcloud beta billing accounts set-iam-policy
Führen Sie ungeachtet Ihrer Wahl die folgenden drei Schritte aus:
- Lesen Sie die aktuelle Richtlinie mit einer
getIamPolicy
-Methode. Speichern Sie die Richtlinie in einer temporären Datei. - Bearbeiten Sie die Richtlinie in der temporären Datei.
Ändern Sie nur den Abschnitt
auditConfigs
bzw. fügen Sie diesen hinzu. - Schreiben Sie die bearbeitete Richtlinie mit einer
setIamPolicy
-Methode in die temporäre Datei.
Wenn vom Resource Manager festgestellt wird, dass die Richtlinie von einem anderen Nutzer geändert wurde, nachdem Sie sie im ersten Schritt gelesen haben, schlägt setIamPolicy
fehl. Wiederholen Sie in diesem Fall die drei Schritte.
Beispiele
Die folgenden Beispiele zeigen, wie Sie die Audit-Logs zum Datenzugriff Ihres Projekts mit dem Befehl gcloud
und der Resource Manager API konfigurieren.
Zum Konfigurieren von Audit-Logs zum Datenzugriff für die Organisation ersetzen Sie die "Projektversion" der Befehle und API-Methoden durch die "Organisationsversion".
gcloud
So konfigurieren Sie mit dem Befehl gcloud projects
Audit-Logs zum Datenzugriff:
Lesen Sie die IAM-Richtlinie des Projekts und speichern Sie sie in einer Datei:
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
Unten sehen Sie die zurückgegebene Richtlinie. Diese Richtlinie enthält noch nicht den Abschnitt
auditConfigs
:bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Bearbeiten Sie die Richtlinie in
/tmp/policy.yaml
, wobei Sie nur die Konfiguration der Audit-Logs zum Datenzugriff hinzufügen oder ändern.Nachstehend sehen Sie ein Beispiel für die bearbeitete Richtlinie, mit der Audit-Logs für Schreibvorgänge bei Datenzugriffen in Cloud SQL aktiviert werden. Am Anfang wurden vier Zeilen hinzugefügt:
auditConfigs: - auditLogConfigs: - logType: DATA_WRITE service: cloudsql.googleapis.com bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Schreiben Sie die neue IAM-Richtlinie:
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
Wenn durch den vorangegangenen Befehl ein Konflikt mit einer anderen Änderung ausgelöst wird, wiederholen Sie diese Schritte ab Punkt 1.
JSON
Um mit Ihrer IAM-Richtlinie im JSON-Format anstelle von YAML zu arbeiten, ersetzen Sie die folgenden gcloud
-Befehle im Beispiel:
gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json
API
So konfigurieren Sie Audit-Logs zum Datenzugriff mit der Resource Manager API:
Lesen Sie die IAM-Richtlinie des Projekts und legen Sie für die API-Methode "getIamPolicy" die folgenden Parameter fest:
- Ressource:
projects/PROJECT_ID
- Anfragetext: leer
Die Methode gibt wie unten dargestellt das aktuelle Richtlinienobjekt zurück. Die Richtlinie für dieses Projekt hat noch nicht den Abschnitt
auditConfigs
:{ "version": 1, "etag": "BwXqwxkr40M=", "bindings": [ { "role": "roles/owner", "members": [ "user:myself@example.com" ] } ] }
- Ressource:
Bearbeiten Sie die aktuelle Richtlinie:
Ändern Sie den Abschnitt
auditConfigs
oder fügen Sie ihn hinzu.Um die Audit-Logs zum Datenzugriff zu deaktivieren, fügen Sie einen leeren Wert für den Abschnitt
auditConfigs:[]
ein.Übernehmen Sie den Wert von
etag
.
Sie können auch alle anderen Informationen aus dem neuen Richtlinienobjekt entfernen, sofern Sie im nächsten Schritt
updateMask
festlegen. Im Folgenden ist die bearbeitete Richtlinie dargestellt, mit der Audit-Logs für Schreibvorgänge bei Datenzugriffen in Cloud SQL aktiviert werden:{ "policy": { "auditConfigs": [ { "auditLogConfigs": [ { "logType": "DATA_WRITE" } ], "service": "cloudsql.googleapis.com" } ], "etag": "BwXqwxkr40M=" }, "updateMask": "auditConfigs,etag" }
Schreiben Sie die neue Richtlinie mit der API-Methode "setIamPolicy". Geben Sie dabei die folgenden Parameter an:
- Ressource:
projects/PROJECT_ID
- Anfragetext: Die bearbeitete Richtlinie einfügen.
- Ressource:
Die Aktualisierungsmaske setIamPolicy
.
In diesem Abschnitt wird die Bedeutung des updateMask
-Parameters in der Methode setIamPolicy
erläutert. Außerdem wird erläutert, warum Sie mit dem Befehl set-iam-policy
der gcloud CLI vorsichtig sein sollten, damit Ihrem Google Cloud-Projekt oder Ihrer Organisation nicht versehentlich Schaden zugefügt wird.
Bei der setIamPolicy API method
legt der Parameter updateMask
fest, welche Richtlinienfelder aktualisiert werden. Wenn die Maske beispielsweise keinen Wert für bindings
enthält, kann dieser Richtlinienabschnitt nicht versehentlich geändert werden. Enthält die Maske dagegen einen Wert für bindings
, dann wird dieser Abschnitt immer aktualisiert. Wenn Sie keinen geänderten Wert für bindings
angeben, wird dieser Abschnitt vollständig aus der Richtlinie entfernt.
Mit dem Befehl gcloud projects set-iam-policy
, der setIamPolicy
aufruft, können Sie den Parameter updateMask
nicht festlegen. Stattdessen wird mit dem Befehl folgendermaßen ein Wert für updateMask
berechnet:
updateMask
enthält immer die Felderbindings
undetag
.- Wenn das in
set-iam-policy
angegebene Richtlinienobjekt andere Felder der obersten Ebene wieauditConfigs
enthält, werden diese Felder zuupdateMask
hinzugefügt.
Der Befehl set-iam-policy
verhält sich aufgrund dieser Regeln wie im Folgenden dargestellt.
Wenn Sie den Abschnitt
auditConfigs
in der neuen Richtlinie weglassen, bleibt der vorherige Wert des AbschnittsauditConfigs
(falls vorhanden) erhalten, da dieser Abschnitt nicht Teil der Aktualisierungsmaske ist. Dies hat keine Auswirkung, kann aber verwirrend sein.Wenn Sie
bindings
im neuen Richtlinienobjekt weglassen, wird der Abschnittbindings
aus der Richtlinie entfernt, da dieser Abschnitt in der Aktualisierungsmaske enthalten ist. Dies ist sehr schädlich und bewirkt, dass alle Hauptkonten den Zugriff auf Ihr Google Cloud-Projekt verlieren.Wenn Sie
etag
im neuen Richtlinienobjekt weglassen, wird die Richtlinie nicht mehr auf gleichzeitig vorgenommene Änderungen überprüft und Ihre Änderungen überschreiben möglicherweise die Änderungen eines anderen Nutzers.