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 verworfene Einträge, die Security Command Center für die Assets in für ein Projekt oder eine Organisation.
Security Command Center speichert nur Einträge für einen Teil der Assets in Cloud Asset Inventory verwenden. Die vollständige Liste der Assets in Ihrer Umgebung Cloud Asset Inventory verwenden, um Assets aufzulisten.
Hier finden Sie weitere Informationen:
Berechtigungsstufen für IAM-Rollen
IAM-Rollen für Security Command Center können auf Organisations-, Ordner- oder Projektebene gewährt werden. Ihre Fähigkeit, Ergebnisse, Assets, und Sicherheitsquellen hängen von der Zugriffsebene ab. Weitere Informationen über 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
In diesen Beispielen wird gezeigt, wie alle Assets aufgelistet werden:
gcloud
Führen Sie den folgenden Befehl aus, um alle Assets in einem Projekt, 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 finden Sie in der Dokumentation unter gcloud scc assets list.
Python
Java
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. Das vorangehende werden in diesem Beispiel Filter, 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
- Nummern:
- Ungleichungen
<
,>
,<=
,>=
- Gleichheit
=
- Ungleichungen
- Boolesche Werte:
- Gleichheit
=
- Gleichheit
In den folgenden Beispielen werden Assets gefiltert:
gcloud
Filtern Sie Assets mit dem folgenden Befehl:
gcloud scc assets list PARENT_ID --filter="FILTER"
Ersetzen Sie Folgendes:
FILTER
durch den Filter, den Sie verwenden möchten. Beispiel: gibt der folgende Filter 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 finden Sie in der Dokumentation unter gcloud scc assets list.
Python
Java
Go
Node.js
Zu einem bestimmten Zeitpunkt auflisten
Die vorherigen Beispiele zeigen, wie die aktuellen Assets einer Organisation aufgelistet werden. Mit Security Command Center können Sie auch einen Verlauf der Assets ansehen. In den folgenden Beispielen wird der Status aller Assets zurückgegeben zu einem bestimmten Zeitpunkt geschaltet werden. Security Command Center unterstützt Millisekunden-Zeitlösungen.
gcloud
Mit dem folgenden Befehl können Sie Assets zu einem bestimmten Zeitpunkt auflisten:
gcloud scc assets list PARENT_ID --read-time="READ_TIME"
Ersetzen Sie Folgendes:
READ_TIME
mit der Zeit, zu der Assets aufgeführt 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 finden Sie in der Dokumentation unter gcloud scc assets list.
Python
Java
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. Die
In den folgenden Beispielen werden Projekte, die unter READ_TIME
vorhanden sind, mit einem früheren Projekt verglichen
Zeitpunkt, der durch COMPARE_DURATION
angegeben wird. 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
Mit dem folgenden Befehl können Sie den Status von Assets zu zwei Zeitpunkten vergleichen:
gcloud scc assets list PARENT_ID \ --filter="FILTER" \ --read-time=READ_TIME \ --compare-duration=COMPARE_DURATION
Ersetzen Sie Folgendes:
COMPARE_DURATION
durch die Anzahl der Sekunden, definiert einen Zeitpunkt vor der in der--read-time
-Flag. Beispiel:--compare-duration=84600s
FILTER
durch den Filter, den Sie verwenden möchten. Beispiel: gibt der folgende Filter 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 den Zeitpunkt, zu dem Assets aufgelistet werden sollen. Verwenden Sie im folgenden Format:YYYY-MM-DDThh:mm:ss.ffffffZ
Beispiel: Weitere Beispiele erhalten Sie mit dem folgenden Befehl:--read-time="2022-12-21T07:00:06.861Z"
gcloud scc assets list --help
Beispiele finden Sie in der Dokumentation unter gcloud scc assets list.
Python
Java
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
Weitere Informationen über Auf Security Command Center über eine Clientbibliothek zugreifen