En esta guía, se explica cómo crear y actualizar resultados con la API de Security Command Center.
Antes de comenzar
Antes de crear y actualizar los resultados, debes completar lo siguiente:
Para completar esta guía, debes tener la certificación Seguridad de Identity and Access Management (IAM)
Editor de hallazgos de Center (securitycenter.findingsEditor
) en
de organización. Para obtener más información sobre los roles de Security Command Center, consulta Control de acceso.
Si deseas crear resultados con marcas de seguridad, también debes tener una función de IAM que incluya permisos para el tipo de marca que deseas usar:
- Escritor de marcas de seguridad de activos (
securitycenter.assetSecurityMarksWriter
) - Escritor de marcas de seguridad de resultados (
securitycenter.findingSecurityMarksWriter
)
Para obtener más información sobre las marcas, consulta Usa marcas de seguridad de Security Command Center.
Crea un resultado
Crea un resultado activo para una fuente.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME --resource-name $RESOURCE_NAME
Para obtener más ejemplos, ejecuta lo siguiente:
gcloud scc findings create --help
Python
Java
Go
Node.js
Para obtener información sobre durante cuánto tiempo se almacenan los datos de resultados en Security Command Center, lee Retención de resultados.
Crea un resultado con propiedades fuente
Security Command Center permite que las fuentes agreguen contexto a los resultados mediante metadatos clave-valor llamados “Propiedades de la fuente”. Las propiedades de la fuente se pueden inicializar en el momento de la creación. En el siguiente ejemplo, se muestra cómo crear un resultado con propiedades de la fuente.
Crea un resultado con propiedades de la fuente. La longitud de los nombres de clave en el mapa source_properties
debe tener entre 1 y 255 caracteres y debe comenzar con una letra y contener solo caracteres alfanuméricos o guiones bajos
Security Command Center solo admite valores de booleanos, números y de strings.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T07:00:06.861Z STATE=ACTIVE CATEGORY=MEDIUM_RISK_ONE SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=value RESOURCE_NAME=//cloudresourcemanager.googleapis.com/projects/PROJECT_ID gcloud scc findings create $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --category $CATEGORY \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE --resource-name $RESOURCE_NAME
- Se pueden agregar más propiedades de la fuente con una lista de pares clave-valor separados por comas.
Para obtener más ejemplos, ejecuta lo siguiente:
gcloud scc findings create --help
Python
Java
Go
Node.js
Actualiza las propiedades de un resultado
En este ejemplo, se muestra cómo actualizar las propiedades de la fuente individuales y la hora del evento. Usa máscaras de campo para actualizar solo campos específicos. Sin las máscaras de campo, los valores nuevos reemplazan todos los campos mutables del resultado.
Al igual que cuando se crea un nuevo resultado, los nombres de clave en el mapa source_properties
deben tener entre 1 y 255 caracteres y deben comenzar con una letra y contener solo caracteres alfanuméricos o guiones bajos. Security Command Center solo admite valores de booleanos, números y de strings.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T08:00:06.861Z SOURCE_PROPERTY_KEY=gcloud_client_test SOURCE_PROPERTY_VALUE=VALUE UPDATE_MASK=source_properties,event_time gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --event-time $EVENT_TIME \ --source-properties $SOURCE_PROPERTY_KEY=$SOURCE_PROPERTY_VALUE \ --update-mask=$UPDATE_MASK
- Usa -update-mask " (vacío) para anular todos los campos mutables.
- Se pueden agregar más propiedades de la fuente con una lista de pares clave-valor separados por comas.
Para obtener más ejemplos, ejecuta lo siguiente:
gcloud scc findings update --help
Python
Java
Go
Node.js
Actualiza el estado de un resultado
Security Command Center también proporciona una API para actualizar solo el estado de un resultado. Esta API existe para proporcionar un medio de actualización solo el estado de un resultado. Es una API simple que también permite que los principales de permiso solo puedan modificar el estado y no otro aspecto de un resultado. En el siguiente ejemplo, se muestra cómo cambiar el estado de un resultado a inactivo.
gcloud
# ORGANIZATION=12344321 # SOURCE=43211234 # FINDING_ID=testfindingid # EVENT_TIME follows the format YYYY-MM-DDThh:mm:ss.ffffffZ EVENT_TIME=2019-02-28T09:00:06.861Z STATE=INACTIVE gcloud scc findings update $FINDING_ID \ --source $SOURCE \ --organization $ORGANIZATION \ --state $STATE \ --event-time $EVENT_TIME
Para obtener más ejemplos, ejecuta lo siguiente:
gcloud scc findings update --help
Python
Java
Go
Node.js
Verifica los permisos de los resultados
Para crear y actualizar resultados, se necesita uno de los siguientes permisos de IAM:
- Crea y actualiza resultados:
securitycenter.findings.update
- Solo actualiza los resultados:
securitycenter.findings.setState
.
Si no puedes crear resultados para una fuente, usa el siguiente código a fin de confirmar que tu cuenta tiene los permisos necesarios que se indican en la sección Antes de comenzar. Si no tienes los permisos necesarios, consulta Crea y administra fuentes de seguridad para configurar las políticas de IAM adecuadas.
Python
Java
Go
Node.js
¿Qué sigue?
Obtén más información para acceder a Security Command Center con bibliotecas cliente.