Assets sind Google Cloud-Ressourcen einer Organisation, z. B. Compute Engine-Instanzen oder Cloud Storage-Buckets.
In diesem Leitfaden erfahren Sie, wie Sie mit Security Command Center-Clientbibliotheken auf die verworfenen Datensätze zugreifen, die von Security Command Center für die Assets in einem Projekt oder einer Organisation verwaltet werden.
Security Command Center speichert Aufzeichnungen nur für einen Teil der Assets in Cloud Asset Inventory. Eine vollständige Liste der Assets in Ihrer Umgebung erhalten Sie mit Cloud Asset Inventory.
Hier finden Sie weitere Informationen:
Erteilungsebenen für IAM-Rollen
Die IAM-Rollen für Security Command Center können auf Organisations-, Ordner- oder Projektebene gewährt werden. Die Möglichkeit, Ergebnisse, Assets und Sicherheitsquellen anzusehen, zu bearbeiten, zu erstellen oder zu aktualisieren, hängt von der Ebene ab, auf die Ihnen Zugriff gewährt wurde. Weitere Informationen zu Security Command Center-Rollen finden Sie unter Zugriffssteuerung.
Hinweise
Bevor Sie eine Quelle einrichten, müssen Sie die folgenden Schritte ausführen:
Seitengröße
Alle Security Command Center-Listen-APIs sind paginiert. Jede Antwort gibt eine Seite mit Ergebnissen und ein Token zurück, um die nächste Seite zurückzugeben. Die Seitengröße kann konfiguriert werden. Die Standardseitengröße ist 10. Sie kann auf ein Minimum von 1 und maximal 1.000 festgelegt werden.
Ressourcentypen
Für das Attribut resourceType
in Security Command Center gilt eine andere Namenskonvention als für Cloud Asset Inventory. Eine Liste der Ressourcentypformate finden Sie unter Unterstützte Asset-Typen in Security Command Center.
Alle Assets auflisten
Diese Beispiele zeigen, wie alle Assets aufgelistet werden:
gcloud
Führen Sie den folgenden Befehl aus, um alle Assets in einem Projekt, einem Ordner oder einer Organisation aufzulisten:
gcloud scc assets list PARENT_ID
Ersetzen Sie PARENT_ID
durch einen der folgenden Werte:
- Eine Organisations-ID im folgenden Format:
ORGANIZATION_ID
(nur die numerische ID) - Eine Ordner-ID im folgenden Format:
folders/FOLDER_ID
- Eine Projekt-ID im folgenden Format:
projects/PROJECT_ID
Führen Sie den folgenden Befehl aus, um weitere Beispiele aufzurufen:
gcloud scc assets list --help
Beispiele in der Dokumentation finden Sie unter gcloud scc assets list.
Python
Java
Einfach loslegen (Go)
Node.js
Die Ausgabe für jedes Asset ist ein JSON-Objekt, das in etwa so aussieht:
asset:
createTime: '2020-10-05T17:55:14.823Z'
iamPolicy:
policyBlob: '{"bindings":[{"role":"roles/owner","members":["serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com","user:USER_EMAIL@gmail.com"]}]}'
name: organizations/ORGANIZATION_ID/assets/ASSET_ID
resourceProperties:
createTime: '2020-10-05T17:36:17.915Z'
lifecycleState: ACTIVE
name: PROJECT_ID
parent: '{"id":"ORGANIZATION_ID","type":"organization"}'
projectId: PROJECT_ID
projectNumber: 'PROJECT_NUMBER'
securityCenterProperties:
resourceDisplayName: PROJECT_ID
resourceName: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
resourceOwners:
- serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
- user:USER_EMAIL@gmail.com
resourceParent: //cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID
resourceParentDisplayName: ORGANIZATION_NAME
resourceProject: //cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER
resourceProjectDisplayName: PROJECT_ID
resourceType: google.cloud.resourcemanager.Project
securityMarks:
name: organizations/ORGANIZATION_ID/assets/ASSET_ID/securityMarks
updateTime: '2020-10-05T17:55:14.823Z'
Assets filtern
Ein Projekt, ein Ordner oder eine Organisation kann viele Assets haben. Im vorherigen Beispiel werden keine Filter verwendet, sodass alle Assets zurückgegeben werden. In Security Command Center können Sie Assetfilter verwenden, um Informationen zu bestimmten Assets abzurufen. Filter ähneln "where"-Klauseln in SQL-Anweisungen, außer dass sie statt für Spalten für die von der API zurückgegebenen Objekte gelten.
Die Beispielausgabe im vorherigen Beispiel zeigt einige Felder und Unterfelder sowie ihre Attribute, die in Asset-Filtern verwendet werden können. Security Command Center unterstützt vollständige JSON-Arrays und -Objekte als potenzielle Attributtypen. Sie können nach folgenden Kriterien filtern:
- Arrayelemente
- Vollständige JSON-Objekte mit partieller Stringübereinstimmung im Objekt
- Untergeordnete JSON-Objekt-Felder
Unterfelder müssen Zahlen, Strings oder boolesche Werte sein und Filterausdrücke müssen die folgenden Vergleichsoperatoren verwenden:
- Strings:
- Vollständige Gleichheit
=
- Teilstring, der mit
:
übereinstimmt
- Vollständige Gleichheit
- Zahlen:
- Ungleichungen
<
,>
,<=
,>=
- Gleichheit
=
- Ungleichungen
- Boolesche Werte:
- Gleichheit
=
- Gleichheit
In den folgenden Beispielen werden Assets gefiltert:
gcloud
Verwenden Sie den folgenden Befehl, um Assets zu filtern:
gcloud scc assets list PARENT_ID --filter="FILTER"
Ersetzen Sie Folgendes:
FILTER
durch den Filter, den Sie verwenden möchten. Der folgende Filter gibt beispielsweise nur Projektressourcen zurück:--filter="security_center_properties.resource_type=\"google.cloud.resourcemanager.Project\""
PARENT_ID
durch einen der folgenden Werte:- Eine Organisations-ID im folgenden Format:
ORGANIZATION_ID
(nur die numerische ID) - Eine Ordner-ID im folgenden Format:
folders/FOLDER_ID
- Eine Projekt-ID im folgenden Format:
projects/PROJECT_ID
- Eine Organisations-ID im folgenden Format:
Führen Sie den folgenden Befehl aus, um weitere Beispiele aufzurufen:
gcloud scc assets list --help
Beispiele in der Dokumentation finden Sie unter gcloud scc assets list.
Python
Java
Einfach loslegen (Go)
Node.js
Liste zu einem bestimmten Zeitpunkt
Die vorherigen Beispiele zeigen, wie eine aktuelle Gruppe von Assets aufgelistet wird. Mit Security Command Center können Sie auch einen historischen Snapshot von Assets aufrufen. In den folgenden Beispielen wird der Status aller Assets zu einem bestimmten Zeitpunkt zurückgegeben. Security Command Center unterstützt Millisekunden-Zeitlösungen.
gcloud
Verwenden Sie den folgenden Befehl, um Assets ab einem bestimmten Zeitpunkt aufzulisten:
gcloud scc assets list PARENT_ID --read-time="READ_TIME"
Ersetzen Sie Folgendes:
READ_TIME
durch die Zeit, zu der Assets aufgelistet werden sollen. Verwenden Sie das folgende Format:YYYY-MM-DDThh:mm:ss.ffffffZ
. Beispiel:--read-time="2022-12-21T07:00:06.861Z"
PARENT_ID
durch einen der folgenden Werte:- Eine Organisations-ID im folgenden Format:
ORGANIZATION_ID
(nur die numerische ID) - Eine Projekt-ID im folgenden Format:
projects/PROJECT_ID
- Eine Ordner-ID im folgenden Format:
folders/FOLDER_ID
- Eine Organisations-ID im folgenden Format:
Führen Sie den folgenden Befehl aus, um weitere Beispiele aufzurufen:
gcloud scc assets list --help
Beispiele in der Dokumentation finden Sie unter gcloud scc assets list.
Python
Java
Einfach loslegen (Go)
Node.js
Assets mit Statusänderungen auflisten
Mit Security Command Center können Sie ein Asset zu zwei Zeitpunkten vergleichen, um festzustellen, ob es im angegebenen Zeitraum hinzugefügt oder entfernt wurde oder vorhanden war. In den folgenden Beispielen werden Projekte, die am READ_TIME
vorhanden sind, mit einem früheren durch COMPARE_DURATION
angegebenen Zeitpunkt verglichen. COMPARE_DURATION
wird in Sekunden angegeben.
Wenn COMPARE_DURATION
festgelegt ist, wird das Attribut stateChange
in den Ergebnissen der Auflistung von Assets mit einem der folgenden Werte aktualisiert:
ADDED
: Das Asset war nicht zu Beginn voncompareDuration
, aber zureadTime
vorhanden.REMOVED
: Das Asset war zu Beginn voncompareDuration
, aber nicht zureadTime
vorhanden.ACTIVE
: Das Asset war sowohl am Anfang als auch am Ende des Zeitraums vorhanden, der durchcompareDuration
undreadTime
definiert ist.
gcloud
Verwenden Sie den folgenden Befehl, um den Status von Assets zu zwei Zeitpunkten zu vergleichen:
gcloud scc assets list PARENT_ID \ --filter="FILTER" \ --read-time=READ_TIME \ --compare-duration=COMPARE_DURATION
Ersetzen Sie Folgendes:
COMPARE_DURATION
durch eine Anzahl von Sekunden, die einen Zeitpunkt vor dem im Flag--read-time
angegebenen Zeitpunkt definiert. Beispiel:--compare-duration=84600s
FILTER
durch den Filter, den Sie verwenden möchten. Der folgende Filter gibt beispielsweise nur Projektressourcen zurück:--filter="security_center_properties.resource_type=\"google.cloud.resourcemanager.Project\""
PARENT_ID
durch einen der folgenden Werte:- Eine Organisations-ID im folgenden Format:
ORGANIZATION_ID
(nur die numerische ID) - Eine Projekt-ID im folgenden Format:
projects/PROJECT_ID
- Eine Ordner-ID im folgenden Format:
folders/FOLDER_ID
- Eine Organisations-ID im folgenden Format:
READ_TIME
durch die Zeit, zu der Assets aufgelistet werden sollen. Verwenden Sie dieses Format:YYYY-MM-DDThh:mm:ss.ffffffZ
. Beispiel:--read-time="2022-12-21T07:00:06.861Z"
Führen Sie den folgenden Befehl aus, um weitere Beispiele aufzurufen:
gcloud scc assets list --help
Beispiele in der Dokumentation finden Sie unter gcloud scc assets list.
Python
Java
Einfach loslegen (Go)
Node.js
Beispiele für Filter
Im Folgenden finden Sie einige weitere nützliche Asset-Filter: Sie können AND
und OR
in Filtern verwenden, um Parameter zu kombinieren und Ergebnisse zu maximieren oder zu verfeinern.
Projekt-Assets mit einem bestimmten Inhaber finden
"security_center_properties.resource_type = \"google.cloud.resourcemanager.Project\" AND security_center_properties.resource_owners : \"$USER\""
$USER
hat normalerweise das Format user:someone@domain.com
. Für den Vergleich von user
wird der Teilstringoperator :
verwendet. Eine genaue Übereinstimmung ist nicht erforderlich.
Firewallregeln mit offenen HTTP-Ports
"security_center_properties.resource_type = \"google.compute.Firewall\" AND resource_properties.name =\"default-allow-http\""
Ressourcen, die zu bestimmten Projekten gehören
"security_center_properties.resource_parent = \"$PROJECT_1_NAME\" OR security_center_properties.resource_parent = \"$PROJECT_2_NAME\""
$PROJECT_1_NAME
und $PROJECT_2_NAME
sind Ressourcenkennungen in der Form //cloudresourcemanager.googleapis.com/projects/$PROJECT_ID
, wobei $PROJECT_ID
die Projektnummer ist. Ein vollständiges Beispiel wäre //cloudresourcemanager.googleapis.com/projects/100090906
.
Compute Engine-Images suchen, deren Namen einen bestimmten String enthalten
Dieser Filter gibt Compute Engine-Images zurück, die einen Teilstring "Debia" enthalten:
"security_center_properties.resource_type = \"google.compute.Image\" AND resource_properties.name : \"Debia\""
Ressourcen, deren Attribute Schlüssel/Wert-Paare enthalten
Dieser Filter gibt Cloud Storage-Buckets zurück, bei denen bucketPolicyOnly
deaktiviert ist. Der Wert von resourceProperties.iamConfiguration
wird als String codiert. Mit dem Zeichen \
maskieren Sie Sonderzeichen in Strings, einschließlich des Operators :
zwischen Schlüsselname und Wert.
"resourceProperties.iamConfiguration:"\"bucketPolicyOnly\"\:{\"enabled\"\:false""
Projekt-Assets suchen, die zu einem bestimmten Zeitpunkt oder vor einem bestimmten Zeitpunkt erstellt wurden
Diese Beispielfilter stimmen mit Assets überein, die am oder nach dem 18. Juli 2019 um 20:26:21 Uhr (GMT) erstellt wurden. Mit dem Filter create_time
können Sie die Zeit in den folgenden Formaten und Typen angeben:
Unix-Zeit (in Millisekunden) als Ganzzahlliteral
"create_time <= 1563481581000"
RFC 3339 als String-Literal
"create_time <= \"2019-07-18T20:26:21+00:00\""
Assets aus Ergebnissen ausschließen
Wenn Sie ein Asset aus den Ergebnissen ausschließen möchten, fügen Sie vor einem Parameter ein -
-Zeichen ein. Der Vorgang ähnelt der Verwendung des NOT-Operators in einer SQL-Anweisung.
Dieser Filter gibt alle Projektressourcen außer Debia
zurück:
"security_center_properties.resource_type = \"google.cloud.resourcemanager.Project\" AND -resource_properties.projectId = \"Debia\""
Nächste Schritte
Mit einem SDK auf Security Command Center zugreifen